نظرا لأن التطوير السريع أصبح هو المعتاد الجديد ، فقد أدى التسليم المتكرر للخدمات المحسنة إلى تحويل نماذج العمليات التجارية. السؤال هو لماذا؟ حسنا ، الإجابة البسيطة هي اكتساب العملاء والاحتفاظ بهم من خلال توفير منتجات أو خدمات عالية الجودة في الوقت المناسب لتلبية احتياجات العملاء سريعة التطور. السؤال التالي هو ، هل يضر بالجودة؟ الإجابة المختصرة هي “اختبار الأداء”. مرة أخرى ، لماذا تستثمر في الاختبار عندما يمكن أن يؤخر إصدار البناء؟ حسنا ، هذه ليست مقايضة كبيرة ، لأن الاختبار هو العمود الفقري للجودة الذي بدونه سينهار الغرض الكامل من Agile. هذا هو السبب في إدخال أدوات وتقنيات اختبار أكثر ذكاء. اختبار الكناري ل يكتسب اختبار الأداء قوة دفع هذه الأيام.

اليوم ، يتم تقديم مثل هذا المستوى من التنوع للمستخدمين في التطبيقات بحيث يمكن أن يسبب لك حتى 5 ثوان تأخير في وقت تحميل موقع الويب ووقت الاستجابة أعلى من ثماني ثوان خسارة كبيرة. على سبيل المثال ، في عام 2013 ، جعل توقف Google لمدة 5 دقائق فقط الشركة تخسر ما يقرب من 545000 دولار. وبالمثل ، في يناير 2016 ، تسبب تحديث البرنامج في توقف منظم الحرارة Nest عن العمل وترك العديد من المستخدمين باردين ، والذين صرخوا لاحقا حول المشكلة على وسائل التواصل الاجتماعي. أيضا ، منذ وقت ليس ببعيد تسبب انقطاع Amazon Web Service في خسارة مبيعات الشركات بقيمة 1100 دولار في الثانية.

دعونا نلقي نظرة على اختبار الكناري ومعناه وفوائده وسلبياته ، حتى نتمكن من تبرير أهميته.

اختبار تحميل JMeter مع LoadView

من الإعداد إلى تنفيذ الاختبار في دقائق معدودة.

ما هو اختبار الكناري؟

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

 

استراتيجية الطرح

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

 

استراتيجية التراجع

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

 

من هم المستخدمون المحددون؟

السؤال التالي هو من هم المستخدمون المتأثرون بتحديث البرنامج الخاص بك؟ حسنا ، هناك طرق مختلفة لاتخاذ قرار بشأن مستخدمي الكناري ، مثل:

  • يمكن أن يكونوا فرق الاختبار الداخلية أو الموزعة عن بعد
  • من منطقة معينة، في حالة المستخدمين الموزعين جغرافيا
  • العلامة التجارية الواحدة أولا، في حالة تعدد العلامات التجارية

 

أفضل تطبيق لاختبار الكناري الذي يمكن الاستشهاد به هو Facebook. يعمل Facebook مع استراتيجية “الكناري المتعددة”. يتعرض الموظفون الداخليون فقط أولا للتغييرات الجديدة مع تشغيل جميع مفاتيح تبديل الميزات للكشف عن المشكلات مبكرا.

 

ما هي فوائد اختبار الكناري

لا يمكنك قياس فوائد شيء ما لم يكن لديك شيء آخر لمقارنته به. لذلك ، نعم ، غالبا ما يتم الخلط بين اختبار الكناري واختبار A / B واختبار الأزرق والأخضر. ومع ذلك ، فهو الأفضل في كلا العالمين. دعونا نرى لماذا.

 

اختبار A / B

من خلال التنفيذ ، يشبه اختبار A / B اختبار الكناري. يتم تزويد 50 بالمائة من المستخدمين بنسخة مطورة من التطبيق مع ميزة جديدة “B”. يستمر ال 50 بالمائة المتبقون من المستخدمين في استخدام ميزة خط الأساس “A”. ثم تتم مراقبة نتائج إصدار الميزة لمراقبة نتائج عكس التوقعات. ومع ذلك ، فإن تركيز A / B هو معرفة مدى فائدة الميزة للعملاء. بينما يتم إجراء اختبار الكناري للتخفيف من المخاطر.

 

النشر الأزرق والأخضر

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

يمكننا أن نستنتج أن اختبار الكناري هو الأفضل في كلا العالمين ، أي اختبار A / B ، والنشر الأزرق والأخضر. يمكن سرد فوائد نهج نشر الكناري وصولا إلى:

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

 

نشر الكناري و LoadView

يمكنك تحقيق أفضل النتائج لاختبار الأداء دون المساس بتجربة المستخدم للجماهير. كل ما تحتاجه هو ممارسة نشر الكناري وأداة اختبار ممتازة تدعم مقاييس اختبار الأداء. باستخدام نهج الكناري ، يمكن أتمتة تنفيذ حالات اختبار الأداء بمساعدة حل متقدم مثل LoadView. قد يبدو هذا مربكا ومعقدا. ولكن دعونا نحاول فهمها بمساعدة مثال. على سبيل المثال ، يقوم Netflix ، وهو تطبيق من صفحة واحدة (SPA) ، بتطوير ميزة جديدة وإصدارها لمستخدمي الكناري (7,50,000 ، أي 5 في المائة من 15 مليون ؛ استنادا إلى إحصائيات 2020).

الآن ، لا يمكن لأي فريق DevOps مراقبة هذا العدد الهائل من المستخدمين يدويا. وبالتالي ، يعمل LoadView كعصا سحرية ، لأنه يمكن DevOps وفرق الاختبار من تدوير مئات إلى آلاف المستخدمين المتزامنين لتحميل واختبار الإجهاد ضد تطبيقاتهم ، ومعرفة كيفية أداء تطبيقاتهم تحت هذا الحمل المطبق.

علاوة على ذلك ، ما يجعل LoadView ، مع أداة البرمجة النصية EveryStep Web Recorder ، خيارا مقنعا هو أنه يدعم SPA لاختبار التحميل . يعتمد منطق SPA على تقنية JavaScript التي لا تدعمها العديد من الأدوات ، مثل JMeter على سبيل المثال. يعمل JMeter فقط على مستوى البروتوكول ، وليس المتصفح ، لذلك يتم استبعاد الكثير من الأداء من جانب العميل من نتائج اختبار الأداء. باستخدام مسجل EveryStep ، أصبح إنشاء سيناريوهات ومسارات المستخدم أمرا سهلا ويستخدم متصفحات حقيقية. ما عليك سوى تسجيل المسار وإعداد سيناريو الاختبار الخاص بك. انها حقا بهذه السهولة.

 

تحديات نشر / اختبار الكناري

كل عملة لها وجهان. قد يقول البعض أن منهجية نشر / اختبار الكناري لها سلبياتها ، ولكن من الأنسب ذكر النقاط المذكورة التالية كتحدياتها.

  • يتعين على فرق DevOps إدارة إصدارات متعددة من البرنامج بالتوازي. لذلك ، ينصح بالحفاظ على عدد الإصدارات المتزامنة إلى الحد الأدنى.
  • ليس لديك تحكم كامل في الإصدار الجديد عند ترقيته إذا تم تثبيت برنامج الحل الخاص بك على أجهزة المستخدمين.
  • تصبح إدارة قواعد البيانات صعبة أثناء إصدارات الكناري.
  • يتطلب تنفيذ اختبارات الكناري جهدا كبيرا من أجل مراقبة فعالة وقوية للبنية التحتية والتطبيق.
  • تستغرق مراقبة كل إصدار تزايدي وقتا وقد تؤثر على تاريخ الإصدار المستهدف. يمكن أن تستغرق اختبارات الكناري ما يصل إلى عدة ساعات.

 

الاستنتاج: اختبار الكناري

في الختام ، يمكن استنتاج أن نهج نشر / اختبار الكناري يمكن أن يكون أفضل صديق لك في تخفيف المخاطر عندما يتعلق الأمر بإجراء اختبار أداء للإصدار الجديد من برنامجك مع مستخدمين فعليين دون أي توقف. كما ذكر إيان مولينو في كتابه ،
فن اختبار أداء التطبيق: من الاستراتيجية إلى الأدوات
، “إذا أدرك المستخدم النهائي أداء سيئا من موقع الويب الخاص بك ، فمن المحتمل أن تكون نقرته التالية على your-competition.com.” لا تدع ذلك يحدث. تأكد من حصول عملائك وعملائك على تجربة مستخدم رائعة.

ابدأ تجربة اختبار التحميل الآن باستخدام LoadView.