هل يحتاج مشروعك بالفعل إلى اختبارات؟
مرحبا بالجميع! اسمي IT Bruise!

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

- ولماذا نحتاج الاختبارات؟
و ردا على ذلك يبدأ عضو البرميل عن أهميتها. كما هو الحال في البنوك ، كل ساعة ينهار فيها الموقع ، يكلف ذلك مائة ألف دولار ولديهم كل الفرص لإيجاد خلل يستحق وزنه بالذهب ، وبالتالي يتم تغطية كل شيء صعوداً وهبوطاً مع الاختبارات!
لكنني لست مستاء من الأسئلة:
- ولدينا موقع على شبكة الإنترنت لتأجير الشقق ، وهناك عدد قليل جدا من المستخدمين ، لماذا نحن في حاجة إليها؟
أدرك Lead أنه لا يستطيع التسكع وقرر شرح كيف تسير الأمور:
- تذكر أنه عندما يتم تسجيل مالك جديد على الموقع ويشير إلى أنه من يكاترينبورغ ، فإننا نقدم له لملء استبيان.
- نعم ، النموذج الذي ننساه دائمًا عندما نقوم بتحرير الإدخال على الموقع ثم يقوم المختبرون بفتح المهمة لنا بشكل متكرر
- هذا صحيح ، ولهذا السبب أكتب اختبارات لهذا النموذج ، عندما تقوم بتشغيل الالتزام ، سيتم إجراء الاختبارات على CI وستتلقى خطابًا يفيد بأنك خرقت الاستبيان. وأنت ، بينما لا تزال في السياق ، ستقوم بتصحيح كل شيء. نتيجة لذلك ، من الأسهل بالنسبة لك وفريق الاختبار توفير الوقت لإعادة فتح البطاقة.

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

- بالضبط! - هتف الشاب بروج. - أتذكر كيف كان الشباب من فريق الاختبار سعداء بذلك ، لم أفهم أهمية اللحظة ... وأو و ... آخر شيء لا أستطيع فهمه هو ، لماذا احتجت إلى Storybook للاختبار ، كيف يرتبط هذا بشكل عام؟
- كل شيء بسيط هنا ، لدينا تقويم لاختيار التواريخ ، ويمكن أن يكون مختلفًا ، أو فقط لاختيار تاريخ أو تاريخ ووقت ، أو اختيار نطاق تاريخ. بالضبط نفس المجموعة من التقويمات مع تصميم مختلف تستخدم في لوحة الادارة. إذا أضفنا سمة داكنة هنا ، فلدينا بالفعل حوالي 10 أنواع من التقويم الواحد.

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

- يبدو مثل تكنولوجيا النانو ، قارن بين صورتين ، سأذهب بسرعة لنرى كيف يعمل! صرخت بروج الصغيرة بحماس.
هكذا قابلت الاختبارات. في ذلك اليوم ، أدركت أن أي مشروع حرفيًا يمكن تغطيته بالاختبارات. لأنه في أي مشروع قد نسي الله الصفحات ، وإعادة استخدامها من قبل UiKit وبالطبع الوظيفة الرئيسية التي تجلب المال.
فكر في الأمر ، إذا توقف youtube فجأة عن إعطائك مقاطع فيديو مثيرة للاهتمام أو بدأ راديو Yandex في تقديم موسيقى الروك بدلاً من موسيقى الهيب هوب ، وسيظهر أشخاص غير مألوفين تمامًا في خلاصة Instagram. كل هذا يمكن تغطيته بالاختبارات والهدوء مع كل إصدار.