ان شاء الله اليوم
سوف اتحدث عن شىء مهم لابد ان يقوم به مهندس اختبار البرمجيات وهو كتابة الtest case , عرفنا من قبل ان الtest case من المصطلحات المهمة التى يجب معرفتها فى مجال السوفتوير تيستينج , وعرفنا انها عبارة عن توثيق لمجموعة الخطوات اللى بيمشى عليها
التيستر وهو بيعمل تيستينج , اليوم ان شاء الله هنعرف ازاى نكتب test case وايه هى
الattributes بتاعتها اوالعناصر اللى بنكتبها فى الtest case, وازاى نخلى الtest case بتاعتنا maintainability يعنى لوحصل أى تغيير نقدر نعدل فى الtest case بسهولة.
عند كتابة الtest case هناك مجموعة من الattribute التى نكتبها فى الtest case , مع العلم ان لا يشترط كتابتها جميعا فى الtest case حيث ان العناصر التى تكتب فى الtest case بيتم الاتفاق عليها بين العاملين على المشروع وبتختلف من شركة لشركة أخرى ولكن هناك عناصر لابد من كتابتها فى الtest case وسنتعرف الآن على كل العناصر التى يمكن ان نكتبها فى الtest case.
العناصر أو ال attributes اللى بتتكون منها الtest case
عند كتابة الtest case هناك مجموعة من الattribute التى نكتبها فى الtest case , مع العلم ان لا يشترط كتابتها جميعا فى الtest case حيث ان العناصر التى تكتب فى الtest case بيتم الاتفاق عليها بين العاملين على المشروع وبتختلف من شركة لشركة أخرى ولكن هناك عناصر لابد من كتابتها فى الtest case وسنتعرف الآن على كل العناصر التى يمكن ان نكتبها فى الtest case.
1-الid:
وده بيكون رقم أو حرف ولازم يكون مميز للtest case مش للمشروع بتاعى بس ولكن
للمشاريع كلها.
2-الtitle أو
ال description: بكتب فيه سمرى للtest case وهى بتعمل ايه , يفضل ان يكون منجز
ولايكون مرسل ويكون بصيغة الأمر.
3-الpre-conditions : هى الحاجات اللى لازم تكون موجودة قبل ما اعمل تيستينج.
3-الpre-conditions : هى الحاجات اللى لازم تكون موجودة قبل ما اعمل تيستينج.
4- الsteps: بكتب
فيها الخطوات الخاصة بالtest case , وهذه الخطوات بتكون بصيغة الأمر , وكل خطوة
بيكون لها expected result , وكل خطوة تكون واضحة وميكونش فيها كلمة تحمل معنيين.
5-الtest data:
وهى عبارة عن الinput data اللى التيستر بيكون مجهزها علشان يبقى سهل عليه عملية
الexecution.
6- الexpected result : بكتب فيها النتيجة المتوقعة الخاصة بالtest case , وعن طريق الexpected result بنقدر نعرف الstatus بتاعت الtest case هل pass ولاfail ولاblocked.
7-الstatus : وهى
الحالة الخاصة بالtest case بعد تنفيذ الخطوات الخاصة ومقارنة النتيجة الفعلية
بالنتيجة المتوقعة وهى اما ان تكون pass او fail اوnot applicable.
8- الpriority :
وهى مدى أولوية أو اهمية الtest case دى , وبتحدد عن طريق الsoftware requirement specification document اللى بيكون عاوزها العميل , وهى اما ان تكون critical أو high أو medium أوlow .
9-
الactual result : دى النتيجة الفعلية اللى بتطلع وانا بعمل execution للtest case ,
فإذا كانت بتساوى الexpected result تبقى الtest case دى pass ولو كانت لا تساوى
الexpected result تبقى الtest case دى fail.
10-additional info: بكتب فيه الجزء الخاص بالsetup سواء كان سوفتوير أو هاردوير الخاص بالtest case دى , وبكتب فيه أيضا الsql queries اللى ممكن نحتاجها وأى كومنتات تساعد
التيسترز انهم ينفذوا الtest case بسهولة.
11-الrevision history :بكتب فيه أول نسخة اتكتب فيها الtest case والتاريخ واسم اللى كتابها
والتعديلات اللى تمت عليها وأسماء اللى عملها وتواريخها وأسباب التعديلات.
وده فيديو بيشرح كيفية كتابة الtest case على مثال عملى.
وده فيديو بيشرح كيفية كتابة الtest case على مثال عملى.
اما بالنسبة للtools اللى نقدر نكتب عليها الtest case , فممكن نكتبها فى ملف word أوفى excel أوفى اى automatic tool زى jira وtfs, اما بالنسبة لترتيب الtest cases فا احنا بنبدأ
بالhappy scenario ثم بالnegative scenario ثم بنعمل validation لكل field.
كيفية كتابة الtest case بطريقة تمكننا من التعديل عليها بسهولة (maintainability test case)
1-نتأكد ان خطوات الtest case مفيهاش خطوة زيادة وأنها بديهية وممكن التيستر يعملها لوحده .
2-بنحط بلوك الخطوات المكررة فى أغلب الtest cases فى text document ونستبدل بلوك الخطوات بlink واحد.
3-نتأكد ان مفيش خطوة فى الtest case مبنية على معلومة ممكن تتغير أوتتحذف بعد كده.
وهذا فيديو بيشرح الmaintainability test case.
للإطلاع على ملف test case after maintenance.
موضوعات قد تهمك
مقدمة عن الsoftware testing.
الsoftware testing principles.
العمليات الأساسية التى تمر بها الtesting process .
مصطلحات مهمة فى السوفتوير تيستينج مثل ماهى الbugو ماهى الtest case.
تعليقات