يعتبر الكثيرون أن الاختبار على بيئات الإنتاج ممارسة ضارة: فهي لا تساعد في منع المشكلات من الوصول إلى المستخدمين النهائيين ، ولكنها تنص على أنها موجودة. بالإضافة إلى ذلك ، يتم فصل جهاز الاختبار عن سير العمل القياسي والتقنيات المستخدمة في بيئة الاختبار. اسمي أوليا ميخالشوك ، أنا مهندس ضمان الجودة في شركة Fin Finance ID. في هذا المنشور سوف أشرح لماذا يمكن للاختبار على همز أن يساعد مشروعك بشكل كبير.
لماذا تحتاج إلى ضمان الجودة على المنتج ، إذا كانت هناك بيئة ما قبل الإنتاج
أثناء عملية تطوير البرنامج ، هناك دائمًا العديد من البيئات التي يتم نشر التطبيق عليها. البيئة التي يستخدمها المستخدمون ، كما تعلمون ، تسمى الإنتاج. عادةً ما يُفترض إجراء الاختبار في بيئة منفصلة ، غالبًا في بيئة ضمان الجودة أو التدريج (ما قبل prod) ، لمنع الأخطاء من الوصول إلى المستخدمين. ولكن هناك تقنية مثل QA on prod ، والتي تساعد تمامًا في حل المشكلات التي يتعذر حلها فعليًا في بيئة اختبار.

ما المهام لا QA على مساعدة همز
1. مشكلة الاختلافات بين بيئات التدريج والإنتاج.
غالبًا ما يتم اعتبار التدريج نسخة من بيئة الإنتاج ، والتي يتعذر الوصول إليها للمستخدمين النهائيين ، ولكنها تشبه إلى حد كبير البيئة القتالية. عندما يكون التطبيق معقدًا تمامًا ، تصبح مزامنة هذه النسخة المصغرة وصيانتها مهمة تستغرق وقتًا طويلاً وليست دائمًا عقلانية.
على سبيل المثال ، في مشروعنا ، يتم استخدام ما قبل prod للاختبار الوظيفي في سيناريوهات الاختبار المصنوعة يدويًا. ليس لديها موارد تقنية مماثلة لبيئة الإنتاج. أيضًا ، عادةً لا نقوم بمزامنة التكوينات وقواعد البيانات تمامًا مع بيئة الإنتاج ، والتي لا تتداخل مع الاختبارات الوظيفية. لماذا لا ننسخ البيئة همز؟ تخيل كم من الموارد ستحتاج إلى إنشاء نسخة من ، على سبيل المثال ، Facebook ، مع نفس الخوادم والخدمات وقواعد البيانات والتكوينات القوية للغاية كما هو الحال في الإنتاج. هذه هي في الواقع كيفية نشر تطبيق آخر من نفس النوع.
بالإضافة إلى ذلك ، عند الدمج مع خدمات الجهات الخارجية ، يكون لديك دائمًا إعدادات مختلفة لبيئات الاختبار والقتال (نفس واجهة برمجة التطبيقات). أنا لا أقول أن بيئات الاختبار والتدريج لا طائل من ورائها. من غير الممكن ضمان 100٪ أنه عند الانتهاء بنجاح من اختبارات معينة على بيئة ما ، لن تقع الخدمات على بيئة أخرى. يمكن أن يساعد الاختبار الإضافي للإنتاج في حل هذه المشكلة.
2. مستويات حقيقية من تعدد المهام والحمل.
لا يمكن اكتشاف بعض الأخطاء إلا تحت مستوى طويل وحقيقي من المهام المتعددة وعبء العمل. وهذا ينطبق على تسرب الذاكرة والاستقرار والسرعة والاستقرار للنظام. على سبيل المثال ، كان لدينا موقف عندما نشأت مشكلة أداء النظام بسبب حقيقة أنه تم تنفيذ مهمتين كثيفتي الموارد في نفس الفترة الزمنية. قام المطورون بتحسين عمل المهام ، وقام الفريق بإجراء اختبارات على بيئة ما قبل الإنتاج ، وقام بإجراء التغييرات ، ثم قام بفحص الإنتاج.
3. أخطاء النشر
من التعريف ، يكون النشر هو التثبيت من قبل مجموعة عمل لإصدار جديد من رمز برنامج الخدمة في البنية التحتية للإنتاج. وفقًا لذلك ، فإن أفضل طريقة لرؤية أخطاء النشر هي من خلال الاختبار في عملية النشر نفسها.
4. عدم وجود مراقبة على ما قبل همز
إحدى أفضل الطرق التي لا غنى عنها للتحكم في عمل التطبيق كما نتوقع هي مراقبة بعض المقاييس. على سبيل المثال ، من الأمثلة البسيطة والأكثر أهمية: مراقبة عدد تسجيلات المستخدمين الجدد في الساعة ، والتحويل من إجراء مستهدف إلى آخر ، وعدد القروض الصادرة. بالطبع ، هذا الرصد منطقي في بيئة قتالية فقط.
5. القدرة على تحليل سيناريوهات المستخدم النهائي لاستخدام النظام
الإنتاج - مخزن الحالات اختبار للاختبار. إذا كان ذلك ممكنًا ، يمكن للاختبار رؤية النصوص البرمجية المستخدمة من قبل المستخدمين النهائيين ومعالجتها ، ويمكن للاختبار تحديد السيناريوهات الأكثر أهمية ، أو معرفة سبب الخلل ، أو الانتباه إلى الحالات غير التافهة عند الاختبار على ما قبل الاختبار.
6. القدرة على الحفاظ على إحصاءات أكثر موثوقية ومقاييس جودة البرمجيات.
على سبيل المثال ، عدد الأخطاء في سجلات التطبيق أو المكون وتقارير الأخطاء والتقارير الأخرى التي يمكن أن يقوم بها المحترف ، توضح بشكل أكثر واقعية جودة البرنامج مقارنةً بنفس التقارير من بيئة الاختبار.
7. من الأفضل دائمًا أن يلاحظ اختبار الخطأ الخاص بك عن المستخدم النهائي.
عادة ، بعد تسليم المهمة ، يقوم الفاحص بإجراء فحوصات أساسية للوظيفة الجديدة أو المتغيرة على المنتج. بالإضافة إلى ذلك ، لدينا شخص منفصل في شركتنا - اختبار على همز. أريد أن أشير مرة أخرى إلى أنني لا أضع ضمان الجودة على همز كبديل للاختبار في مرحلة ما قبل الإنتاج ، وبطبيعة الحال ، من الضروري منع الأخطاء واتخاذ تدابير وقائية. ولكن يمكن أن يكون مثل هذا الاختبار تقنية إضافية رائعة في عملية ضمان الجودة في مشروعك.
ممارسات ضمان الجودة المفيدة على الإنتاج التي تعمل بفعالية على مشروعنا1. التحقق من المهام التي تم تسليمها للتأكد من أنها راسخة وتعمل في بيئة جديدة.
على سبيل المثال ، عندما نقدم التكامل مع شريك جديد ، بالإضافة إلى الاختبارات على ما قبل الاختبار ، سنقوم بالتأكيد بالتحقق من التكامل بعد التسليم ، لأن هناك الكثير من الإعدادات حسب البيئة (API ، عناوين URL ، المكونات). هناك أيضًا مشكلات خاصة بالأطراف الثالثة - الأخطاء ليست في صالحنا ، ولكن في جانب الخدمات المتكاملة.
2. تسجيل ومراجعة الحسابات.
يساعد التسجيل الجيد المطورين والمختبرين على ملاحظة وجود مشكلة حتى قبل أن يخمنها المستخدم النهائي ، وكذلك الأماكن التي تحتاج إلى التحسين. تسمح لنا مراجعة الإجراءات والتغييرات دائمًا بمعرفة أسباب سلوك معين دون أي مشاكل. على سبيل المثال ، إذا تعذر على أحد مكونات السياسة الائتمانية إصدار قرار بشأن قرض ، لتحليل سبب حدوث ذلك ، فإننا ننتقل أولاً إلى السجلات. ينطبق هذا البند على كل من بيئات الإنتاج وما قبل الإنتاج.
3. نظام الرصد والتنبيه
كما ذكرت أعلاه ، فإن المراقبة من خلال مقاييس معينة هي واحدة من أفضل الطرق للتحكم في أن كل شيء على ما يرام مع طلبنا. علاوة على ذلك ، إذا كانت هناك أي مشكلة ، فيجب عليك إرسال تنبيه إلى الأطراف المعنية (على سبيل المثال ، يكون عدد طلبات القروض أقل بنسبة 20٪ - سنرسل تنبيهًا إلى أقسام تكنولوجيا المعلومات والأعمال ، ويكون حمل وحدة المعالجة المركزية أعلى من المعدل العادي - لإخطار المسؤولين والعذارى). من الضروري التأكد من أن التنبيهات المتعلقة بالمشاكل تأتي في الوقت المناسب وذات صلة ، وكذلك الإشارة إلى المشكلة بالفعل.
4. الانحدار والاستقرار الاختيار
الممارسة الجيدة هي إجراء اختبارات الانحدار بشكل دوري للتأكد من عدم حدوث أي خطأ في أي مكان. يمكن أن يساعد في بعض الحالات الضيقة والمحددة عندما لا ترى المراقبة مشاكل.
5. التقارير والإحصاءات
كما هو الحال في أي اختبار ، فإن التقارير والإحصائيات المتعلقة بنتائج اختبار prod تجعل العملية أكثر شفافية ، وجودة البرنامج وأسباب العيوب أكثر وضوحًا.
لا يمكن اكتشاف جميع الأخطاء في مرحلة ما قبل الاختبار ، لذلك ستقع في بيئة القتال. إذا وجدها المستخدمون ، فسيؤثر ذلك على سمعة الشركة وفي النهاية على خسارة المال. سوف اختبار على همز مساعدة في منع هذا.