ما يعطي اختبار الأتمتة

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

تعتقد بعض الشركات عن طريق الخطأ أن الأتمتة مضيعة للوقت والمال ، والبعض الآخر - أن هذا اتجاه رائع و "حبة" لجميع الأمراض. النظر في مكان الأرض الوسطى وما هي نقطة الأتمتة.



لماذا الاختبار


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

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

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

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

عند إنشاء منتجات تكنولوجيا المعلومات للأعمال ، عادةً ما يتم دمج طريقتين:

  • إجراء الشيكات يدويًا بمساعدة متخصصين في ضمان الجودة ؛
  • الجمع بين الاختبار اليدوي والأتمتة لحالات الاختبار الرئيسية ، بمساعدة خبراء من SDET (مهندس تطوير برمجيات في الاختبار) .

يقع عمل اختصاصي SDET على حدود ثلاثة مجالات - التطوير و QA و DevOps ، والتي تغطي كل من الكتابة المباشرة للاختبارات التلقائية والمهام الأخرى. على سبيل المثال ، يمكن لـ SDET تكوين CI لتقديم التطبيقات تلقائيًا ونشرها ، والحفاظ على الوثائق ، وتنظيم العمليات. ومع ذلك ، في هذه المقالة نعتبر جانب واحد - أتمتة الاختبار.

ما يعطي الأتمتة


هذا هو واحد من الاتجاهات الجديدة إلى حد ما في التنمية ، وتحيط بها عدد كبير من الأساطير. في أغلب الأحيان ، يتحول العمل إلى التشغيل الآلي ، معتقدًا أنه:

  1. سوف تحل جميع مشاكل إطلاق برامج الجودة ؛
  2. سوف تسمح لرفض الاختبار اليدوي.
  3. ضروري ببساطة لأنه "اتجاه رائع" ؛
  4. تسريع الافراج عن الإصدارات.
  5. سيزيد من تغطية الأنظمة الأساسية وإصدارات أنظمة التشغيل أثناء الاختبار.

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

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

عندما تكون الأتمتة مطلوبة


  • تطبيق واسع النطاق مع العديد من وظائف الأعمال
  • عمر كبير للتطبيق (من سنة واحدة أو أكثر)
  • تنفيذ CI / CD ، الإصدارات العادية + عدد قليل من المتخصصين في ضمان الجودة

مهام الأتمتة


كقاعدة عامة ، نشرك خبراء SDET لحل المشاكل التالية:

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

النتائج


الأتمتة تساعد على بناء التوازن:

  • تحقق يدويًا مما يتطلب اهتمامًا بشريًا (عادة ما يصل إلى 25٪ من الحالات) ؛
  • أتمتة الحالات الأخرى.

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

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

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

مثال


لنفترض أنه في الوقت الحالي في بنك للهواتف المحمولة ، يتعين عليك متابعة ما يصل إلى 700 حالة ، كل منها 70 إلى 100 مرة في السنة. تتطلب أقل من 25 ٪ من الحالات التحقق اليدوي ، ويمكن آليا 75 ٪ المتبقية.

الوقت المستغرق في التحقق اليدوي:

- 30 ساعة

وقت التشغيل الآلي:

يستغرق تشغيل الاختبار لمدة 8 ساعات ، ولكن دون تدخل بشري ، لذلك لا يؤخذ في الاعتبار.

تكاليف الوقت الأخرى:

  • 8 ساعات للتحقق اليدوي من الحالات التي لا يمكن تغطيتها بواسطة الاختبارات الذاتية (25 ٪) ؛
  • 6 ساعات لتحليل النتائج ، وكذلك ، إذا لزم الأمر ، للتحقق من الفشل (ما يصل إلى 10 ٪ من الاختبارات).

المجموع: يمكن أن يقلل التشغيل الآلي للاختبار الوقت الذي يقضيه من 30 إلى 14 ساعة .

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

في المتوسط ​​، يوفر التشغيل التلقائي من 30 إلى 50٪ من الوقت على الأقل ، مما يسمح لك بتخصيص المزيد من الوقت ، على سبيل المثال ، لتطوير المنتج وتحسينه.

كيف يعمل اختبار الأتمتة


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

تبدأ عملية الاختبار بتطوير استراتيجية - خطة اختبار ، وأساس تجميع حالات الاختبار الفردية. لأتمتة SDET ، يقوم المهندسون باختيار السيناريوهات الرئيسية المستخدمة بشكل متكرر للمستخدم الذي يعمل مع المنتج - مثل هذه السيناريوهات تعطي حوالي 80 ٪ من قيمة العمل.

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

نحن نطور اختبارات تلقائية باستخدام جميع لغات البرمجة الأكثر شيوعًا - Java و Python و Kotlin ، إلخ. أدواتنا وتقنياتنا الرئيسية هي Appium و TestNG | JUnit ، RobotFramework | Pytest ، السيلينيوم | Senenide ، جاذبية ، TeamCity ، جنكينز ، JMeter.

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

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

لتلخيص


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

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

شكرا لاهتمامكم! نأمل أن يكون المقال مفيدًا لك!

Source: https://habr.com/ru/post/ar477670/


All Articles