يُعدُّ اختبار البرمجيات مجالاً مثيراً للاهتمام، ولكنَّه يمثل تحدياً أيضاً، ففي وقت من الأوقات، كان يُنظر إلى مهنة اختبار البرمجيات كخيار أخير في صناعة تكنولوجيا المعلومات. ومع ذلك، غيرت الأتمتة والثورة التكنولوجية هذا السيناريو بالكامل، فبات يُنظر إلى اختبار البرمجيات على أنَّه عمل محترم، وبات الناس يرون أنفسهم ينمون في هذا المجال.
هناك العديد من الأشخاص الذين ليسوا على دراية بآفاق النمو الوظيفي المتوفرة في مجال اختبار البرمجيات. ولدى الأشخاص الذين يعملون في صناعات أخرى والذين يرغبون في التحول إلى هذا المجال، والطلبة الذين يكملون تعليمهم، والذين يريدون أن يصبحوا مختبري برمجيات فضول لمعرفة الأدوار الوظيفية المختلفة في المستويات العليا من السلم الوظيفي لاختبار البرمجيات، والنمو الوظيفي المتوقع.
وفي هذه المقالة، سنتعرف إلى كيفية النمو في هذا المجال، وكيفية صعود كل درجة من درجات السلم الوظيفي فيه. وسنناقش التوقعات الوظيفية في كل مستوى، والأدوار والمسؤوليات وآلية تطوير نفسك من حيث امتلاك المعرفة الكاملة في هذا الصدد.
عادةً ما تتكون المهنة في مجال اختبار البرمجيات من 7 أدوار رئيسية، بناءً على المعرفة والخبرة:
دعونا نتحدث بالتفصيل عن كل من هذه الأدوار الوظيفية.
مختبر البرمجيات المبتدئ هو بمثابة أول دور وظيفي في هذا المجال. عادةً ما يتم تعيين الأشخاص الذين لا يمتلكون خبرة في اختبار البرمجيات في هذا الدور الوظيفي. إذ يمكن لأي شخص الدخول في مجال اختبار البرمجيات لأنَّه لا يتطلب التخصص في أي موضوع، ولكنَّ الحصول على درجة البكالوريوس في علوم الكمبيوتر يعد ميزة لمن حصل عليها.
يمكن للأفراد الذين يعملون في صناعات أخرى الانتقال إلى اختبار البرمجيات من خلال الخضوع إلى تدريب على اختبار البرمجيات.
التواصل هو العامل الرئيسي للنجاح في صناعة تكنولوجيا المعلومات في أي دور وظيفي كان. وبصفتك أحد مختبري البرمجيات، فإنَّه لمن المتوقع أن تتواصل مع أعضاء الفريق والعملاء وأصحاب المصلحة في المشروع. لذلك تعد مهارات التواصل الفعال هامة.
من المفترض أن يقوم المختبرين بإعداد أدوات مختلفة مثل خطط واستراتيجيات وحالات وبيانات ونتائج الاختبار، وما إلى ذلك، ولإعدادهم بفاعلية، يجب أن تكون مهارات التواصل الكتابية لديهم جيدة.
بصفتك مختبِراً، يُتوقع منك إرسال تقرير حالة يومي حول ما فعلته، وحول الأخطاء أو العيوب التي وجدتها، وخطة عملك لليوم التالي، ولهذا يعد فهم التواصل الكتابي والشفهي، وما يجب وما لا يجب تضمينه فيهما أمراً هاماً للغاية.
أن تعمل في مجال اختبار البرمجيات، يعني طرح الكثير من الأسئلة، إذ يتعين على المختبرين التعامل مع المعلومات السيئة أو غير المكتملة. وعندما لا تكون المتطلبات كافية لتوضيح الأمور، يتعين على المختبرين طرح أسئلة ذات مغزى.
يجب أن يكون لدى المختبرين فضول بشأن أمور مثل الأسباب والمسببات وأوقات وكيفية حدوث كل منها، إذ ينتج عن المزيد من الأسئلة مزيداً من المعلومات، وهذا يساعد المختبرين على أداء الاختبار بفاعلية.
يحصل الاختبار دائماً على أقل قدر من الوقت المخصص، ففي أقل وقت متاح، يُنتظر من المختبرين أن يقوموا بإجراء اختبار فعال، لذلك فإنَّ فهم المتطلبات في وقت قصير أمر هام للغاية.
إنَّ فهم الغرض من أي برمجية، وآلية استخدامها، وجميع التغييرات التي تم تطبيقها وما إلى ذلك، يُعدُّ من الضروريات، فقدرات الاستيعاب الجيدة تجعل المهمة أسهل وأكثر كفاءة.
إنَّه لمن المفترض أن يعمل المختبِرون كفريق واحد مع المطورين وأصحاب المصلحة الآخرين، لذا من الهام جداً أن تقوم بالتصرف الصحيح، مع الاهتمام بجودة المنتج في أي اختبار.
ونظراً لكونك مختبِراً مبتدئاً، فمن المتوقع أن يُنفَّذ العمل المعين في الوقت المحدد، ويُقدم تقرير إلى كبار المُختبرين، ويدعم المطورون كبارهم وصغارهم بعضهم بعضاً في أثناء العمل على الالتزام بالمواعيد النهائية.
إنَّه لمن الهام معرفة بعض التعاريف والمصطلحات الخاصة باختبار البرمجيات، قبل الدخول في هذا المجال، لذا يجب أن يمتلك أي شخص يرغب في العمل كمختبر برمجيات معرفةً بمفاهيم اختبار البرمجيات والعمليات الواردة أدناه:
تعد معرفة الأساسيات المذكورة أدناه حول أجهزة الكمبيوتر مفيدة، وذلك لأنَّه باعتبارك مختبِراً ستعمل معها يومياً:
بصفتك أحد المختبرين، تحتاج إلى فهم النقاط التالية حول منظور المستخدم النهائي، وذلك لأنَّها تساعد على تحديد المزيد من سيناريوهات الاختبارات في الوقت الفعلي:
يعد اختبار المنتجات أو التطبيقات هاماً بنفس أهمية تطوير المنتجات أو التطبيقات، وبالتالي فإنَّ الفهم الصحيح لمفاهيم الاختبار مفيد جداً لأي مختبِر مبتدئ.
يقدم تقاريره إلى (يعمل تحت إمرة): في الغالب، قائد اختبار (يتوقف هذا الأمر على الهيكل التنظيمي للشركة نفسها).
بصفتك مختبِراً، فإنَّ تحليل المتطلبات المقدمة من العملاء هو النقطة الرئيسية التي ستبدأ بها، إذ من المفترض أن يفهم المختبِر المتطلبات ومجال العمل ذي الصلة، ويُعدَّ قائمة استعلام ويشاركها مع قائد الاختبار.
في أثناء اجتماع التخطيط للاختبار، من المفترض أن يفهم المختبر تفاصيل المهام التي يتعين القيام بها. كما أنَّه من المفترض أن يتوصل إلى تقدير محتمل للمجهودات المقدرة المطلوبة لإكمال المهمة بكفاءة.
بناءً على المهام والنماذج المحددة، من المتوقع أن يقوم المختبرين بتوثيق حالات الاختبار. وبناءً على طريقة التنظيم والتطوير، يتم إعداد حالات الاختبار أو سيناريوهات الاختبار بتنسيق محدد.
إنَّه لمن المهم الإبلاغ عن الأخطاء التي تمت ملاحظتها في أثناء تنفيذ مهمة الاختبار. تستخدم كل منظمة أدوات أو نماذج مختلفة للإبلاغ عن العيوب وتتبعها. ويتعيَّن على المُختبِر فهم كيفية عمل كل أداة اختبار، ومن المفترض أن يقدم تقريراً مفصلاً عن كل عيب أو خلل يجده.
من المفترض أيضاً أن يتتبع المُختبِر الخلل الذي تم الإبلاغ عنه وفقاً لأهميته، كما يتعيَّن عليه إيجاد حل لذلك الخلل.
المختبِر المبتدئ هو عين للمنتج، وبالتالي فإنَّه يُنتظَرُ منه الخروج باقتراحات لتحسين المنتج من حيث قابليته للاستخدام.
من المفترض أن يرسل المُختبِر تقرير حالة يومي إلى قائد الاختبار، يصف فيه أنشطة الاختبارات التي تم إجراؤها والحالات ذات الصلة.
تقرير الحالة اليومي عبارة عن أداة للمختبرين المبتدئين يتواصلون من خلالها مع قادة الاختبارات حول العمل المنجز، وتقرير الحالة الدقيق والموجز فنُّ يتعيَّن على كل مُختبرٍ مبتدئ تعلُّمه. والتقرير – الذي لا يكون عبارة عن 1000 كلمة، بل شرح يتضمن كلمات قليلة – يعطي فكرة كاملة عما تمَّ بصورة صحيحة، وما تمَّ بصورة خاطئة.
بعد العمل في مجال اختبار البرمجيات، يتعيَّن على المرء أن يعمل بجد لكي ينمو ويتطور في هذا المجال، ولكن مع العمل الجاد، توجد بعض الأمور التي يجب عليك الاهتمام بها لتصبح مختبِراً جيداً. دعنا نلقي نظرة عليهم:
في حالة المرشحين الذين ليس لديهم خبرة سابقة في اختبار البرمجيات، سيتم تحديد الأولويات المذكورة أعلاه في البداية بواسطة أحد كبار أعضاء الفريق.
يعد تحديد الأخطاء الأكثر خطورة والإبلاغ عنها بتفاصيل كاملة أكثر أهمية من تحديد 100 مشكلة في واجهة المستخدم والإبلاغ عنها. وبالطبع، كل خطأ له أهميته، ولكن إذا تم تحديد الأخطاء الحرجة في المرحلة الأولى من الاختبار، فإنَّها ستكلف أقل من حيث كلفة الإصلاح.
وكلما زادت أفكار الاختبار (سيناريوهات الاختبار) التي تنشئها وتنفِّذها، زادت تغطية الاختبار التي ستحصل عليها، وهذا يعني تقليل مخاطر الأخطاء غير المكتشفة.
تساعد جميع المعلومات المطلوبة مثل خطوات الاستنساخ وتفاصيل بيئة الاختبار، وبيانات الاختبار المستخدمة ولقطات الشاشة والفيديو ذات الصلة في إصلاح الأخطاء بصورة أسرع.
قد يسمى هذا الدور أيضاً كبير مهندسي ضمان الجودة في بعض المنظمات، فلكل شركة معايير مختلفة عندما يتعلق الأمر بتحديد التسمية.
كبير مختبري البرمجيات هو دور وظيفي يتطلب:
يعمل تحت إمرة (يقدم تقارير إلى): قائد الاختبار.
اجتماع تخطيط الاختبار هو اجتماع تتم فيه مناقشة سيناريوهات الاختبار عالية المستوى، والتحديات والمخاطر والموارد وما إلى ذلك، ويمكن لكبير مختبري البرمجيات تقديم مدخلاته. وتصميم الاختبار هو عملية تتم فيها تقسيم سيناريوهات الاختبار عالية المستوى إلى حالات اختبار صغيرة أو متوسطة المستوى.
أي نوع من حالات الاختبار التي يجب كتابتها، وما الذي يجب التركيز فيه، وعوامل الخطر التي يجب مراعاتها، هي بعض من نقاط يُتوقع أن يساعد فيها كبير المختبرين، لذا يعد تقدير الاختبار جزءاً هاماً جداً من تخطيط المشروع. وبعد سنوات من الخبرة، يستطيع كبير المختبرين – وبسهولة – قياس مقدار الوقت الذي قد تستغرقه مهمة معينة، مع مراعاة جميع العوامل ذات الصلة.
فمن إصلاح المشكلة المبلغ عنها، إلى التأكيد على إصلاح الأخطاء الحرجة لفهم كيفية إصلاح الخطأ ومعرفة طلبات التغيير وتأثيراتها، يجب على المختبر العمل عن كثب مع المطورين.
وبصفتك كبير مختبرين، فمن المفترض أن تكون قادراً على العمل مع فريق التطوير بأريحية، في أي موقف وتحت أي ظرف كان.
يمكن أن تكون الاحتياجات التدريبية أي شيء مثل:
بعد اكتساب بعض الخبرة في المجال، يكون الهدف الرئيسي لكل مختبِر هو تعلم أداة الأتمتة المناسبة وتنفيذها. وبصفتك أحد المختبرين ذوي الخبرة، فأنت تعلم أنَّ تنفيذ كل حالة اختبار يدوياً ليس خياراً جيداً، ولا ينصح به أيضاً.
يوفر التشغيل الآلي لحالات اختبار الوقت للمختبرين لتنفيذ حالات الاختبار الوظيفية، وإجراء اختبارات استكشافية “Exploratory Testing” شاملة. وبصفتك أحد كبار المختبرين، يُتوقع منك تقديم اقتراحات حول الأدوات التي يمكن استخدامها لجعل العملية سلسة وفعالة.
من المفترض أن يساعد المختبِر الأقدم في عملية أتمتة الاختبارات، ويجب عليه تدريب وتوجيه أعضاء الفريق المبتدئين على القيام بذلك.
تمكِّن الخبرة المختبِر من فهم العمليات المختلفة وفعاليتها. وبصفتك عضواً بارزاً في الفريق، يُتوقع منك مشاركة تجربتك في أثناء اتباع العمليات والعمل على مختلف البيانات حول أي عملية غير فعالة، مع تبيان الأسباب. كما يُفترض بك أن تتوصل إلى حل بشأن الثغرات أو المشكلات التي تراها في العمليات الحالية.
ويتوقع منك إجراء مناقشة شفافة حول تحسين عملية الاختبار، مع العملاء المتوقعين والإدارة وكبار المختبرين.
لقد اكتسبت خبرتك هذه لأنَّ شخصاً ما كان قد ساعدك على النمو في المراحل الأولى من حياتك المهنية. وبصفتك أحد كبار المختبرين، تقع على عاتقك مسؤولية تدريب أعضاء الفريق الناشئين.
يعمل كبير المختبرين كصلة وصل بين أعضاء الفريق المبتدئين والقيادة. ومن المتوقع أن يقوم بتدريب أعضاء الفريق المبتدئين بكفاءة، بحيث يتمكنون من الخروج بأفضل النتائج.
من المتوقع أن يقوم كبير المختبرين بتحليل نتائج الاختبار، ويجب أن يكون قادراً على تقديم نظرة ثاقبة حول جودة المنتج من نواحي مختلفة، مثل الأداء والوظيفة ومنظور المستخدم وما إلى ذلك.
وبالنسبة للأخطاء غير القابلة للتكرار، يجب أن يكون كبار المختبرين قادرين على مساعدة المختبرين المبتدئين وكذلك المطورين، وذلك من خلال تحليل بيئة الاختبار وبياناته وتسلسل الخطوات المتخذة فيه وتوقيتها، وما إلى ذلك.
بصفتك عضواً بارزاً في الفريق، فأنت تعلم مدى خطورة الأخطاء وكم يجب أن يتم الإسراع في حلها، وفي هذا السياق، فمن المفترض أن تكون متوافراً لتقديم المساعدة في اكتشاف الأخطاء والتحقق من إصلاحها.
وإذا لم تكتمل المهمة نظراً لضيق الجداول الزمنية للاختبار، فيجب أن يكون العضو الأقدم مرناً بما يكفي لتمديد المهمة وإكمالها.
حينما كنتَ مبتدئاً، كنتَ تعمل تحت المراقبة المستمرة وتعلمتَ كيفية عمل الأشياء، والآن بصفتك أحد كبار المختبرين، فأنت تعرف ما هي أولوية كل مهمة بعينها، وجدولها الزمني، وكيف يجب أن تتعامل معها.
إنَّ عضو الفريق الخبير على دراية بالعمليات التي يتم اتباعها، وبالتالي فهو يوائم أسلوب عمله ليتناسب مع العمليات المتبعة. وبصفتك أحد كبار المختبرين، فأنت تعرف كيفية تقديم التقارير، وما يجب تضمينه فيها، وإلى من يجب أن تَرفع تقاريرك.
هندسة الاختبارات منصب رفيع يهتم بإيجاد حلول للمشاكل التي تظهر في أثناء القيام بالاختبارات. وأنت في هذا الدور الوظيفي تسعى إلى امتلاك معرفة تقنية عميقة ومتجددة بأحدث الأدوات والتقنيات (هذا الدور لا يتطلب العمل فيه مهارات إدارة الأفراد أو الفريق).
تخصص مهندس الاختبارات ليس دوراً وظيفياً شائعاً، إذ يوجد هذا المنصب الوظيفي فقط في المؤسسات التي تركز بشكل كبير على استخدام الأتمتة والتكنولوجيا في إجراء الاختبارات.
يجب أن يستوفي مهندسو الاختبارات المعايير الآتية:
يعمل تحت إمرة (يقدم تقاريره إلى): مدير الاختبارات / رئيس قسم ضمان الجودة.
كل شركة لديها معايير مختلفة حول عملية التوظيف، ولكنَّ بعض الوظائف تتطلب بشكل افتراضي امتلاك قدرات معينة لإدارة الفريق. قيادة الاختبارات هي إحدى تلك الوظائف، حيث يجب أن يستوفي قادة الاختبارات المعايير الآتية:
يعمل تحت إمرة (يقدم تقاريره إلى): مدير الاختبار / مدير المشروع.
يفهم قائد الاختبار المتطلبات ويحدد أدوات الاختبار المطلوبة للمشروع واستراتيجية الاختبار بناءً على المتطلبات والموارد والمعلومات والجدول الزمني. ويعمل مع الفريق لتقدير مهام الاختبار ونطاق كل مهمة، وبقية التفاصيل ذات الصلة.
ويقرر أي المقاييس يجب اعتمادها حتى يمكن تتبع تقدم الاختبار بفاعلية، ويساعد أعضاء الفريق من خلال جدولة المهام وإرشادهم حول كيفية إجراء الاختبارات بكفاءة.
يبني قائد الاختبار فريقاً متنوعاً من الأشخاص المهرة الذين يمكنهم أن يشكلوا فريقاً منتجاً، ويُسند المهام إلى أعضاء الفريق ويتأكد من أنَّ مسار التنفيذ المخصص لكل عضو في الفريق ممتلئ بدرجة كافية، ويحفز الفريق على تبني سلوكٍ سليم، مع التركيز على الجودة، ويحدد الاحتياجات التدريبية لأعضاء الفريق ويبلغها للإدارة، ويحافظ على علاقة جيدة مع الفرق متعددة الوظائف، حيث يتعين على فريق الاختبار العمل مع جميع الفرق الأخرى. ويحل الخلافات بين أعضاء الفريق.
يتواصل قائد الاختبار مع العميل حول التغييرات التي أجريت على المتطلبات، وحول المخاوف العامة المتعلقة بالجودة. وينقل رسائل الإدارة ذات الصلة بتحسين العملية، وتحسين الأداء، والتوقعات التي يجب تلبيتها إلى الفريق.
يستعرض مدير مراحل الاختبارات التي أعدها فريق الاختبار ويوافق عليها. ويراجع العيوب التي سجلها فريق الاختبار ويقدم ملاحظاته (إن وجدت)، ويحدد نقاط ضعف وقوة أعضاء الفريق، ويقترح عليهم بالتالي مجالات التحسين، ويراجع إطار عمل أتمتة الاختبارات الذي أعده كبار المختبرين، ويقدم ملاحظاته لجعله قابلاً للتنفيذ.
بصفتك قائد اختبار، فمن المفترض أن تعمل مع فريق وتنجز المهام الملقاة على عاتقك، لذا يعد بناء فريق فعال أمراً هاماً جداً لأي قائد اختبار.
إليك بعض النقاط المشتركة التي يجب مراعاتها في أثناء محاولة بناء فريق:
مدير ضمان الجودة هو منصب وظيفي يهتم بمعظم الجوانب الإدارية مقارنة بالجوانب التقنية. ومن يعمل في هذا الدور الوظيفي يمتلك سجلاً مثبتاً للإدارة الناجحة في الفرق والمشاريع.
بصفتك مديراً، فإنَّ إدارة الأفراد هي مهمتك الأساسية. يتضمن ذلك تعيين الأشخاص المناسبين، وضبط سلوكيات الأفراد، وإنجاز العمل من قبل الفريق، وأخيراً وليس آخراً، الإبقاء على بيئة العمل إيجابية، وتشجيع أعضاء الفريق على تطوير مهاراتهم.
إنَّ تبني الموقف الصحيح والإيجابية، جنباً إلى جنب مع مهارات إدارة الفريق يساعدان مدير ضمان الجودة على أن يكون ناجحاً.
يُظهر الاحتفاظ بالمهام الحرجة لنفسك وإسناد مهام أقل أهمية لأعضاء الفريق عدم ثقتك بهم. يجب أن يفهم مدير ضمان الجودة نقاط قوة وضعف أعضاء الفريق، ويجب أن يخطط المهام وفقاً لذلك.
وفي بعض الأحيان، يجب أن يخاطر بإسناد المهام الحرجة لأعضاء الفريق، فبتشجيعهم وتوجيههم في الاتجاه الصحيح، قد يفاجِئونهم بتجاوز توقعاتهم.
بصفتك مديراً، فمن المفترض أن تتعامل مع العديد من المشاريع في وقت واحد، بالإضافة إلى إدارة الفريق. ولأنَّك صلة وصل مع أصحاب المصلحة، فأنت يجب أن تكون على أهبة الاستعداد لتقديم تقارير التقدم والاطلاع على آراء العملاء وما إلى ذلك.
وإنَّ علم تعدد المهام وإتقانها، هو الطريقة الوحيدة للتوفيق بين جميع المهام، حيث يساعد الاحتفاظ بقوائم المهام والإعداد والتنظيم وفهم الأولويات في التعامل مع تعدد المهام بسلاسة.
يعد بناء فريق بمزيج صحيح من المواقف والمهارات أمراً هاماً جداً لمدير ضمان الجودة، إذ يجب تخطيط ومراقبة وتدريب وتوجيه أعضاء الفريق الجدد بطريقة فعالة.
وبصفتك مديراً لضمان الجودة، فمن المفترض أن تقوم بفحص واختيار مرشحي الفريق، والتحقق من الفضول والمعرفة هو النهج الصحيح لاختيار المرشح المناسب، حيث يمكن تعليم جميع الأشياء الأخرى.
اجلس وناقش وقِّيم ووجِّه كبار أعضاء الفريق بصورة ممنهجة، فهذا يساعد في تكوين رابطة مع أعضاء الفريق ومعرفة اهتماماتهم ونقاط قوتهم.
بصفتك مدير ضمان الجودة، يمكنك فهم المخاطر التي ينطوي عليها مشروع معين في أثناء العمل على عمليات محددة.
وبسبب ضيق الجداول الزمنية وعدم توفر الموارد، يتعين على مديري ضمان الجودة المخاطرة بإجراء الاختبار. إنَّ تقييم المخاطر مع أصحاب المصلحة المعنيين ومحاولة التخفيف من المخاطر التي يتم التعرض إليها السبيل الفعال للتغلب على مثل هذه التحديات.
رئيس قسم ضمان الجودة هو أعلى منصب في قسم ضمان الجودة، فهذا الدور هو مزيج من المهارات التقنية والإدارية، وهو نتيجة سنوات من الخبرة جنباً إلى جنب مع سجل حافل من التعامل الناجح مع فرق ومشاريع وبرامج متعددة.
رئيس قسم التسليم هو المنصب الذي يغطي جميع جوانب دورة حياة تطوير البرمجيات. يجب أن يكون لدى مدير قسم التسليم خبرة في:
كما ترى، يوفر اختبار البرامج فرصاً ممتازة للنمو الوظيفي. وفي حين أنَّ كل دور يأتي مع مجموعة التحديات الخاصة به، فهو مشابه جداً للمسارات المهنية الأخرى، بحيث تزداد مسؤولياتك مع زيادة خبرتك، لذا ستحتاج إلى ترقية معارفك ومهاراتك في أثناء انتقالك إلى أعلى درجات السلم الوظيفي.
مسارات مهنية ذات صلة