معايير القبول في مشروع التطبيق: كيف تكتب شرطًا يُختبر
لمدير المنتج والمشتريات ومدير التقنية: متى تعد الميزة أو المرحلة مقبولة؟ نموذج لكتابة معايير قبول قابلة للاختبار، بأمثلة جاهزة ومعايير غير وظيفية وقالب تنسخه، ثم ربطها بالدفعات حتى لا يصبح الاستلام خلافًا.
معيار قبول تطبيق الجيد جملة يستطيع شخصان مختلفان أن يختبراها فيصلا إلى الحكم نفسه: قُبل أو لم يُقبل. صيغته: حالة البداية، ثم ما يفعله المستخدم، ثم نتيجة يمكن ملاحظتها أو قياسها، مع البيانات التي يُختبر بها. يُكتب لكل ميزة مع حالات الاستثناء لا المسار السعيد وحده، ويُضاف إليه ما لا تصفه الميزات: الأداء على أجهزة محددة، والأمن، واشتراطات المتاجر. ثم يُربط كل دفع بقائمة معايير مرحلته وبحد واضح للعيوب المفتوحة، فلا يبقى «التطبيق جاهز» رأيًا يختلف عليه الطرفان.
أغلب خلافات الاستلام لا تنشأ لأن الشركة لم تبنِ الميزة، بل لأن كل طرف كان يتخيلها بطريقة مختلفة. العقد يقول «تسجيل دخول برقم الجوال»، والشركة سلّمت شاشة تعمل، وفريقك يرفض لأن الرمز لا يُعاد إرساله ولأن الرقم يُقبل بصيغة واحدة فقط. كلاهما محق وفق ما في ذهنه، ولا أحد محق وفق الورق، لأن الورق لم يقل شيئًا يمكن اختباره. هذه المقالة نموذج عملي لكتابة معايير القبول: الصيغة، وأمثلة جاهزة لأربع مزايا شائعة، ومعايير غير وظيفية، وقالب تنسخه، وطريقة ربط القبول بالدفعات.
صيغة معيار القبول: ثلاثة أجزاء واختبار واحد
أشهر صيغة لمعيار القبول ثلاثية، تُكتب بالعربية هكذا:
- بافتراض (الحالة)
- ما يجب أن يكون صحيحًا قبل الاختبار: من المستخدم، وما صلاحياته، وما البيانات الموجودة.
- عندما (الفعل)
- ما يفعله المستخدم أو النظام بالضبط، خطوة واحدة أو تسلسل قصير.
- فإن (النتيجة)
- ما يُرى أو يُقاس: رسالة بنصها، أو حالة تتغير، أو سجل يُنشأ، أو إشعار يصل لطرف محدد.
ثم اختبر المعيار بسؤال واحد: هل يستطيع مختبر لا يعرف المشروع أن يحكم عليه دون أن يسألك ماذا قصدت؟ إن احتاج إلى سؤالك، فالمعيار ما زال رأيًا.
- «تسجيل دخول سهل وآمن برقم الجوال.»
- «التطبيق سريع.»
- «تقرير المبيعات يعرض البيانات بشكل واضح.»
- «يدعم جميع الأجهزة.»
- بافتراض رقم مسجل، عندما يطلب المستخدم الرمز، فإن رسالة تصل خلال مدة تحددها، ويُقبل الرمز مرة واحدة فقط، ويُرفض بعد انتهاء صلاحيته برسالة نصها محدد.
- فتح شاشة الطلبات على الأجهزة المحددة في القائمة المرفقة يستغرق أقل من الحد الذي تحدده، مقيسًا بطريقة متفق عليها.
- مجموع التقرير لفترة محددة يساوي مجموع الطلبات المكتملة في قاعدة البيانات للفترة نفسها، ويُصدَّر بصيغة محددة.
- يعمل على قائمة أجهزة وإصدارات مرفقة بالاسم، بالعربية والإنجليزية.
ثلاث قواعد تكمل الصيغة: معيار واحد لكل سلوك، فلا تجمع خمس نتائج في جملة؛ وأرقام بدل الصفات؛ ونص الرسائل مكتوب حين يهمك نصها. وتذكر أن الصفحة التي تفصل تحليل المتطلبات وإعداد وثيقة SRS تبين أين تقع المعايير في الوثيقة: تحت كل قصة مستخدم، بجانب قاعدة العمل وحالات الاستثناء.
معايير قبول تطبيق جاهزة لأربع مزايا شائعة
مثال افتراضي للتوضيح تطبيق لموزع مستلزمات يطلب منه عملاؤه من المنشآت، ولوحة تحكم لفريق المبيعات. الأرقام بين القوسين قيم مثال تستبدلها بما يناسب مشروعك. رقّم كل معيار حتى يُشار إليه في محضر الاختبار والعقد.
1. الدخول برقم الجوال ورمز التحقق
- ق-1.1: بافتراض رقم جوال سعودي مسجل، عندما يُدخل بصيغة 05 أو 9665 أو +9665، فإن النظام يقبله ويوحده بصيغة واحدة.
- ق-1.2: عندما يطلب المستخدم الرمز، فإن زر إعادة الإرسال يبقى معطلًا (60 ثانية) مع عداد ظاهر، ولا يُسمح بأكثر من (5) طلبات في الساعة للرقم نفسه.
- ق-1.3: بافتراض رمز منتهي الصلاحية أو مستخدم، عندما يُدخل، فإن الدخول يُرفض برسالة محددة النص ولا تُنشأ جلسة.
- ق-1.4: بافتراض رقم غير مسجل، فإن المستخدم يُحوَّل إلى مسار التسجيل دون أن يكشف النظام إن كان الرقم مسجلًا لطرف آخر.
2. إنشاء طلب
- ق-2.1: بافتراض سلة فيها منتجات، عندما يؤكد العميل الطلب، فإن طلبًا واحدًا فقط يُنشأ حتى لو ضُغط زر التأكيد مرتين متتاليتين.
- ق-2.2: بافتراض منتج نفدت كميته بعد إضافته للسلة، عند التأكيد، فإن العميل يرى اسم المنتج والكمية المتاحة ويختار التعديل أو الحذف قبل الإرسال.
- ق-2.3: عند إنشاء الطلب، فإن مندوب العميل يستلم إشعارًا، ويظهر الطلب في اللوحة بحالة «جديد» مع وقت الإنشاء.
- ق-2.4: بافتراض انقطاع الشبكة أثناء الإرسال، فإن التطبيق لا يعرض الطلب ناجحًا ما لم يؤكده الخادم، ولا يُنشئ طلبًا مكررًا عند إعادة المحاولة.
3. الدفع الإلكتروني
- ق-3.1: بافتراض دفع ناجح في البوابة، فإن حالة الطلب تتغير إلى «مدفوع» ويستلم العميل إيصالًا، ويطابق المبلغ المسجل في النظام مبلغ العملية لدى البوابة.
- ق-3.2: بافتراض خروج المستخدم من التطبيق أثناء التحقق لدى البنك ثم عودته، فإن الطلب يعكس النتيجة الفعلية للعملية لا حالة معلقة دائمًا.
- ق-3.3: بافتراض عملية نجحت لدى البوابة ولم يصل إشعارها للخادم، فإن آلية مطابقة تحدّث الطلب خلال (15 دقيقة) دون تدخل يدوي.
- ق-3.4: لا تُخزَّن بيانات البطاقة في التطبيق ولا في الخادم، ويُتحقق من ذلك بمراجعة الكود وقاعدة البيانات.
4. تقرير المبيعات في لوحة التحكم
- ق-4.1: بافتراض فترة مختارة، فإن إجمالي التقرير يساوي مجموع الطلبات المدفوعة في الفترة ناقصًا المستردة، ويُتحقق منه باستعلام مستقل على بيانات اختبار معروفة.
- ق-4.2: بافتراض مستخدم بدور «مندوب»، فإنه يرى أرقام عملائه فقط، ولا يصل إلى أرقام غيره بتغيير رابط أو معامل في الطلب.
- ق-4.3: التصدير بصيغة (Excel) يحمل الأرقام نفسها المعروضة في الشاشة، وأسماء الأعمدة بالعربية.
لاحظ أن نصف المعايير تقريبًا عن الاستثناءات: الضغط المزدوج، ونفاد الكمية، وانقطاع الشبكة، والعودة من تطبيق البنك، وتأخر إشعار البوابة، والوصول إلى بيانات الغير. هذه هي الحالات التي تفرق التطبيق الذي «يعمل في العرض» عن التطبيق الذي يعمل في السوق.
المعايير غير الوظيفية: الأداء والأجهزة والأمن والمتاجر
بعض ما تريده لا يخص ميزة بعينها، ولذلك يسقط من القوائم. اكتبه معايير مستقلة تُختبر على التطبيق كله:
| الجانب | صيغة ضعيفة | صيغة قابلة للاختبار | كيف يُتحقق منها |
|---|---|---|---|
| الأجهزة | «يعمل على كل الأجهزة» | قائمة مرفقة بطرازات وإصدارات iOS وAndroid تمثل جمهورك، مع أقل إصدار مدعوم | اختبار المسارات الأساسية على كل جهاز في القائمة |
| الأداء | «سريع» | زمن فتح الشاشات الأساسية وزمن استجابة الواجهات تحت حد تحدده، عند عدد مستخدمين متزامنين تحدده | قياس على الأجهزة المحددة، واختبار أحمال على بيئة مطابقة للإنتاج |
| اللغة والاتجاه | «يدعم العربية» | كل الشاشات باللغتين، بلا نص مقطوع بأطول قيمة متوقعة، والأرقام والتواريخ بالصيغة المتفق عليها | مراجعة كل شاشة باللغتين وبأطول نص |
| الأمن | «آمن» | الضوابط المتفق عليها من مرجع معلن مثل معيار OWASP MASVS لأمن تطبيقات الجوال، مع عدم وجود ثغرات عالية الخطورة مفتوحة | فحص أمني وتقرير بالنتائج ومعالجتها |
| اشتراطات Google Play | «جاهز للنشر» | التطبيق يستهدف مستوى API الذي يشترطه Google Play وقت الرفع؛ منذ 31 أغسطس 2026 هو API 36 للتطبيقات الجديدة والتحديثات بحسب صفحة متطلبات Google Play | قبول الرفع في Play Console دون تحذير استهداف |
| اشتراطات App Store | «متوافق مع Apple» | إن كان التطبيق يتيح إنشاء حساب، فيتيح حذفه من داخله كما تشترط إرشادات مراجعة App Store | تجربة مسار الحذف، وقبول المراجعة |
| الاستعادة | «نسخ احتياطي» | نسخة احتياطية آلية بتكرار تحدده، واستعادة مجربة قبل الإطلاق بنتيجة موثقة | تقرير اختبار الاستعادة |
الأرقام في هذه المعايير قرار عملي لا تقني بحت: حد زمن أقل أو مستخدمون متزامنون أكثر يعني عملًا أكثر في الخادم والاختبار. ناقش الحد مع الشركة قبل التقدير، لا بعده. واشتراطات المتاجر تتغير، فاكتب المعيار بصيغة «ما يشترطه المتجر وقت الرفع» لا برقم إصدار ثابت فقط.
قالب معيار القبول: انسخه لكل ميزة
ضع هذه الحقول في جدول أو ورقة عمل، وصفًا لكل معيار. الحقول الأخيرة هي ما يجعل المعيار قابلًا للاستخدام في الاستلام لا في الوثيقة فقط:
| الحقل | ما يُكتب فيه | مثال من ق-2.1 |
|---|---|---|
| الرقم | رمز ثابت يُشار إليه في المحاضر والعقد | ق-2.1 |
| الميزة أو القصة | القصة التي يتبعها المعيار | إنشاء طلب |
| الأولوية | إلزامي للقبول، أو مرغوب | إلزامي |
| بافتراض | الحالة والمستخدم والبيانات | عميل مسجل، وسلة فيها منتجان متوفران |
| عندما | الفعل بالضبط | يضغط زر التأكيد مرتين متتاليتين |
| فإن | النتيجة الملاحظة أو المقيسة | طلب واحد في اللوحة، وإشعار واحد للمندوب |
| بيانات الاختبار | الحسابات والقيم التي يُختبر بها | حساب عميل تجريبي، ومنتجان بكميات معروفة |
| البيئة والأجهزة | أين يُختبر | بيئة ما قبل الإنتاج، جهازان من القائمة |
| الدليل | ما يثبت النتيجة | لقطة اللوحة، وسجل الطلبات |
| من يحكم | الشخص أو الدور الذي يعتمد النتيجة | مسؤول المبيعات لدى المنشأة |
حقل «من يحكم» مهم أكثر مما يبدو: المعيار الذي لا يملك أحد في منشأتك صلاحية اعتماده سيبقى معلقًا حتى نهاية المشروع. أما تنفيذ الاختبار نفسه مع فريقك فموضوع مقالة اختبار قبول المستخدم UAT.
ربط معايير القبول بالمراحل والدفعات
المعايير تصبح أداة تعاقدية حين يرتبط بها الدفع. والربط الجيد لا يشترط «صفر ملاحظات»، فذلك لا يتحقق في أي مشروع حقيقي، بل يحدد ما يمنع القبول وما لا يمنعه:
- كتابة المعاييرلكل ميزة في المرحلة، مع غير الوظيفية المرتبطة بهامنشأتك مع الشركة
- اعتمادها قبل البناءتُرفق بالعقد أو بخطة المرحلة، وأي تعديل عليها طلب تغييرالطرفان
- حالات الاختبارتشتقها الشركة من المعايير، ويُربط كل حالة برقم معيارفريق الجودة
- اختبار القبولينفذه فريقك على بيئة ما قبل الإنتاج، وتُصنف الملاحظاتفريقك
- محضر القبولكل المعايير الإلزامية ناجحة، ولا عيوب حرجة مفتوحة، والبسيطة لها خطةمن يحكم
- الدفعةتُستحق بمحضر القبول لا بتاريخ التقويمالمالية
واكتب تصنيف العيوب في العقد قبل أن تحتاجه: حرج يمنع مسارًا أساسيًا أو يعرض بيانات أو مالًا للخطر، ويمنع القبول؛ ومتوسط يعطل ميزة وله بديل، ويمنع القبول إن تجاوز عددًا تتفقان عليه؛ وبسيط شكلي، يُقبل مع خطة إصلاح بموعد. هذا ما تقصده صفحة اختبار التطبيقات وضمان الجودة بمعايير الخروج: لا إطلاق بأخطاء حرجة، وعدد مقبول من البسيطة مع خطة معالجتها. وتفاصيل جدولة الدفعات نفسها في مقالة دفعات عقد تطوير التطبيق.
أخطاء شائعة في كتابة معايير القبول
- كتابة المعايير بعد البناء: تتحول إلى تفاوض على ما بُني بدل أن تكون وصفًا لما يجب أن يُبنى، وتظهر كطلبات تغيير.
- المسار السعيد فقط: معيار «ينشئ العميل طلبًا» ناجح في كل عرض توضيحي؛ الاستثناءات هي ما يفشل في السوق.
- صفات بلا مقياس: «سريع» و«سهل» و«احترافي» لا تُختبر، وستُحسم بمن يملك الصوت الأعلى.
- معيار يصف التنفيذ لا النتيجة: «يستخدم قاعدة بيانات كذا» قرار تقني؛ المعيار يصف ما يراه المستخدم أو ما يُقاس.
- لا أحد يملك الحكم: قائمة بلا مسؤول اعتماد لكل مجموعة معايير تُبقي المرحلة مفتوحة.
- اشتراط الكمال للدفع: «لا ملاحظات إطلاقًا» يدفع الشركة إلى إخفاء الملاحظات لا إصلاحها؛ صنّف العيوب بدلها.
ما تطلبه من شركة التطوير وما تجهزه قبل التواصل
في العرض أو الرد على الكراسة، اطلب من الشركة:
- مراجعة معاييرك قبل التقدير وإعادة ما تراه غير قابل للاختبار مع صياغة مقترحة.
- حالات اختبار مرتبطة برقم كل معيار، تُسلَّم قبل اختبار القبول لا بعده.
- تصنيف العيوب الذي تقترحه، وما يمنع القبول منها.
- بيئة ما قبل الإنتاج وبيانات اختبار جاهزة لفريقك.
- تقرير إصدار يذكر ما اختُبر وما بقي وقرار الجاهزية.
وهذا ما نعمل به: حالات الاختبار عندنا مرتبطة بالمتطلبات ومعايير القبول، واختبار القبول بحالات مكتوبة ينفذها فريقك قبل النشر، كما في منهجية العمل. وقبل التواصل، جهّز:
- قائمة المزايا بأولوياتها، ولكل إلزامي منها معيار أو اثنان على الأقل بصيغة الحالة والفعل والنتيجة. نموذج متطلبات تطبيق الجوال يساعدك على القائمة نفسها.
- حالات الاستثناء التي تعرف أنها تحدث في عملك، ولو في سطر لكل منها.
- قائمة الأجهزة التي يستخدمها جمهورك إن توفرت لديك بيانات.
- الحدود غير الوظيفية التي تهمك: زمن، وعدد مستخدمين، ولغات.
- أسماء من سيحكم على كل مجموعة معايير في منشأتك.
الخلاصة: اكتب الحكم قبل أن تبني
معيار القبول ليس وثيقة إضافية، بل الجملة التي سيُحكم بها على كل دفعة. اكتبه قبل البناء، بصيغة الحالة والفعل والنتيجة، ولاستثناءات الميزة قبل مسارها السعيد، وضع بجانبه الأرقام التي تهمك في الأداء والأجهزة والأمن، ثم اربطه بالدفع بتصنيف واضح للعيوب. بعدها يصبح الاستلام قراءة لنتائج، لا نقاشًا في النوايا.
إن كانت لديك كراسة أو وثيقة متطلبات لمشروع تطبيق، أرسل كراسة مشروعك، ونرد بأسئلة الاستيضاح في موعدها ثم بعرض فني ومالي وفق النموذج المطلوب؛ وأسئلة الاستيضاح هي الموضع المناسب لطرح أي معيار يحتاج إلى صياغة قابلة للاختبار قبل التسعير.
أسئلة شائعة
المنشأة تملك القرار، لأن المعيار يصف ما تقبله هي. لكن الصياغة عمل مشترك: تكتب أنت ما تتوقعه وحالات الاستثناء التي تعرفها، وتقترح الشركة صياغة قابلة للاختبار وتنبهك إلى ما لم تذكره، ثم يعتمد الطرفان القائمة قبل البناء.
لا يوجد عدد ثابت. الميزة البسيطة قد يكفيها معياران، وميزة الدفع أو الطلب تحتاج غالبًا إلى معايير لكل استثناء مهم: الضغط المزدوج، وانقطاع الشبكة، وفشل البوابة، والصلاحيات. القاعدة أن يغطي كل معيار سلوكًا واحدًا يمكن الحكم عليه.
نعم، لكن كطلب تغيير له تقدير واعتماد، لأن تعديل المعيار يغير ما يُبنى وما يُختبر. لذلك يستحق أن تُراجع المعايير جيدًا قبل الاعتماد، خاصة للمزايا التي ترتبط بها دفعات.
إن نجحت المعايير فالمرحلة مقبولة تعاقديًا، وما لم يعجبك إما لم يُكتب أو كُتب بصفات لا تُختبر. عالجه بطلب تغيير، واستفد منه في كتابة معايير المرحلة التالية، وأضف معايير لتجربة الاستخدام تُراجع على نموذج أولي قبل البرمجة.
لا. المعايير تقول ما يجب أن يتحقق، وخطة الاختبار تقول كيف ومتى وعلى أي أجهزة يُتحقق منه، وتشمل اختبارات لا يراها المستخدم كالانحدار والأحمال. اطلب أن ترتبط كل حالة اختبار برقم معيار.
خدمات وصفحات مرتبطة
اقرأ أيضًا
أرسل كراستك ومعاييرها قبل التسعير
أرسل كراسة مشروع التطبيق أو وثيقة متطلباته، ونرد بأسئلة الاستيضاح في موعدها ثم بعرض فني ومالي وفق النموذج المطلوب.