لا تحتاج إلى اختبارات الوحدة

نعم ، لقد سمعت جيدًا - هذا صحيح! في مجتمع تكنولوجيا المعلومات ، هناك رأي راسخ بأن كل هذه الاختبارات تساعدك بطريقة ما ، ولكن هل هذا حقًا كذلك؟ هل حاولت التفكير بشكل نقدي وتحليل هذه الحكمة التقليدية بنفسك؟ يأتي محبو موسيقى الجاز بمجموعة من النماذج - TDD و BDD و SDA وشرطة المرور - فقط لخلق وهم النشاط المحموم وتبرير رواتبهم بطريقة ما. لكن فكر فيما سيحدث إذا بدأت (أو المبرمجون) في تكريس كل وقتك حصريًا لكتابة الكود؟ هناك منطقة منفصلة للاختبار وأقسام كاملة. أنت لا تجبر المبرمجين على كتابة المتطلبات ، أليس كذلك؟ فلماذا يكتبون الاختبارات؟ كل من يوافقون ويختلفون ، يرجى الدخول إلى المنشور ، حيث سأريكم بوضوح أن اختبارات الوحدة (والتكامل) شر عظيم!





من أين أتت الاختبارات؟

في العصور القديمة ، لم يكن هناك اختبار على الإطلاق. لم يكن هناك حتى مثل هذا الاتجاه ، ناهيك عن مصطلحات مثل اختبار الكتلة (الوحدة) والتكامل. وحول جميع أنواع e2e و ، سامحني الله ، خطوط الأنابيب ، أنا أسكت عمومًا. وكل هذا لأنه ، في الواقع ، لم يكن هناك شيء لاختباره بعد. في تلك السنوات ، كان مهندسو البرمجيات يحاولون فقط إنشاء أجهزة الكمبيوتر الأولى.





كما نعلم جميعًا ، كانت أجهزة الكمبيوتر الأولى ضخمة الحجم ، ووزنها عشرات الأطنان ، وتكلفتها أكثر من Apple MacBook Pro Retina 4k 32Gb RAM 1Tb SSD Touch Bar USB Type-C. وفي تلك الأيام ، كان المطورون يخشون حقًا أن يحدث خطأ ما أثناء العمل. أعتقد أنك تعرف تاريخ أصل مصطلح "حشرة" - إذا لم يكن الأمر كذلك فجأة ، فقم بقراءته ، فهو مثير جدًا للاهتمام. وبما أن المبرمجين كانوا خائفين من كل شيء ، فقد توصلوا إلى اختبار الوحدة.





لقد تغير الزمن ، وتغيرت أجهزة الكمبيوتر أيضًا. لقد تغير الاختبار أيضًا. بالإضافة إلى اختبارات الوحدة ، ظهرت أيضًا منطقة بأكملها ، والتي أصبحت تُعرف فيما بعد باسم ضمان الجودة.





لكن المطورين تغيروا أيضًا. في الوقت الحاضر ، يصبح من السخف الاعتقاد بأن شخصًا ما يخشى تشغيل برنامج ، لأن هذا قد يؤدي إلى اشتعال الخادم. في عام 2020 ، لا يخشى المبرمجون إطلاق برامجهم. وإذا لم يكن هناك خوف فلماذا تختبر؟





الحقائق الحديثة

أكرر سؤالي - إذا لم ينفجر جهاز MacBook (أو Xiaomi) بسبب خلل في الكود ، فلماذا تختبر إذن؟ أنت فقط تطلق واستمتع بالنتيجة. توقع سخطك بسبب التكلفة العالية للأخطاء التي يتعرض لها العميل - دع الأشخاص المدربين بشكل خاص يقومون بالاختبار.





. , . - . . -, Quality Assurance – , ¯\_(ツ)_/¯





, Software Development, Unmistakable Development. .





-, : «, , ». ? ? 





. – . . , , , ?





: « » - . 





, master, , . pull request , – . , , .









  1. , .





  2. , . , , , , . , -, .





  3. .





– . – . ? .





, . , . , . , .





, , . , QA , . , – , .





– . .





Unit-testing, Integration Testing, End 2 End, Pipelines, CI, CD – , ? , , .





. , , e2e , . – .





- CI CD – . devops, . - , - , – .





. , – . – . – bash. … , .





Delivery In Time

: DIT – Delivery In Time. ( ****), . . , , . DIT , – , . , . , : – , – , . , , .





DIT . , ( ), . . , , Quality Assurance . .





:





– ?

– .

– .

– … , 1000 .





. , . 





, DIT , , . , . - (, , , ), .





: – , . - , , , . .





, . .





- , (, , ) . , , - . , ? , , .





. , . , – . , , , .





. , , . , ? , , , ? , . , - . – .





. (, 2 ) – . , , . , , . . .





, ? . . , .





. . – , – . - , . , . .





!





, , :)





, . , . , . , , 15%. . , .





? / 80%? - 30? – , ?





, . , , :)





وانتهز هذه الفرصة: إذا أعجبك هذا التنسيق ، فأنا أدعوك إلى مدونتي الخاصة بمطور سيء (غالبًا ما يكذب) VK العام ، حيث أنشر من وقت لآخر منشورات ساخرة مماثلة ، والتي غالبًا ما تكون غير ملائمة للنشر هنا.












All Articles