تطوير قائم على اختبار القبول

تطوير البرمجيات الموجه باختبارات القبول ( ATDD ) هو منهجية تطوير تعتمد على التواصل بين عملاء الأعمال والمطورين والمختبرين. [ 1 ] يشمل ATDD العديد من الممارسات نفسها التي تشملها منهجية تحديد المواصفات بالأمثلة (SBE)، [ 2 ] [ 3 ] والتطوير الموجه بالسلوك (BDD)، [ 4 ] والتطوير الموجه بالأمثلة (EDD)، [ 5 ] والتطوير الموجه بالدعم، والذي يُسمى أيضًا التطوير الموجه باختبارات القصص (SDD). [ 6 ] تساعد جميع هذه العمليات المطورين والمختبرين على فهم احتياجات العميل قبل التنفيذ، وتتيح للعملاء التواصل بلغة مجالهم.

يرتبط تطوير البرمجيات القائم على اختبار القبول (ATDD) ارتباطًا وثيقًا بتطوير البرمجيات القائم على الاختبار (TDD). [ 7 ] ويختلف عنه في التركيز على التعاون بين المطور والمختبر وعميل الأعمال. يشمل ATDD اختبار القبول ، ولكنه يُشدد على كتابة اختبارات القبول قبل البدء في كتابة أي كود برمجي.

ملخص

تُجرى اختبارات القبول من وجهة نظر المستخدم - أي من منظور النظام الخارجي. [ 1 ] وهي تفحص التأثيرات الظاهرة للعيان، مثل تحديد المخرجات الصحيحة للنظام بناءً على مدخلات معينة. يمكن لاختبارات القبول التحقق من كيفية تغير حالة شيء ما، مثل انتقال طلب من حالة "مدفوع" إلى حالة "تم الشحن". كما يمكنها التحقق من التفاعلات مع واجهات الأنظمة الأخرى، مثل قواعد البيانات المشتركة أو خدمات الويب. وبشكل عام، فهي مستقلة عن التنفيذ، مع أن أتمتتها قد لا تكون كذلك. [ 8 ] [ 9 ]

الخلق

تُنشأ اختبارات القبول عند تحليل المتطلبات وقبل بدء البرمجة. [ 1 ] ويمكن تطويرها بشكل تعاوني بين طالب المتطلبات (مالك المنتج، محلل الأعمال، ممثل العميل، إلخ)، والمطور، والمختبر. يقوم المطورون بتنفيذ النظام باستخدام اختبارات القبول. توفر الاختبارات الفاشلة تغذية راجعة سريعة تفيد بعدم تلبية المتطلبات. تُحدد الاختبارات بمصطلحات مجال الأعمال، لتشكل لغة مشتركة بين العملاء والمطورين والمختبرين. [ 10 ] الاختبارات والمتطلبات مترابطة. [ 11 ] قد لا يُنفذ المتطلب الذي يفتقر إلى اختبار بشكل صحيح. الاختبار الذي لا يشير إلى متطلب ما هو اختبار غير ضروري. اختبار القبول الذي يُطور بعد بدء التنفيذ يمثل متطلبًا جديدًا. [ 12 ]

استراتيجية الاختبار

تُعدّ اختبارات القبول جزءًا من استراتيجية اختبار شاملة. وهي اختبارات موجهة نحو العميل/المستخدم، تُظهر الغرض التجاري للنظام. وبحسب استراتيجية الاختبار، يُمكن استخدامها مع أنواع أخرى من الاختبارات، مثل اختبارات الوحدة على مستوى أدنى ، [ 13 ] والاختبارات متعددة الوظائف، بما في ذلك اختبارات سهولة الاستخدام، [ 14 ] والاختبارات الاستكشافية، [ 15 ] واختبارات الخصائص (قابلية التوسع والأمان). [ 16 ]

معايير القبول والاختبارات

معايير القبول هي وصف لما سيتم التحقق منه في الاختبار. على سبيل المثال، إذا كان لدينا متطلب مثل "بصفتي مستخدمًا، أرغب في استعارة كتاب من المكتبة"، فقد يكون أحد معايير القبول هو "التحقق من أن الكتاب مُستعار". يوفر اختبار القبول لهذا المتطلب التفاصيل اللازمة لضمان إمكانية إجراء الاختبار بنفس النتيجة في كل مرة.

نموذج الاختبار

عادةً ما تتبع اختبارات القبول هذا الشكل: [ 1 ]

معطى (إعداد)

حالة محددة للنظام

عند (التشغيل)

يحدث فعل أو حدث

ثم (التحقق)

لقد تغيرت حالة النظام أو تم إنتاج مخرجات

كما يمكن إضافة عبارات تبدأ بـ AND في أي من الأقسام أدناه (Given, When, Then).

بالنسبة لمتطلبات المثال، يمكن سرد الخطوات على النحو التالي:

بافتراض وجود كتاب لم تتم استعارته، ومستخدم مسجل في النظام، فعندما يستعير المستخدم كتابًا، يتم وضع علامة "مستعار" على الكتاب.

اختبار كامل

لم تتضمن الخطوات السابقة أي بيانات مثال محددة، لذلك تمت إضافتها لإكمال الاختبار:

منح:

كتاب لم يتم استعارته
الكتب
عنوانتم تسجيل الخروج
كتاب رائعلا
المستخدم المسجل في النظام
المستخدمون
اسم
سام

متى:

يستعير المستخدم كتابًا
عملية الدفع
مستخدمسامتم التحققكتاب رائع

ثم:

تم وضع علامة "تم استعارة" على الكتاب.
الكتب
عنوانتم تسجيل الخروجمستخدم
كتاب رائعنعمسام

اختبار

عادةً ما يؤدي فحص الاختبار باستخدام بيانات محددة إلى طرح العديد من الأسئلة. بالنسبة للعينة، قد تكون هذه الأسئلة كالتالي:

  • ماذا لو كان الكتاب مستعاراً بالفعل؟
  • ماذا لو لم يكن الكتاب موجوداً؟
  • ماذا لو لم يكن المستخدم مسجلاً في النظام؟
  • هل هناك تاريخ محدد لإعادة الكتاب؟
  • كم عدد الكتب التي يمكن للمستخدم استعارتها؟

تساعد هذه الأسئلة في توضيح المتطلبات المفقودة أو الغامضة. ويمكن إضافة تفاصيل إضافية، مثل تاريخ الاستحقاق، إلى النتيجة المتوقعة. كما يمكن لاختبارات قبول أخرى التحقق من أن شروطًا مثل محاولة استعارة كتاب مستعار مسبقًا تُنتج الخطأ المتوقع.

مثال اختبار آخر

لنفترض أن العميل التجاري أراد قاعدة عمل تنص على أنه لا يمكن للمستخدم استعارة أكثر من كتاب واحد في المرة الواحدة. سيُثبت الاختبار التالي ذلك:

السيناريو: التحقق من تطبيق قواعد العمل الخاصة بعملية الدفع.

منح:

كتاب تم استعارته
الكتب
عنوانتم تسجيل الخروجمستخدم
كتاب رائعنعمسام
كتاب رائع آخرلا
المستخدمون
اسم
سام

متى:

يستعير المستخدم كتابًا آخر
عملية الدفع
مستخدمسامتم التحققكتاب رائع آخر

ثم:

حدث خطأ
حدث خطأ
وصف
انتهاك قواعد العمل الخاصة بالدفع

اختبارات قبول المشروع

إضافةً إلى اختبارات القبول الخاصة بالمتطلبات، يمكن استخدام اختبارات القبول على المشروع ككل. [ 1 ] على سبيل المثال، إذا كان هذا المتطلب جزءًا من مشروع استعارة الكتب من المكتبة، فيمكن إجراء اختبارات قبول للمشروع بأكمله. تُعرف هذه الاختبارات عادةً بأهداف SMART . ومن أمثلة هذه الاختبارات: "عندما يبدأ تشغيل نظام المكتبة الجديد، سيتمكن المستخدمون من استعارة الكتب وإعادتها أسرع بثلاث مرات مما يفعلونه اليوم".

انظر أيضاً

مراجع

  1. 1 2 3 4 5 بو، كين (2011). تطوير البرمجيات الرشيق الموجه باختبارات القبول: برمجيات أفضل من خلال التعاون . أديسون-ويسلي. ISBN 978-0321714084.
  2. أدزيك، جوجكو. (2009) سد فجوة التواصل: المواصفات من خلال المثال واختبار القبول الرشيق ، نيوري المحدودة،
  3. أدزيتش، جويكو (2011). المواصفات من خلال المثال: كيف تُقدّم الفرق الناجحة البرمجيات المناسبة . مانينغ. ISBN 978-0-321-27865-4.
  4. تشيلمسكي، ديفيد، ديف أستلز، زاك دينيس، أسلاك هيليسوي، برايان هيلمكامب، ودان نورث. كتاب RSpec: التطوير الموجه بالسلوك باستخدام RSpec وCucumber وFriends. مكتبة براغماتيك.
  5. "التصميم القائم على الأمثلة" . تم الاطلاع عليه بتاريخ 15-04-2013 .
  6. "تطوير البرمجيات الموجه باختبار القصة" (ملف PDF) . تم الاطلاع عليه بتاريخ 15-04-2013 .
  7. بيك، كينت. تطوير البرمجيات الموجه بالاختبار: من خلال الأمثلة. أديسون-ويسلي بروفيشنال، 2002.
  8. ميلنيك، غريغوري، وفرانك ماورر. ميلنيك، غريغوري؛ ماورر، فرانك (2007). "وجهات نظر متعددة حول تطوير البرمجيات الموجهة باختبارات القبول القابلة للتنفيذ". العمليات الرشيقة في هندسة البرمجيات والبرمجة المتطرفة . سلسلة محاضرات في علوم الحاسوب. المجلد 4536. الصفحات 245-249 . doi : 10.1007/978-3-540-73101-6_46 . ISBN   978-3-540-73100-9.
  9. كوسكيلا، لاسه. (2007) منهجية التطوير الموجه بالاختبار: التطوير الموجه بالاختبار واختبار القبول الموجه بالاختبار لمطوري جافا. منشورات مانينغ
  10. إيفانز، إريك. (2003) التصميم الموجه بالمجال: معالجة التعقيد في صميم البرمجيات . أديسون-ويسلي بروفيشنال.
  11. واينبرغ، جيرالد ؛ غاوس، دونالد (1989). استكشاف المتطلبات: الجودة قبل التصميم . دار دورست هاوس. ISBN 0-932633-13-7.
  12. مارتن، روبرت سي، وغريغوري ميلنيك. "الاختبارات والمتطلبات، المتطلبات والاختبارات: شريط موبيوس" (ملف PDF) . تم الاطلاع عليه بتاريخ 15 أبريل 2013 .
  13. [التطوير القائم على الاختبار]
  14. ميسزاروس، جيرارد، وجانيس أستون. (2006) "إضافة اختبار قابلية الاستخدام إلى مشروع رشيق". مؤتمر الرشاقة
  15. "شرح الاختبارات الاستكشافية" (ملف PDF) . 23 مارس 2019.
  16. ميسزاروس، جيرارد. (2007) أنماط اختبار xUnit: إعادة هيكلة كود الاختبار . أديسون-ويسلي.