كيف تعمل كـ "مهندس ضمان الجودة" في مشروع بدلاً من عضو في "فريق التطوير الذي يحركه الاختبار"؟

StackOverflow https://stackoverflow.com/questions/3577009

سؤال

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

قبل إدخال إطار اختبار الوحدة ، كانت طريقتنا هي الترميز أو الاختبار يدويًا أو الالتزام أو الأمل في عدم تحطيم أو أعلى. نظام تفاعلي للغاية.

الآن ، نفهم جميعًا أن الأمور تحتاج إلى اختبار وأن الاختبار الآلي فعال وجيد. ومع ذلك ، يبدو أن الدور حاليًا هو "تجري الاختبار" و "كتابة الاختبارات الآلية"

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

أواجه صعوبات في إنجاز الجزء الثاني من الطلب. من الصعب كتابة الاختبارات الآلية إذا لم يتم تصميم الرمز ليكون قابلاً للاختبار.

لقد توصلت إلى مسؤولية QA - لكن - لا يمكنني إلا أن أجد موارد في التنمية التي تعتمد على الاختبار.

ما هي الطرق التي يمكنني استخدامها لتصبح أكثر فاعلية في دور ضمان الجودة حيث لم يكتب المطورون الآخرون بعد بقلق لإنشاء رمز قابل للاختبار؟

هل كانت مفيدة؟

المحلول

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

حتى هذه النقطة ، كما أنت في الواقع تعمل مع Legacy Code ، كتاب Michael Feather العمل بفعالية مع الرمز القديم على ما يبدو يحتوي على الكثير من النصائح المفيدة بشأن اختبار مثل هذا الرمز.

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

نصائح أخرى

المشكلة في الأسماء التنمية التي تحركها الاختبار و وحدة التجارب, ، هو أنها تعني أنها حول اختبار البرمجيات. هم انهم ليس. TDD واختبار الوحدة حول التصميم وهم في الأساس مسؤولية المطورين.

لا يزال دور محلل QA ذا أهمية قصوى على أي فريق يمارس TDD وسيكون أ طويل طويل الوقت قبل أن تجد نفسك خارج العمل باعتباره ضمان ضمير!

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

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

أعتقد أنه يجب على المطورين على الأقل كتابة اختبارات الوحدة (ربما باستخدام TDD). هذا هو الحد الأدنى للمعايير لضمان أن الرمز الذي يقومون به يعمل.

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

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

يمكنك الغوص في كتابة الاختبارات بنفسك:

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

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

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

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top