مرحبا يا هبر!
قررت أن أكتب رأيي حول ما إذا كان اختبار التشغيل الآلي سيحل محل المختبرين في الواقع. أولاً وقبل كل شيء ، لأني غالبًا ما أسمع رأيًا مشابهًا في Junior QA ، الذي يتخذ خطواته الأولى فقط في الاختبار ويخشى بالفعل أنه لم يتمكن من فعل شيء ما.
في الإنصاف ، يوجد رأي مماثل بين الأطفال الأكبر سنا. غالبًا ما يُعتقد أن التشغيل الآلي هو الطريقة الوحيدة لتطوير اختبار يدوي. حول كل هذا وأكثر من ذلك بكثير تحت خفض.
توضيح قليلا قبل أن نبدأ. كل النقاش أدناه سيكون حول الاختبارات الذاتية الوظيفية. هذه هي اختبارات واجهة المستخدم ، والتي يجب عدم الخلط بينها وبين اختبارات الوحدة في هذا السياق. دائمًا ما يتم كتابة هذا الأخير ويجب أن يكون مكتوبًا بواسطة المطورين ، وحيث لا يكون الأمر كذلك ، يكون موضوع مناقشة مختلفة تمامًا.باختصار عن تاريخ الأتمتة
لقد عملت في الاختبار لبعض الوقت وشهدت عدة مراحل في تطوير أتمتة الاختبار. مع تطورها ، تغير موقفها تجاهها أيضًا. دعونا نرى كيف كان ذلك ومحاولة فهم - ما الذي سوف يحدث كل هذا؟
مرة أخرى في عام 2010 ، عندما كنت أخطو خطواتي الأولى في عالم تكنولوجيا المعلومات ، لم يعرف الجميع أداة مثل السيلينيوم. في ذلك الوقت ، كان الإصدار الأول قيد الاستخدام ، والذي كان يسمى Selenium Remote Control.
أتذكر كيف قمنا بأتمتة مشروعنا الأول على السيلينيوم. كانت هذه الأداة بسيطة جدًا ، حيث يمكنها النقر فوق عناصر غير مرئية ، وأحيانًا كانت مخطئة في العثور على محددات مواقع الويب وحتى عند تلقي نص لبعض العناصر الصعبة.
ما زلت أتذكر أن رئيسنا دعاهم "الوخزات". عند رؤية كيف نجلس ونكتب هذه الاختبارات ، قال ذلك: مرة أخرى ، اكتب أصواتك؟ مثل ، لم أكن قد قمت بفحصه وإصداره بيدي منذ فترة طويلة.
ولكن مرور الوقت ، وضعت السيلينيوم ، لديه فرص جديدة. في البداية كان هناك ثانية ، والآن نسختها الثالثة. ظهر معيار (بدأت الشركات المصنعة للمتصفح في كتابة برامج التشغيل نفسها) ، حصلت Selenium على العديد من البروتوكولات ، واكتسبت منافسين في السوق ، والآن يعرف أي شخص يعمل في مجال تكنولوجيا المعلومات تقريبًا ذلك ، بغض النظر عما إذا كان ينتمي إلى QA.
في الوقت الحالي ، هناك العديد من الحلول لاختبار التشغيل الآلي لكل من تطبيقات الويب والجوال.
الآن لم يعد هذا مجرد صخب ، الآن يبدو أن المحادثة العادية من HR إلى موضع ضمان الجودة (مبالغ فيها ، بالطبع):
- مساء الخير. وفقًا لسيرتك الذاتية ، ليس واضحًا ، هل تعرف كيفية كتابة اختبارات تلقائية؟
"لا ، ولكن أنا جيد في ..."
- * علقت بالفعل *
وإذا كان هذا هو موقع الصدارة ، فإنك تسمع أنهم يرغبون في إعداد الأتمتة لأول مرة ، وعندها فقط توظيف مهندسي ضمان الجودة. أو لا استئجار. ماذا لو لم تفعل؟ حسنا هذا هو بعض المدخرات. حتى بعد كتابة جميع الاختبارات ، سيتم طردك. والمطورين ، عندما يفعلون كل شيء ... اترك على الموقع زر واحد "ادفع هنا" وانزل إلى غروب الشمس ... حدث خطأ ما بالنسبة لي.
بالطبع ، مع مثل هذه الاتجاهات ، يطرح السؤال: هل الاختبار اليدوي يحل محل الأتمتة؟ ومتى يحدث هذا؟
Autotests من خلال عيون المطورين
للإجابة على هذا السؤال ، يجدر بنا أولاً التفكير - ومن الذي يكتب الاختبارات الذاتية؟ رأيت الشركات التي تتم كتابة الاختبارات الذاتية بواسطة المطورين أنفسهم. ورأيت الشركات التي يكتب فيها مهندسو ضمان الجودة اختبارات تلقائية. ما رأيك هو الفرق الأساسي؟
أود أن أفترض أن الاختلاف موجود في الكود. مثل ، لأنهم مطورون ، يكتبون الكود بشكل أفضل. لذلك - اختباراتهم أفضل. ولكن هذا ليس صحيحا تماما.
لا شك أن جودة الشفرة تعد معلمة مهمة ، ولكن بالنسبة للمطورين أنفسهم ، فإن الاختبار ليس هو النشاط الرئيسي. وبالتالي لا يمكنهم تكريس الكثير من الوقت لذلك. تتم كتابة الاختبارات على عجل وغالبًا ما يترك الكود الكثير مما هو مرغوب فيه. وهذا وضع طبيعي ، وأكرر - هذا ليس ما ينبغي أن يقضيه قدرا كبيرا من وقت العمل فيه.
الكود الجيد بشكل خاص ليس هو الشيء الأكثر أهمية في الاختبارات الذاتية. ما هو أكثر أهمية هو ما تغطي هذه الحالات autotests. وهنا يختلف تفكير أخصائي ضمان الجودة بالفعل اختلافًا كبيرًا عن الطريقة التي يرى بها المطور المنتج.
النظر في مثال. من الضروري تغطية التسجيل على الموقع باختبارات تلقائية. من الواضح أننا في المقام الأول سنغطي حالة إيجابية. لقد تقدمنا وسجلنا نموذجًا من خمسة أو ستة حقول إدخال ، وتجاوزنا بعض الخطوات الإضافية مثل التأكيد عبر البريد أو الرسائل النصية القصيرة - الاختبار جاهز ، أنت رائع!
أنا أزعم أن 90 ٪ من المطورين الذين سقطوا من مسؤولية كتابة الاختبارات الذاتية سوف تتوقف عند هذا الحد. لن يصفوا جزءًا من الحالات لأنهم يعتبرون أنها لا تختلف بشكل أساسي عن تلك التي تمت تغطيتها بالفعل. بعض ببساطة لن تؤخذ بعين الاعتبار. على أي حال ، "أنا نفسي كتبت رمز الإنتاج ، كل شيء يمكن الاعتماد عليه هناك وإلى الأبد."
فئات التكافؤ ، والقيم الحدودية ، والحالات السلبية - كل هذا يبقى في مكان ما على الهامش.
مهندس QA النهج
مهندس ضمان الجودة يأخذ نهجا مختلفا. لديه خبرة وفهم لمبادئ تصميم الاختبار ، وكمية كافية من الوقت ، والأهم من ذلك ، للبحث عن الأخطاء والتحقق من أنها مسؤوليته المباشرة. بالإضافة إلى ذلك ، في معظم الأحيان ، يهتم هؤلاء الأشخاص بالتحقق من شيء ما. ماذا يحدث إذا كزة هنا بدوره؟ وإذا قمت بإدخال البيانات هنا بشكل غير صحيح؟
هذا هو النهج الذي يميز مهندس ضمان الجودة عن المطور. ولا يتم تشكيلها من خلال القدرة على أتمتة الاختبار ، ولكن بطريقة التفكير. سوف اختبار سيئة كتابة اختبارات سيئة. في هذه الحالة ، سيجد الفاحص الجيد مشكلات أكثر في التحقق اليدوي من مشكلة سيئة بمجموعته من حالات الاختبار الخاطئة.
ما الاستنتاج الذي أود أن أستخلصه من هذا؟ كل شيء بسيط جدا. أخصائي ضمان الجودة هو في المقام الأول فهم لمبادئ الاختبار وتجربة الاختبار التي يمتلكها الشخص. وليس الأدوات التي يستخدمها.
بالطبع ، مجرد اختبار جيد لا يكفي. من دون معرفة الأدوات الأساسية مثل bash و Git و SQL وما إلى ذلك ، من المستحيل العمل بفعالية في أي شركة. يجب دراستها.
الأتمتة هي نفس الأداة ؛ فهي وحدها ليست جيدة أو سيئة. لن يجعل عملك أكثر فعالية لمجرد أنك التقطته. ما زال يحتاج إلى مهارات معينة.
حسنا ، ماذا عن التحقق اليدوي؟
التحقق اليدوي لن يذهب إلى أي مكان. بطريقة أو بأخرى ، عندما نرى ميزة جديدة أو منتجًا كاملًا أمامنا ، سوف ندرسها بأيدينا. ما زلنا بحاجة إلى معرفة كيفية عمله ، وما هي الحالات التي يجب أخذها في الاعتبار وبصفة عامة ، ما إذا كانت تعمل الآن. ما الهدف من التسرع في كتابة اختبار إذا تم كسر المنتج؟
وهكذا سيكون دائمًا ، مع إدخال كل ميزة جديدة أو تغيير. أولاً ، ستكون هناك خطوة تحقق يدوية. وعندها فقط - تغطية أو تحديث الاختبارات من حوله.
هل سيكون من الأفضل لو تم إجراء اختبار يدوي للكتابة الذاتية من قبل متخصص أو مسؤوليات مشتركة؟ لا أعرف ، ذلك يعتمد بالفعل على ميزات كيفية بناء العملية في شركتك. في مكان ما سوف تكون فعالة وبالتالي مفيدة. وفي مكان ما - لا.
لذلك على السؤال عما إذا كان الأمر يستحق دراسة أتمتة الاختبار ، أجيب بنعم بنعم. يجب أن يكون مهندس ضمان الجودة على دراية بالأتمتة. عادةً ما يكون للمتخصصين الذين يتمتعون بهذه المهارة المزيد من السير الذاتية والرواتب ، ويتم تقييمهم في السوق. ولكن هل يحل الأتمتة محل التحقق اليدوي والاختبار اليدوي؟ بالطبع لا.
يؤدي
هذه هي الطريقة التي جاء بها هذا المقال. شاركت رأيي ورؤيتي حول القضية. سأكون سعيدًا بمعرفتك ، تأكد من مشاركة التعليقات!
وأيضًا قام زميل من Yandex بتطوير دورة عبر الإنترنت لأولئك الذين يرغبون في الانغماس في أتمتة اختبار الأجهزة المحمولة. يمكن العثور على المعلومات والروابط في صفحة ملفي الشخصي. :)
شكرا لاهتمامكم!