أدوار الاختبار ومسؤولياته
الاختبار مجموعة من الأنشطة: تخطيط الاختبار، ومتابعة الاختبار والتحكم فيه، وتحليل الاختبار، وتصميمه، وتهيئته، وتنفيذه، وإتمامه، ولكل نشاط منها من يتحمّل مسؤوليته. ويصف منهج ISTQB للمستوى التأسيسي (الإصدار 4.0) دورين رئيسيين: دور إدارة الاختبار (Test management role) المسؤول إجمالاً عن عملية الاختبار وفريق الاختبار وقيادة أنشطته، ودور الاختبار (Testing role) المسؤول إجمالاً عن الجانب الهندسي التقني من الاختبار.
وكما رأيت في درس كيف تُبنى البرمجيات، الدور مجموعة مسؤوليات وليس مسمّى وظيفياً. ففي فريق صغير قد يكتب مهندس ضمان جودة واحد خطة الاختبار يوم الاثنين (دور إدارة الاختبار)، ثم يصمّم الاختبارات وينفذها بقية السبرنت (دور الاختبار).
لماذا يهم
حين تكون المسؤوليات غير واضحة، تضيع المهام بين الأطراف: لا أحد يتفق على موعد انتهاء الاختبار، ولا أحد يملك بيئة الاختبار، ويُطلَق تغيير عالي المخاطر لأن الجميع افترضوا أن غيرهم اختبره. والاعتقاد المعاكس لا يقل ضرراً: فإذا كان المختبِر وحده مسؤولاً عن الجودة، صار الاختبار بوابة أخيرة متأخرة، ووقع على شخص واحد لومُ كل عيب يتسرّب.
والأدوار تفسّر لك أيضاً إعلانات الوظائف. فالمسميات تختلف بين الشركات، لكن الأنشطة التي وراءها لا تختلف، ومعرفة الأنشطة تخبرك بحقيقة ما تتضمنه الوظيفة، وبطريق نموّك من دور الاختبار نحو قيادة الاختبار.
الدوران في منهج ISTQB الإصدار 4.0
يركّز دور إدارة الاختبار أساساً على تخطيط الاختبار، ومتابعته والتحكم فيه، وإتمامه. فهو يقرر ما يجب أن يحققه الاختبار، وما يدخل في النطاق، وكم من الجهد يُخصَّص له، وكيف يُتابَع التقدم، ومتى يمكن التوقف، ويشرف على بقية الأنشطة عبر المتابعة والتحكم. وفي الفرق الرشيقة (Agile) قد يتولى الفريق نفسه بعض هذه المهام، أما العمل الممتد عبر عدة فرق فقد يتولاه مدير اختبار من خارج الفريق.
ويركّز دور الاختبار أساساً على تحليل الاختبار وتصميمه وتهيئته وتنفيذه: العمل العملي لتحويل أساس الاختبار (Test basis) إلى اختبارات، وتنفيذها، والإبلاغ عمّا تكشفه.
ويعتمد توزيع المهام على سياق المشروع والمنتج، ومهارات الأشخاص، والمؤسسة. فقد يؤدي دور إدارة الاختبار قائد فريق أو مدير اختبار أو مدير تطوير، ويمكن لشخص واحد أن يجمع الدورين في الوقت نفسه.
| نشاط الاختبار | دور إدارة الاختبارمدير الاختبار، قائد الاختبار، قائد الفريق | دور الاختبارالمختبِر، مهندس ضمان الجودة، SDET | المطوّرون | مالك المنتج وممثلو الأعمال |
|---|---|---|---|---|
| تخطيط الاختبار | يقودالنطاق والنهج ومعايير الخروج | يساهمالتقديرات والمخاطر واحتياجات البيانات والبيئة | يساهمالتقديرات والمخاطر التقنية | يساهمالأولويات والموافقة على النهج |
| متابعة الاختبار والتحكم فيه | يقودالتقدم مقابل الخطة وقرارات التحكم | يساهمالتقدم والعوائق والعيوب المفتوحة | لا مهمة رئيسية هنا | يساهمالموافقة على تغييرات النطاق |
| تحليل الاختبار | يشرف | يقودشروط الاختبار من أساس الاختبار | لا مهمة رئيسية هنا | يساهمتوضيح أساس الاختبار |
| تصميم الاختبار | يشرف | يقودحالات الاختبار وبياناته | يساهممراجعة حالات الاختبار | يساهماختبارات القبول مع المختبِرين |
| تهيئة الاختبار | يشرف | يقودالإجراءات والحزم وجاهزية البيئة | يساهمتجهيز بيئة الاختبار | لا مهمة رئيسية هنا |
| تنفيذ الاختبار | يشرف | يقودتنفيذ الاختبارات والإبلاغ عن العيوب وإعادة الاختبار | يساهماختبارات المكوّنات | يساهماختبار القبول |
| إتمام الاختبار | يقودتقرير الإتمام والدروس المستفادة | يساهمأرشفة مواد الاختبار وتحديث حزمة الانحدار | لا مهمة رئيسية هنا | لا مهمة رئيسية هنا |
توزيع نموذجي لا قاعدة: يذكر ISTQB أن المهام تعتمد على السياق، وأن شخصاً واحداً قد يجمع الدورين.
مسؤوليات المختبِر عبر دورة الحياة
يبدأ عمل المختبِر قبل وجود برنامج يمكن تشغيله، وينتهي بعد آخر اختبار. وعلى امتداد الإصدار يقود المختبِر عادةً الأنشطة العملية لدور الاختبار، ويساهم في الأنشطة الأخرى:
- تحسين قائمة المهام (Backlog refinement): مراجعة قصص المستخدم ومعايير القبول بحثاً عن الثغرات والغموض وقابلية الاختبار، قبل كتابة الشيفرة.
- التخطيط: المساهمة بالتقديرات والمخاطر واحتياجات بيانات الاختبار والبيئة، حتى لو كان شخص آخر يملك الخطة.
- التحليل والتصميم: استخراج شروط الاختبار من أساس الاختبار، وتصميم حالات اختبار يمكن تتبعها إلى المتطلبات.
- التهيئة: تجهيز بيانات الاختبار وإجراءاته وحزمه، والتأكد من جاهزية بيئة الاختبار.
- التنفيذ: تشغيل الاختبارات، والإبلاغ عن العيوب، وإجراء اختبار التأكيد (Confirmation testing) واختبار الانحدار بعد الإصلاحات.
- المتابعة والإتمام: الإبلاغ عن التقدم والعوائق بصدق، وأرشفة مواد الاختبار (Testware)، وتحديث حزمة الانحدار، وتسجيل الدروس المستفادة.
المسميات الوظيفية وكيف ترتبط بالدورين
يحدد أصحاب العمل المسميات الوظيفية، لا ISTQB، ولذلك قد يعني المسمى نفسه عملاً مختلفاً في شركتين. اقرأ الوصف الوظيفي بسؤال واحد: أيّ الأنشطة يغطي؟ ومن الأنماط الشائعة:
- مهندس ضمان الجودة (QA engineer) أو محلل ضمان الجودة أو مختبِر البرمجيات: دور الاختبار أساساً، وغالباً مع شيء من اختبار الواجهات البرمجية (API) أو الأتمتة.
- مهندس تطوير برمجيات في الاختبار (SDET) أو مهندس أتمتة الاختبار: دور الاختبار بتركيز هندسي، أي الاختبارات المؤتمتة وأطر الاختبار وأدواته، تُبنى في الشيفرة المصدرية وخط التكامل المستمر (CI) جنباً إلى جنب مع المطوّرين.
- قائد الاختبار (Test lead) أو قائد ضمان الجودة: عادةً الدوران معاً لفريق أو مشروع واحد، فهو يخطط للاختبار وينسّقه، ويوزّع العمل، ويرفع تقارير الحالة، ويواصل الاختبار بنفسه.
- مدير الاختبار (Test manager) أو مدير ضمان الجودة: دور إدارة الاختبار على مستوى عدة فرق أو مشاريع، أي الاستراتيجية والتوظيف والتوجيه والميزانية، وإبلاغ الإدارة بحالة الجودة والمخاطر.
الجودة مسؤولية الفريق كله
يصف ISTQB نهج الفريق الكامل (Whole-team approach)، وهو ممارسة جاءت من البرمجة القصوى (Extreme Programming): يستطيع أي عضو في الفريق يملك المعرفة والمهارات اللازمة أن يؤدي أي مهمة، والجميع مسؤولون عن الجودة. ويساعد المختبِرون ممثلي الأعمال على إعداد اختبارات قبول مناسبة، ويتفقون مع المطوّرين على استراتيجية الاختبار ونهج الأتمتة. ويحدد دليل سكرم (Scrum Guide) لعام 2020 ثلاث مسؤوليات في فريق سكرم، هي مالك المنتج (Product Owner) وScrum Master والمطوّرون (Developers)، ولا يذكر مختبِراً مستقلاً: فالمختبِرون في فريق سكرم يُعدّون من المطوّرين.
لكن المسؤولية المشتركة لا تعني غياب المسؤولية. فالمطوّرون يؤدون عادةً اختبار المكوّنات (Component testing)، ويُسمّى أيضاً اختبار الوحدات، ويُفضَّل أن يؤدي اختبار القبول المستخدمون المستهدفون، ويملك مالك المنتج معايير القبول والأولويات، ويقدّم المختبِر تصميم الاختبار ونظرة المخاطر والأدلة. ولا يناسب هذا النهج كل سياق: فالأنظمة الحرجة للسلامة مثلاً قد تحتاج إلى مستوى عالٍ من استقلالية الاختبار. ويتعمّق درس ثقافة الجودة في هذا الموضوع.
مثال تطبيقي: ميزة واحدة، ولكل نشاط مالك
يبني فريق خدمة حجز المواعيد عبر الإنترنت لعيادة. يتكوّن الفريق من مالك منتج وثلاثة مطوّرين ومهندس ضمان جودة واحد ومدير هندسة يقود الفريق. لا أحد يحمل مسمّى مدير اختبار، ومع ذلك لكل نشاط مالك:
- التخطيط: يكتب مهندس ضمان الجودة مسودة نهج اختبار في صفحة واحدة تتضمن المخاطر الرئيسية (مريضان يحجزان الموعد نفسه، ورسالة SMS لا تُرسَل أبداً) ومعايير الخروج، وهذا هو دور إدارة الاختبار. ويتفق عليها مدير الهندسة مع مالك المنتج.
- التحليل والتصميم: يسأل مهندس ضمان الجودة عمّا يحدث حين يلغي طبيب يوماً فيه حجوزات، فتصبح إجابة مالك المنتج معيار قبول. ويراجع أحد المطوّرين حالات الاختبار التي كتبها مهندس ضمان الجودة.
- التهيئة والتنفيذ: يشغّل المطوّرون اختبارات المكوّنات لمنطق قفل المواعيد في CI. ويجهّز مهندس ضمان الجودة الأطباء وجداولهم في بيئة الاختبار، وينفذ اختبارات النظام، ويبلّغ عن عيب الحجز المزدوج، ثم يعيد الاختبار بعد الإصلاح.
- المتابعة والتحكم: يُبلَّغ عن العيب المفتوح في الاجتماع اليومي، فينقل مدير الهندسة ومالك المنتج قصة مستخدم أقل أولوية إلى السبرنت التالي.
- الإتمام: يقبل مالك المنتج الميزة مقابل معاييرها، ويضيف مهندس ضمان الجودة اختبار الحجز المزدوج إلى حزمة الانحدار.
أخطاء شائعة
- الخلط بين المسمى الوظيفي والدور: افتراض أن مهندس ضمان الجودة لا يخطط أبداً، أو أن مدير الاختبار لا يختبر أبداً. اقرأ المهام لا المسمى.
- الاعتقاد بأن المختبِر وحده يملك الجودة، فتصل الشيفرة إلى الاختبار دون أن تُختبر، ويُلام المختبِر على كل عيب يتسرّب.
- فهم مسؤولية الفريق كله على أنها مسؤولية لا أحد: الجميع يختبر قليلاً، لكن لا أحد يملك الخطة ولا معايير الخروج ولا حزمة الانحدار.
- إهمال مهام إدارة الاختبار لأن الفريق ليس فيه مدير اختبار: لا نطاق متفق عليه، ولا معايير خروج، ولا تقرير إتمام.
- الانضمام عند تنفيذ الاختبار فقط، بدلاً من مراجعة المتطلبات والمساهمة في التخطيط منذ البداية.
- الظن بأن SDET يكتب الشيفرة فقط: فالاختبارات المؤتمتة لا تكون أفضل من تحليل الاختبار وتصميمه اللذين تقوم عليهما.
من منظور ضمان الجودة
في فريق جديد، ابحث عمّن يؤدي دور إدارة الاختبار، حتى لو لم يحمل أحد هذا المسمى. اسأل: من يقرر النطاق؟ ومن يتفق على معايير الخروج؟ ومن يملك بيئة الاختبار وبيانات الاختبار؟ ومن يقرر إطلاق إصدار فيه عيوب معروفة؟ فإن كانت الإجابة «لا أحد» أو «المختبِر وحده»، فأثِر المسألة قبل الإصدار الأول لا بعده.
اكتب مالكاً لكل نشاط في خطة الاختبار أو في اتفاقية عمل الفريق. وعند كتابة التقارير افصل الحقائق عن القرارات: أنت تقدّم المعلومات عن الجودة والمخاطر، أما قرار الإصدار فيعود إلى المسؤولين عن المنتج، مثل مالك المنتج.
تمرين عملي
وزّع أنشطة الاختبار في فريق صغير
يبدأ فريق إصداراً من سبرنتين يضيف فواتير عربية بصيغة PDF إلى تطبيق ويب للمحاسبة. يتكوّن الفريق من مالك منتج، وقائد فريق يعمل مطوّراً أيضاً، ومطوّرَين، ومهندس ضمان جودة واحد، ولا يوجد مدير اختبار. وفي الإصدار السابق لم يقرر أحد متى ينتهي الاختبار، ولم تكن الخطوط العربية مثبّتة في بيئة الاختبار حتى اليوم الأخير.
حدّد لكل نشاط اختبار من يقوده ومن يساهم فيه، ثم أسند كل مشكلة من المشكلتين السابقتين إلى مالك.
- اكتب أنشطة الاختبار السبعة بترتيب ISTQB.
- اكتب لكل نشاط من يقوده ومن يساهم فيه.
- صنّف كل نشاط: دور إدارة الاختبار أم دور الاختبار.
- اربط كل مشكلة قديمة بنشاطها وسمِّ لها مالكاً.
إظهار الإجابة النموذجية
الأنشطة السبعة بترتيب ISTQB: تخطيط الاختبار، ومتابعة الاختبار والتحكم فيه، وتحليل الاختبار، وتصميم الاختبار، وتهيئة الاختبار، وتنفيذ الاختبار، وإتمام الاختبار.
التخطيط والمتابعة والتحكم والإتمام (دور إدارة الاختبار): يقودها مهندس ضمان الجودة بكتابة مسودة نهج الاختبار ومعايير الخروج وملخص الإتمام، ويتفق عليها قائد الفريق ومالك المنتج ويتخذان قرارات التحكم مثل نقل قصة، ويضيف المطوّرون التقديرات والمخاطر مثل تخطيط ملف PDF من اليمين إلى اليسار.
التحليل والتصميم والتهيئة والتنفيذ (دور الاختبار): يقودها مهندس ضمان الجودة؛ يوضّح مالك المنتج قواعد الفواتير ويتحقق من فواتير نموذجية مقابل معايير القبول، ويراجع أحد المطوّرين حالات الاختبار، ويشغّل المطوّرون اختبارات المكوّنات في CI.
المشكلة الأولى: معايير الخروج هي التي تحدد متى ينتهي الاختبار، وهي جزء من تخطيط الاختبار؛ ومالكها مهندس ضمان الجودة، يكتب مسودتها ليتفق عليها قائد الفريق ومالك المنتج قبل بدء السبرنت الأول. المشكلة الثانية: جاهزية البيئة جزء من تهيئة الاختبار، فيثبّت مطوّر محدد بالاسم الخطوط العربية في السبرنت الأول، ويتحقق مهندس ضمان الجودة من الجاهزية قبل التنفيذ. وأي توزيع آخر مقبول ما دام لكل نشاط مالك واحد محدد بالاسم.
أسئلة شائعة
هل مهندس ضمان الجودة هو نفسه المختبِر؟
في كثير من إعلانات الوظائف نعم: العمل في الأساس دور الاختبار، كما شرح درس ضمان الجودة وضبط الجودة والاختبار. وبعض الشركات تستخدم المسمى لعمل أوسع، مثل تحسين العملية أو امتلاك بوابات الجودة قبل الإصدار. اقرأ المسؤوليات.
ما الفرق بين قائد الاختبار ومدير الاختبار؟
تختلف المسميات، لكن قائد الاختبار ينسّق عادةً الاختبار لفريق أو مشروع واحد ويواصل الاختبار بنفسه، بينما يؤدي مدير الاختبار دور إدارة الاختبار على مستوى عدة فرق أو مشاريع، ويتولى أيضاً شؤون الأفراد والميزانية والاستراتيجية. وبلغة ISTQB كلاهما يؤدي دور إدارة الاختبار، لكن على نطاقين مختلفين.
هل يعني نهج الفريق الكامل أننا لا نحتاج إلى مختبِرين؟
لا. معناه أن الجميع يتشاركون مسؤولية الجودة، لا أن مهارات الاختبار لم تعد لازمة. فالمختبِرون يقدّمون تصميم الاختبار وتحليل المخاطر ونظرة مستقلة، وينقلون معرفة الاختبار إلى بقية الفريق. ويذكر ISTQB أيضاً أن بعض السياقات، مثل الأنظمة الحرجة للسلامة، تحتاج إلى مستوى عالٍ من استقلالية الاختبار.
هل يمكن لشخص واحد أن يجمع الدورين؟
نعم. ينص منهج ISTQB صراحةً على أن شخصاً واحداً يمكنه أن يؤدي دور الاختبار ودور إدارة الاختبار في الوقت نفسه، وهذا شائع حين يكون في الفريق مختبِر واحد فقط.
المراجع
- ISTQB Certified Tester Foundation Level (CTFL) v4.0المنهج التأسيسي لاختبار البرمجيات: مستويات الاختبار وأنواعه وتقنيات تصميم الاختبارات وإدارة الاختبار والأدوات.
- ISTQB Glossaryالتعريفات القياسية لمصطلحات الاختبار — حالة الاختبار واختبار الانحدار والخطورة والأولوية وتحليل القيم الحدّية وغيرها.
- The 2020 Scrum Guideتعريف Scrum: مسؤولياته وأحداثه ومخرجاته، بما فيها تعريف الإنجاز (Definition of Done) الذي يساعد الاختبار على تحقيقه.
- Agile Testing: A Practical Guide for Testers and Agile Teams (Lisa Crispin, Janet Gregory)أرباع الاختبار الرشيق وكيف يعمل المختبرون داخل فريق التسليم — أساس «الاختبار في الطبقة الصحيحة».
تدرّب بأدوات متقن
حوّل قائمة متطلبات مرقّمة إلى حالات اختبار قابلة للتتبّع مع مصفوفة تربط المتطلبات بالاختبارات.
ولّد معايير قبول بصيغة Given/When/Then وقائمة تحقق لتعريف الإنجاز (Definition of Done) من قصة مستخدم.
قيّم الميزات حسب الاحتمالية والأثر، ثم ولّد خطة اختبار مبنية على المخاطر ومرتّبة حسب الأولوية.
للتعمّق أكثر
- دورة حياة اختبار البرمجيات (STLC)مقابلة مراحل STLC بعملية الاختبار في ISTQB
- SDLC وSTLC: دورتا التطوير والاختبارأين يشارك ضمان الجودة في كل مرحلة من مراحل SDLC
- كيف تكتب خطة اختبار (Test Plan)كيف تكتب خطة اختبار: محتواها، ومعايير الدخول والخروج والتعليق والاستئناف، ونموذج جاهز للنسخ، وخطة رشيقة من صفحة واحدة، ومثال تطبيقي.
- فريق الجودة الداخلي مقابل الجودة المُسندة خارجياًنماذج التوظيف الأربعة
تقدّمك في هذا الموضوع
سجّل الدخول لتتابع تقدّمك
علّم الموضوعات مكتملة، وتابع من حيث توقفت، وافتح امتحانات التخصص.