الخطورة مقابل الأولوية - شرح أكثر

مقال مجاني 9 دقيقة

مقدمة

مرحبا ويعطيكم العافية وأهلا وسهلا فيكم في درس جديد من سلسلة اختبار البرمجيات!

كمختبر، أكيد شفت Bug وحسيت إنه "خطير" أو "مهم" أو "لازم يتصلح فوراً!" لكن وقت تريد أن تسجله بالـ Bug Tracking System، تجد خانتين: Severity و Priority.

كثير مختبرين - حتى اللي عندهم خبرة - يستخدموا المصطلحين هذول وكأنهم نفس الشي. يحطوا High Severity وHigh Priority لكل Bug يحسوا إنه كبير. لكن الحقيقة؟

Severity و Priority هم مختلفين تماماً!

والأهم من هيك - فهم الفرق بينهم مش فقط مصطلحات... هذا جزء أساسي من شغلك كمختبر محترف.

تحذير
الخلط بين Severity وPriority ممكن يخليك تصنف الـ Bugs غلط، وهذا يأثر على قرارات الفريق كله وعلى جودة المنتج!

الأهداف التعليمية

بنهاية هذا الدرس، ستكون قادراً على:

  • تفرق بوضوح بين Severity و Priority
  • تحدد من مسؤول عن كل واحد فيهم
  • تصنف الـ Bugs بشكل صحيح بناءً على التأثير التقني والأهمية للبزنس
  • تفهم ليش Bug ممكن يكون High Severity لكن Low Priority (والعكس!)
  • تتعامل مع اختلافات الرأي بينك وبين الـ Product Owner

Severity (الخطورة) - التأثير التقني

التعريف البسيط

Severity تجاوب على سؤال واحد: كم هذه المشكلة خطيرة تقنياً على النظام؟

يعني: كم التأثير التقني على النظام والمستخدم؟ كم الـ Bug كبير من ناحية الـ Functionality؟

الـ Severity هي مقياس تقني بحت. مش لها علاقة بالبزنس أو الوقت أو العملاء - لكن التأثير على النظام.

من يحدد الـ Severity؟

المختبر (Tester) أو الفريق التقني هم الذين يحددوا الـ Severity.

ليش؟ لأنه المختبر هو الذي فاهم التأثير التقني للمشكلة. هو الذي يعرف:

  • هل الـ Feature شغالة ولا لأ؟
  • هل في Workaround ولا لأ؟
  • كم المشكلة تأثر على تجربة المستخدم تقنياً؟

مستويات الـ Severity

المستويات تختلف من شركة لشركة، لكن عادةً تكون هيك:

1. Critical (حرجة / خطيرة جداً)

  • النظام واقف بالكامل
  • ميزة أساسية جداً مش شغالة ولا يوجد workaround
  • Data Loss (فقدان بيانات)
  • مشكلة أمنية خطيرة

مثال واقعي: تطبيق بنك والـ Login مش شغال - ما أحد أستطيع يدخل!

2. High (عالية)

  • ميزة أساسية مش شغالة، لكن في workaround
  • الـ Bug يأثر على جزء كبير من المستخدمين
  • الـ Functionality موجودة لكن فيها مشكلة كبيرة

مثال واقعي: Instagram - زر "Upload Photo" مش شغال من الـ App، لكن شغال من الـ Browser.

3. Medium (متوسطة)

  • الميزة شغالة لكن فيها مشاكل
  • تأثر على جزء من المستخدمين لكن مش الكل
  • في workaround سهل

مثال واقعي: Netflix - الـ Subtitles بلغة معينة مش ظاهرة بشكل صحيح، لكن باقي اللغات شغالة.

4. Low (منخفضة)

  • مشاكل تجميلية (UI/UX issues)
  • أخطاء إملائية
  • مشاكل صغيرة ما تأثر على الـ Functionality

مثال واقعي: Amazon - اسم منتج فيه Typo بصفحة "About Us".


Priority (الأولوية) - الأهمية للبزنس

التعريف البسيط

Priority تجاوب على سؤال مختلف تماماً: كم مستعجلين نصلح هذه المشكلة؟

يعني: من ناحية البزنس، هل لازم نصلحها اليوم؟ ولا ممكن نأجلها للـ Sprint الجاي؟

الـ Priority هي مقياس بزنس. تعتمد على: أهمية الميزة للشركة، عدد المستخدمين المتأثرين، الوقت، السمعة، الربح.

من يحدد الـ Priority؟

Product Owner / Product Manager / Business Team هم الذين يحددوا الـ Priority.

ليش؟ لأنهم هم الذين فاهمين:

  • كم هذه الميزة مهمة للعملاء؟
  • كم الـ Bug يأثر على سمعة الشركة؟
  • كم سنخسر فلوس لو ما صلحناه؟
  • ما أولوياتنا كبزنس حالياً؟
نصيحة
كمختبر، مش شغلتك تحدد الـ Priority. شغلتك تحدد الـ Severity وتوضح التأثير التقني، والـ Business يقرر الأولوية.

مستويات الـ Priority

برضه تختلف من شركة لشركة، لكن عادةً:

1. Urgent / Critical (مستعجل جداً)

  • لازم يتصلح اليوم أو خلال ساعات
  • الشركة عم تخسر فلوس أو عملاء الآن
  • سمعة الشركة بخطر

2. High (عالية)

  • لازم يتصلح بالـ Sprint الحالي أو خلال أيام
  • مهم للبزنس لكن مش مستعجل لدرجة "اليوم"

3. Medium (متوسطة)

  • ممكن ننتظر للـ Sprint الجاي أو الأسبوع الجاي
  • مهم لكن في أشياء أهم منه

4. Low (منخفضة)

  • عندما يكون في وقت أو Nice to have
  • مش مستعجل أبداً

الفرق الجوهري بكلمتين

Severity Priority
كم المشكلة كبيرة؟ (تقني) كم مستعجلين نصلحها؟ (بزنس)
How bad is the bug? How soon should we fix it?
يحددها ← المختبر / الفريق التقني يحددها ← Product Owner / البزنس
تعتمد على ← التأثير التقني تعتمد على ← الأهمية للبزنس والوقت

أمثلة واقعية - الجزء الأهم!

خلينا نشوف أمثلة من تطبيقات حقيقية حتى الموضوع يصير واضح 100%.

مثال 1: High Severity + Low Priority

السيناريو: Amazon - زر "Delete Account" مش شغال.

  • Severity: High

  • ليش؟ لأنه ميزة كاملة مش شغالة! من الناحية التقنية، هذا Bug كبير.

  • Priority: Low

  • ليش؟ لأنه قليل جداً من الناس بيحذفوا حساباتهم. الميزة مش مهمة للبزنس حالياً. ممكن ننتظر للـ Sprint الجاي.

هذا المثال يوضح إنه مش كل Bug خطير لازم ينصلح فوراً! البزنس يقرر.


مثال 2: Low Severity + High Priority

السيناريو: Amazon - الـ Logo تبع الشركة غلط أو مكسور بصفحة الـ Homepage.

  • Severity: Low

  • ليش؟ لأنه مشكلة تجميلية. لا يوجد functionality مكسور. الناس بقدروا يتسوقوا عادي.

  • Priority: High - Urgent!

  • ليش؟ لأنه ملايين الناس يشوفوا الـ Homepage كل يوم! الـ Logo الغلط يأثر على سمعة Amazon. لازم يتصلح فوراً!

تحذير
هذا المثال يكسر الفكرة الغلط إنه Low Severity = Low Priority. أحياناً مشكلة صغيرة تقنياً تكون مستعجلة جداً للبزنس!

مثال 3: High Severity + High Priority

السيناريو: تطبيق بنك - نظام الـ Payment والتحويلات واقف.

  • Severity: Critical

  • ليش؟ لأنه النظام بالكامل مش شغال! الناس ما بقدروا يحولوا فلوس أو يدفعوا فواتير.

  • Priority: Urgent

  • ليش؟ لأنه البنك عم بيخسر ملايين الدولارات كل ساعة! العملاء زعلانين! السمعة بخطر! لازم يتصلح الآن!

هذا السيناريو الوحيد الذي Severity و Priority يكونوا نفس المستوى - وهذا نادر!


مثال 4: Low Severity + Low Priority

السيناريو: Netflix - Typo (خطأ إملائي) بصفحة "About Us".

  • Severity: Low

  • ليش؟ لأنه خطأ إملائي. ما يأثر على الـ Functionality أبداً.

  • Priority: Low

  • ليش؟ لأنه قليل جداً من الناس بيدخلوا على صفحة "About Us". مش مهم للبزنس. ممكن ينصلح عندما يكون في وقت.


مثال 5: Medium Severity + High Priority

السيناريو: Instagram - الـ Filters الجديدة التي أطلقوها امبارح مش شغالة على بعض الموبايلات.

  • Severity: Medium

  • ليش؟ لأنه الـ Filters القديمة شغالة. الناس بقدروا يستخدموا التطبيق عادي. لكن الـ Feature الجديدة فيها مشكلة.

  • Priority: High

  • ليش؟ لأنه Instagram أعلنوا عن الـ Filters الجديدة! الناس متحمسين ليها! لو ما اشتغلت، سيكون في ردود فعل سلبية. لازم تتصلح بسرعة.


جدول مقارنة شامل

العنصر Severity (الخطورة) Priority (الأولوية)
التعريف كم المشكلة خطيرة تقنياً؟ كم مستعجلين نصلحها؟
النوع تقني (Technical) بزنس (Business)
من بيحددها؟ Tester / QA Team Product Owner / Manager
تعتمد على؟ التأثير على النظام والـ Functionality الأهمية للبزنس، الوقت، العملاء، الفلوس
تتغيّر؟ نادراً (التأثير التقني ثابت) كثير! (حسب الوقت والظروف)
أمثلة العوامل النظام واقف؟ في workaround؟ Data loss؟ كم ناس متأثرين؟ سنخسر فلوس؟ سمعة الشركة؟

أخطاء شائعة - لا تقع فيها!

1. الخلط بين الاثنين

كثير مختبرين يحطوا نفس القيمة للـ Severity والـ Priority. يفكروا: "هذا Bug كبير، يعني High Severity و High Priority!"

الغلط: Severity و Priority مستقلين عن بعض! ممكن يكونوا مختلفين تماماً.


2. افتراض إنه High Severity = High Priority دايماً

كثير مختبرين بيفترضوا إنه كل Bug خطير لازم يتصلح فوراً.

الواقع: البزنس يقرر متى يتصلح. Bug خطير تقنياً لكن يخص ميزة قليل ناس يستخدموها؟ ممكن ينأجل.


3. المختبر يحاول يحدد الـ Priority

بعض المختبرين يزعلوا عندما الـ Product Owner يحط Priority واطية لـ Bug خطير.

الحقيقة: الـ Priority مش شغلة المختبر. شغلة المختبر يوضح التأثير التقني (Severity)، والبزنس يقرر الأولوية.

نصيحة
لو حسيت إنه Priority واطية لـ Bug خطير، وضّح للـ Product Owner التأثير التقني. لكن بالنهاية، القرار إله.

4. عدم توثيق السبب

كثير مختبرين يحطوا Severity دون أن يوضحوا ليش.

الأفضل: اكتب بالـ Bug Description ليش اخترت هذا الـ Severity. وضّح التأثير. هيك الكل يفهم ولن يكون في خلافات.


نصائح عملية للمختبر المحترف

1. حدد Severity بناءً على التأثير التقني فقط

لا تخلي البزنس يأثر على حكمك التقني. لو الـ Bug خطير تقنياً، حط High Severity - حتى لو الميزة مش مهمة للبزنس.


2. اترك Priority للـ Business

مش شغلتك تحدد الأولوية. وضّح التأثير التقني بوضوح، والبزنس يقرر متى يتصلح.


3. وثّق ليش اخترت هذا الـ Severity

اكتب بالـ Bug:

  • ما التأثير على المستخدم؟
  • في workaround ولا لأ؟
  • كم ناس متأثرين (تقنياً)؟

هيك القرار يصير واضح للكل.


4. لا تجادل كثير على Priority

لو الـ Product Owner حط Priority واطية لـ Bug خطير:

  • وضّح التأثير مرة واحدة بوضوح
  • لو قرر يخليها واطية، احترم قراره
  • البزنس أدرى بالأولويات

البزنس عنده معلومات لا تملك إياها: ميزانيات، عملاء، مواعيد، استراتيجيات. ثق بقرارهم.


5. الـ Priority ممكن تتغير - Severity لأ

الـ Severity ثابتة - التأثير التقني ثابت.

لكن الـ Priority ممكن تتغير! Bug كان Low Priority ممكن يصير High Priority لو:

  • أصبح هناك شكاوى من عملاء كبار
  • قرروا يطلقوا الميزة رسمياً
  • المنافسين أطلقوا ميزة مشابهة

هذا طبيعي! البزنس ديناميكي.

بالتوفيق، ونشوفكم بالدرس الجاي! 🚀