الخطورة والأولوية
يجيب كل تقرير عيب عن سؤالين منفصلين. الخطورة (Severity) هي مدى سوء الأثر: يعرّفها مسرد ISTQB بأنها درجة أثر العيب في تطوير مكوّن أو نظام أو في تشغيله. والأولوية (Priority) هي مدى السرعة التي ينبغي أن يُصلَح بها العيب: مستوى الأهمية التجارية الممنوح له مقارنةً بكل الأعمال الأخرى التي يمكن أن ينجزها الفريق.
في تطبيق صيدلية إلكترونية، العيب الذي يخصم المبلغ من بطاقة العميل دون أن يُنشئ الطلب خطورته عالية: يُؤخذ المال ولا يُسلَّم شيء. أما متى يُصلَح فقرار منفصل، يعتمد على عدد العملاء الذين قد يصادفونه، ووجود حل بديل (Workaround) من عدمه، وموعد الإصدار القادم.
لماذا يهم
لدى الفرق دائماً عيوب أكثر من الوقت المتاح. والخطورة والأولوية تتيحان لها أن تقرر بسرعة ما يُصلَح أولاً وما يمكن إطلاقه كما هو. وعندما تُدمجان في حقل واحد أو تُضخَّمان، يُصلَح عيب شكلي لاحظه مدير بينما ينتظر عيب يُتلف البيانات بصمت.
وبالنسبة إلى المختبِر، فالتقييم الصادق جزء من مصداقية التقرير. فإذا كانت الخطورة التي تقترحها تتبع الأدلة، تصرّف بناءً عليها المطورون ومالك المنتج؛ وإذا كان كل ما تبلّغ عنه «حرجاً»، توقفوا عن قراءة الحقل، وانتظر العيب الحرج الحقيقي التالي مع البقية.
مقياسان لسؤالين مختلفين
تصف الخطورة العيبَ نفسه: ما الذي يحدث عند وقوع الإخفاق. ولا تتغير إلا بظهور دليل جديد، كأن تكتشف أن انهياراً أبلغت عنه يُفرغ السلة أيضاً. أما الأولوية فتصف قراراً بشأن ترتيب العمل، ولذلك تتحرك مع السياق: موعد إصدار، أو حملة تسويقية، أو حل بديل جديد، أو تكلفة الإصلاح ومخاطره. ويدرجهما منهج ISTQB للمستوى التأسيسي حقلين منفصلين في تقرير العيب.
تختلف المقاييس من فريق إلى آخر، لذا يستخدم هذا الدرس مقياسَي دليل كتابة تقرير الخطأ. فللأولوية أربعة مستويات، يرتبط كلٌّ منها بوقت: قصوى (Highest: الإصلاح الآن، ولا يخرج الإصدار من دونه)، وعالية (High: الإصلاح في هذا الإصدار)، ومتوسطة (Medium: السبرنت القادم)، ومنخفضة (Low: قائمة الانتظار)؛ وبعض الفرق تكتب P0–P3 بدلاً منها، وبعض متتبّعات العيوب تضيف مستوى خامساً. وللخطورة خمسة مستويات تُفحص من الأعلى حتى ينطبق أحدها:
- حاجب (Blocker): مسار أساسي لا يمكن استخدامه ولا حل بديل له. لا يستطيع أي عميل تقديم طلب.
- حرج (Critical): ضياع مال أو خصمه خطأً، أو فقدان بيانات أو تلفها، أو انكشاف أمني، أو تعطّل وظيفة رئيسية لمعظم المستخدمين. يُضاف المبلغ المسترد مرتين.
- رئيسي (Major): تعطّل وظيفة مهمة مع وجود حل بديل، أو تأثر عدد قليل من المستخدمين. رفع الوصفة الطبية يفشل من الكاميرا لكنه ينجح من معرض الصور.
- ثانوي (Minor): مشكلة وظيفية صغيرة أو شكلية. سجل الطلبات مرتّب من الأقدم إلى الأحدث.
- تافه (Trivial): خطأ إملائي أو تفصيل شكلي لا يُذكر. نقطة ناقصة في نص المساعدة.
الخطورة
ما مدى سوء الأثر عند وقوع الإخفاق؟
- تصف:
- العيبَ وعواقبه
- تعتمد على:
- الأثر في المستخدمين والبيانات والمال والأمن، ووجود حل بديل
- من يحددها:
- يقترحها المختبِر، وقد يصححها المطوّر بالأدلة
- المقياس في هذا الدرس:
- حاجب · حرج · رئيسي · ثانوي · تافه
- تتغير عندما:
- يظهر دليل جديد على الأثر
الأولوية
متى يجب أن يصلحه الفريق مقارنةً ببقية العمل؟
- تصف:
- قراراً بشأن ترتيب العمل
- تعتمد على:
- الأثر والتكرار، إضافةً إلى المواعيد والظهور وتكلفة الإصلاح
- من يحددها:
- مالك المنتج، عادةً في جلسة الفرز
- المقياس في هذا الدرس:
- قصوى · عالية · متوسطة · منخفضة، أو من P0 إلى P3
- تتغير عندما:
- يتغير السياق: موعد أو حملة أو حل بديل
الأثر والتكرار: الأدلة وراء التقييمين
الأثر هو ما يفعله الإخفاق: بالمستخدم (عمل متوقف، أو نتيجة خاطئة، أو جهد ضائع)، وبالبيانات والمال والأمن والالتزامات القانونية والثقة، ويشمل وجود حل بديل من عدمه. وتُقدَّر الخطورة أساساً من الأثر.
والتكرار هو عدد مرات حدوث الإخفاق: في كل مرة، أم في 3 محاولات من 10. ويرافقه مدى الانتشار (Reach)، أي إلى أي حد يمتد الإخفاق: على كل الأجهزة أم على إصدار واحد من نظام التشغيل، في صفحة الدفع أم في تقرير سنوي، لكل العملاء أم لنوع حساب واحد. ويؤثر التكرار ومدى الانتشار في الأولوية أكثر مما يؤثران في الخطورة، لأن الأثر نفسه على كل طلب أشد إلحاحاً منه على طلب واحد في الشهر. وبعض مقاييس الخطورة تراعي مدى الانتشار أيضاً، كمستوى «رئيسي» أعلاه، لذا اتفقوا على قاعدة فريقكم وطبّقوها بالطريقة نفسها في كل مرة.
- ما الذي يحدث بالضبط للمستخدم والبيانات والمال؟
- هل يوجد حل بديل يجده المستخدم العادي، وما الذي يكلّفه؟
- كم مرة يتكرر، وتحت أي شروط، ومن يمكن أن يصادفه؟
- ما أسوأ نتيجة لديك دليل عليها، لا أسوأ ما يمكنك تخيّله؟
أربع تركيبات مع أمثلة
لأن المقياسين يجيبان عن سؤالين مختلفين، فكل تركيبة تقع في الواقع. والخطورة العالية هنا تعني حاجباً أو حرجاً، والخطورة المنخفضة تعني ثانوياً أو تافهاً؛ والأولوية العالية تعني قصوى أو عالية، والأولوية المنخفضة تعني متوسطة أو منخفضة. أما مستوى «رئيسي» فيقع بين مجموعتَي الخطورة، فلا يكوّن تركيبة مختلطة. والتركيبتان المختلطتان تحتاجان إلى أكبر قدر من العناية: الخطورة العالية مع أولوية منخفضة تحتاج إلى سبب مكتوب، والخطورة المنخفضة مع أولوية عالية تتعلق عادةً بالظهور.
أمثلة من تطبيق الصيدلية نفسه، قبل أيام من إصدار مخطط له يوم الخميس:
- خطورة عالية وأولوية عالية: الدفع ببطاقة محفوظة يخصم المبلغ من البطاقة دون إنشاء الطلب. حرج، وأولوية قصوى: يُصلَح قبل الإصدار.
- خطورة عالية وأولوية منخفضة: تفعيل ميزة نقاط الولاء الجديدة يصفّر الأرصدة الحالية، لكن علم ميزة (Feature Flag)، وهو إعداد يشغّل الميزة أو يوقفها دون إصدار جديد، يبقيها معطّلة حتى الربع القادم. حرج، وأولوية منخفضة حالياً، مع موعد لمراجعته قبل تفعيل العلم.
- خطورة منخفضة وأولوية عالية: لافتة تخفيضات اليوم الوطني في الشاشة الرئيسية تعرض تاريخ العام الماضي. لا شيء معطّل، لكن الحملة تبدأ يوم السبت. ثانوي، وأولوية عالية.
- خطورة منخفضة وأولوية منخفضة: سهم الرجوع في شاشة الإعدادات أخفض بمقدار 2 بكسل منه في الشاشات الأخرى. تافه، وأولوية منخفضة: قائمة الانتظار.
| الخطورة: الأثر | الأولوية: متى يُصلَح | |
|---|---|---|
| أولوية عاليةقصوى · عالية | أولوية منخفضةمتوسطة · منخفضة | |
| خطورة عاليةحاجب · حرج | خصمٌ من البطاقة دون إنشاء الطلبحرج · قصوى: يُصلَح قبل الإصدار | تصفير نقاط الولاء وعلم الميزة ما زال معطّلاًحرج · منخفضة: مراجعة قبل التفعيل |
| خطورة منخفضةثانوي · تافه | تاريخ العام الماضي على لافتة التخفيضاتثانوي · عالية: يُصلَح قبل حملة السبت | سهم الرجوع منزاح 2 بكسلتافه · منخفضة: قائمة الانتظار |
- كلاهما عالٍ: يُصلَح أولاً
- تركيبة مختلطة: سجّل السبب في التقرير، مثل ميزة معطّلة أو شاشة يراها الجميع
الخطورة العالية هنا حاجب أو حرج، والمنخفضة ثانوي أو تافه؛ ويقع مستوى «رئيسي» بين الصفين.
من يحدد كلاً منهما
الخطورة حكم على الأثر، لذا يقترحها عادةً المختبِرُ الذي اكتشف العيب بناءً على الأدلة. والأولوية قرار تجاري، لذا يحددها مالك المنتج، أو من يملك قائمة مهام المنتج (Product Backlog)، وعادةً مع قائد التطوير أثناء فرز العيوب (Defect Triage): مراجعة دورية يقرر فيها الفريق مصير كل عيب جديد. وإذا طلب منك فريقك اقتراح أولوية، فاذكر أنها اقتراح.
- المختبِر: يقترح الخطورة ويسجّل الحقائق التي تعتمد عليها الأولوية: التكرار، ومدى الانتشار، والحل البديل، والإصدار المتأثر.
- المطوّر أو قائد التطوير: يؤكد السبب والنطاق، ويقدّر جهد الإصلاح ومخاطره، وقد يصحح الخطورة بحقائق تقنية جديدة.
- مالك المنتج: يحدد الأولوية ويغيّرها، ويقرر التأجيل أو عدم الإصلاح، ويسجّل السبب.
- الدعم والعمليات: يبلّغان عن عدد مرات ظهور الإخفاق في بيئة الإنتاج ولأي العملاء.
- لا تتغير الخطورة إلا بدليل جديد؛ أما الأولوية فتتغير كلما تغيّر السياق.
جرّبها: اقتراح خطورة الخطأ بالذكاء الاصطناعي جرّبها: اقتراح أولوية الخطأ بالذكاء الاصطناعي
مثال تطبيقي: تقييم عيب واحد
أثناء اختبار الانحدار لتطبيق الصيدلية، تلغي طلباً مدفوعاً بالنقر على «إلغاء الطلب» مرتين بسرعة. فيُضاف المبلغ المسترد إلى المحفظة مرتين. ويحدث ذلك في 5 محاولات من 5 عندما تأتي النقرة الثانية خلال ثانيتين، على Android وiOS.
- الأثر: تدفع الشركة المبلغ مرتين ويصبح الرصيد المخزَّن خاطئاً؛ وسيضطر قسم المالية إلى إيجاد كل حالة وعكسها يدوياً.
- التكرار: في كل مرة تحت شرط محدد، والنقر المزدوج شائع عندما تكون الشبكة بطيئة. ويمكن لأي عميل يلغي طلباً مدفوعاً أن يتسبب فيه.
- الخطورة: حرج، لأن المال يضيع والبيانات المخزَّنة خاطئة. وليس حاجباً: فالإلغاء ما زال يعمل.
- الأولوية: ليس تحديدها من مهمتك، لكنك تقدّم لمالك المنتج الحقائق أعلاه وموعد إصدار الخميس. وفي جلسة الفرز يحدد الأولوية القصوى، وتخطط أنت لاختبار تأكيد (Confirmation Testing) للإصلاح.
Title: المحفظة: يُضاف المبلغ المسترد مرتين عند النقر مرتين على «إلغاء الطلب»
Impact: مالي: تتلقى المحفظة ضعف المبلغ المسترد؛ وعلى قسم المالية عكسه يدوياً
Frequency: في كل محاولة (5 من 5) إذا جاءت النقرة الثانية خلال ثانيتين (Android وiOS)
Reach: كل عميل يلغي طلباً مدفوعاً
Severity: Critical (اقترحه فريق الاختبار: خسارة مالية وبيانات مخزَّنة خاطئة)
Priority: Highest (حدده مالك المنتج في جلسة الفرز: الإصدار يوم الخميس)أخطاء شائعة
- استخدام حقل واحد للأمرين، فيصبح «حرج» بمعنى «عاجل» عند بعض الناس وبمعنى «مدمّر» عند آخرين.
- رفع الخطورة للحصول على إصلاح أسرع. دافع عن الأولوية بالحقائق بدلاً من ذلك؛ فالتقييمات المضخَّمة تفقد ثقة الفريق.
- التقييم بناءً على أسوأ حالة يمكنك تخيّلها بدلاً من الأثر الذي لاحظته.
- معاملة كل عيب شكلي على أنه منخفض الأولوية: فعلى سعر أو إشعار قانوني أو صفحة حملة قد يكون عاجلاً.
- تغيير الأولوية دون تسجيل السبب، فلا يستطيع أحد لاحقاً أن يميّز القرار من السهو.
- إغفال التكرار ومدى الانتشار، فيضطر مالك المنتج إلى تخمين عدد العملاء المتأثرين.
من منظور ضمان الجودة
في فريق عمل حقيقي تقترح الخطورة عند تسجيل العيب، مستخدماً المقياس المكتوب الذي اتفق عليه الفريق، ثم تراجعها في جلسة الفرز عندما يضيف المطورون حقائق تقنية. وأربعة أسئلة تحسم معظم التقييمات: ماذا لاحظت؟ وكم مرة يحدث؟ ومن يمكن أن يصادفه؟ وهل يوجد حل بديل؟
وعندما تختلف مع أولوية ما، فاسأل عن السياق بدلاً من الجدال حول التسمية: «كم عميلاً يلغي طلباً مدفوعاً كل يوم؟» أو «هل العلم معطّل فعلاً في بيئة الإنتاج؟». فالحقائق الجديدة تغيّر القرارات، أما رفع التقييمات فلا يغيّرها. واحتفظ بأمثلة مقيَّمة قليلة من منتجك بجانب المقياس، ليقيّم أعضاء الفريق الجدد بالطريقة نفسها.
تمرين عملي
قيّم أربعة عيوب في تطبيق لحجز مواعيد العيادة
تختبر تطبيقاً لحجز مواعيد العيادة. الإصدار مخطط له يوم الأحد، وتبدأ في اليوم نفسه حملة تعلن عن الدفع الإلكتروني الجديد. لكل عيب في المادة، اقترح الخطورة، واقترح أولوية مع جملة واحدة تبرّرها، واذكر الحقائق التي ما زلت تحتاج إليها.
ثم حدّد التركيبات المختلطة واكتب السبب الذي ستسجله لكل منها. وبعد ذلك يمكنك مقارنة إجاباتك بأداتَي اقتراح الخطورة والأولوية بالذكاء الاصطناعي، رأياً ثانياً لا إجابةً نهائية.
D1 الدفع الإلكتروني: زر «ادفع» لا يفعل شيئاً على iOS. يعمل Android والموقع.
ما زال المرضى قادرين على الحجز والدفع في العيادة.
D2 رسالة تأكيد الحجز بالبريد تعرض "{doctor_name}" بدلاً من اسم الطبيب،
في كل الحجوزات.
D3 يستطيع المريض فتح نتائج تحاليل مريض آخر بتغيير الرقم في آخر
رابط النتائج.
D4 دمج سجلَّين مكرَّرين لمريض (وظيفة للمشرفين تُستخدم بضع مرات في الشهر)
يحذف سجل زيارات السجل الثاني بدلاً من نقله.- اكتب أثر كل عيب في جملة واحدة.
- دوّن ما تعرفه عن التكرار ومدى الانتشار، وما لا تعرفه.
- اقترح الخطورة، فاحصاً المقياس من «حاجب» نزولاً.
- اقترح أولوية واذكر من يؤكدها.
إظهار الإجابة النموذجية
D1: رئيسي. يفشل الدفع الإلكتروني لكل مستخدمي iOS، لكن المرضى ما زالوا قادرين على الحجز والدفع في العيادة، ولا يضيع مال ولا بيانات، فهو ليس حرجاً. الأولوية قصوى، لأن الحملة تعلن عن الدفع الإلكتروني يوم الإصدار؛ ويؤكدها مالك المنتج. وليست تركيبة مختلطة، لأن «رئيسي» يقع بين المجموعتين. ما زلت تحتاج إلى: نسبة المرضى الذين يستخدمون iOS (فإن كانوا الأغلبية فقد يقيّمه الفريق حرجاً).
D2: ثانوي، لأن الحجز نفسه صحيح. الأولوية عالية: كل مريض سيرى الرسالة المعطوبة يوم الحملة. تركيبة مختلطة، والسبب الذي يُسجَّل هو ظهورها لكل المرضى أثناء الحملة. ما زلت تحتاج إلى: هل تعرض رسائل بريد أخرى، مثل التذكيرات والإلغاءات، متغيرات غير مستبدَلة مثلها.
D3: حرج، لأن بيانات صحية شخصية مكشوفة لمستخدمين آخرين. الأولوية قصوى، وأبلغ مسؤول الأمن فوراً. ما زلت تحتاج إلى: هل العيب موجود في بيئة الإنتاج أصلاً؛ فإن كان كذلك فربما كُشفت بيانات مرضى حقيقيين بالفعل، ويقرر مسؤول الأمن هل يعالجه حادثةً أمنية (Security Incident). أثبته بحسابات اختبار فقط وتوقف عند أول دليل.
D4: حرج، لأن بيانات المرضى تضيع، رغم أن عدداً قليلاً من المشرفين يستخدمون الوظيفة. وقد تكون الأولوية متوسطة إذا أوقف مالك المنتج الدمج حتى الإصلاح وأمكن استعادة أي سجلات مفقودة من النسخ الاحتياطية؛ وهذه تركيبة مختلطة، فسجّل قرار الإيقاف وموعد المراجعة. وإذا وجب أن يبقى الدمج متاحاً، فالأولوية عالية. ما زلت تحتاج إلى: هل العيب موجود في بيئة الإنتاج، وإن كان كذلك فهل تحتوي النسخ الاحتياطية على السجلات المحذوفة.
أسئلة شائعة
هل يمكن أن تكون خطورة العيب منخفضة وأولويته عالية؟
نعم. تاريخ خاطئ على لافتة حملة، أو اسم منتج مكتوب خطأً في إعلان إطلاق، لا يعطّل شيئاً، لكن كل زائر يراه. فالأولوية تعتمد على سياق العمل مثل الظهور والمواعيد، لا على الأثر وحده.
من يقرر عندما يختلف المختبِر والمطوّر على الخطورة؟
اعرضا الأدلة في جلسة الفرز. فقد يعرف المطوّر حقائق لا تعرفها، كبيانات تتلف في الخلفية، وقد تعرف أنت آثاراً على المستخدمين لم يرها. وإذا استمر الخلاف، يقرر قائد الاختبار أو مجموعة الفرز مرة واحدة ويسجّل السبب. والخطورة ليست مكان التفاوض على الجداول الزمنية؛ فهذا دور الأولوية.
هل ينبغي أن يغيّر التكرارُ الخطورةَ؟
في الغالب لا: الخطورة تتبع الأثر، والتكرار يغذّي الأولوية. لكن بعض المقاييس، ومنها مقياس هذا الدرس، تستخدم مدى الانتشار عاملاً مرجِّحاً، كأن يُصنَّف العيب رئيسياً بدلاً من حرج عندما يتأثر عدد قليل من المستخدمين. اتفقوا على القاعدة، واكتبوها في المقياس مع أمثلة، وسجّلوا التكرار ومدى الانتشار في التقرير في كل الأحوال.
ماذا تعني P0 وP1 وP2 وP3؟
هي مقياس أولوية مرقّم تستخدمه فرق وأدوات كثيرة، من P0 (إصلاح فوري) إلى P3 (قائمة الانتظار). وهي تعبّر عن الأولوية لا عن الخطورة. وإذا كان متتبّع العيوب لديك يستخدم كلمات بدلاً منها، فاحتفظ بمقابلة مكتوبة، مثل P0 لـ«قصوى» وP3 لـ«منخفضة». وبعض المتتبّعات ترقّم بطريقة أخرى، كالترقيم من P1 إلى P5، فاقرأ تعريفات متتبّعك.
المراجع
- ISTQB Glossaryالتعريفات القياسية لمصطلحات الاختبار — حالة الاختبار واختبار الانحدار والخطورة والأولوية وتحليل القيم الحدّية وغيرها.
- ISTQB Certified Tester Foundation Level (CTFL) v4.0المنهج التأسيسي لاختبار البرمجيات: مستويات الاختبار وأنواعه وتقنيات تصميم الاختبارات وإدارة الاختبار والأدوات.
- IEEE 1044-2009 — IEEE Standard Classification for Software Anomaliesمفردات وسمات قياسية لتصنيف شذوذات البرمجيات — العيوب والإخفاقات وأثرها (مدرج لدى IEEE كمعيار غير نشط محفوظ).
تدرّب بأدوات متقن
احصل على درجة خطورة مقترحة (Blocker / Critical / Major / Minor / Trivial) مع التبرير من الذكاء الاصطناعي من متقن.
احصل على أولوية مقترحة (P0–P3) تراعي أثر العمل والمستخدمين المتأثرين والمواعيد النهائية ودرجة الخطورة، من الذكاء الاصطناعي من متقن.
حوّل الملاحظات الأولية إلى تقرير خطأ كامل: خطوات إعادة الإنتاج، والمتوقّع مقابل الفعلي، والبيئة، ودرجة الخطورة، وقائمة تحقق للمرفقات.
للتعمّق أكثر
- كيف تكتب تقرير خطأ (Bug Report)الخطورة مقابل الأولوية
- فرز العيوب (Defect Triage)الغرض والمشاركون
- فرز العيوب (Defect Triage)الخطورة × الأولوية: مصفوفة قرار
- دورة حياة العيب (Defect Lifecycle)شرح دورة حياة العيب: الفرق بين الخطأ والعيب والإخفاق، والحالات والانتقالات، والقرارات، وإعادة الاختبار مقابل الانحدار، والتقادم، والمقاييس، ومثال كامل.
تقدّمك في هذا الموضوع
سجّل الدخول لتتابع تقدّمك
علّم الموضوعات مكتملة، وتابع من حيث توقفت، وافتح امتحانات التخصص.