دليل اختبار التطبيق اليدوي: الفوائد والخطوات والمنهجيات

نحن نحلل بالتفصيل كيفية إجراء الاختبار اليدوي عندما يكون أفضل من الاختبار الآلي ، وما يحتاجه المختبرون ليكونوا قادرين على القيام به وكيف يمكنهم بناء حياتهم المهنية من صغار إلى اختبار الرصاص. تم إعداد الدليل بالاشتراك مع رئيس قسم الاختبار في Agima Darina Gordeeva.



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

تذكر أن أي قارئ استخدم كلمة Habr الترويجية يمكن أن يحصل على خصم قدره 10000 روبل لدورته المفضلة ، في حين أن الأكثر جدية ويقظة يمكن أن يجمع خصم 25000 روبل عن طريق حل الألغاز من المواد المعدة بالاشتراك مع وكالة Agima:





الكفاءة والمرونة وإمكانية الارتجال ومزايا أخرى


يوجد اليوم العديد من أطر الاختبار التي تدعم جميع اللغات الموجودة تقريبًا. يبدو - يمكنك أن تأخذ وأتمتة. ولكن حتى الآن ، تعتبر الاختبارات اليدوية مهمة.

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

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

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

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

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

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

لا تسمح لك الاختبارات التلقائية بالتحقق مما إذا كان من الملائم استخدام الميزات الجديدة للتطبيق - يتم دائمًا اختبار قابلية الاستخدام يدويًا.

توصي Skillbox بما يلي: دورة Fullstack عبر الإنترنت هي مطور محمول .

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

تظهر حالات جديدة أيضًا لأن المختبر يسأل نفسه باستمرار السؤال "ماذا لو؟". لذلك يجد طرقًا أصلية للتفاعل مع التطبيق - حتى لو لم تكن في السيناريوهات الأساسية.



مشاكل الاختبار اليدوي وحلولها


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

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

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

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

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

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

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

مراحل الاختبار: ماذا ومتى وكيف


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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

وقت Rebus: خمن ذلك وخصمًا بنسبة 10 بالمائة على أي دورة Skillbox في انتظارك الآن أو أظهر المثابرة وجمع الإجابات على كل عمليات إعادة التوطين - هذه الخصومات تضاف إلى بعضها البعض (ولكن مع عدم وجود خصومات أخرى في دورات Skillbox).

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



إضفاء الطابع الرسمي على الاختبار: خطة الاختبار وشكل تقارير الأخطاء والتقارير


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

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

الضوء الأخضر الذي يشير إلى أن المنتج جاهز ، هو الحالة "يتم تغطية جميع المتطلبات بالحالات ، ويتم إكمال جميع الحالات بنجاح".

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

ما تحتاج إلى معرفته وتكون قادرًا على أن تصبح مُختبِرًا


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

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

أخصائي في الاختبار الآلي هو مهنة منفصلة ، مع مجموعة مختلفة تمامًا من المعرفة. — , , , , , , . “ ”. , , .



, , . , — -. — , , — , . -. - . , .

( , ) , , . — , -.

- — , , , .

-, , — — . , .

— -. , , — , , .

- — -. , , , , , DevOps, , .

— , “Fullstack- ”. , . !



توصي Skillbox بما يلي:

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


All Articles