U3F1ZWV6ZTQ2NzUxODY0ODA1MTI3X0ZyZWUyOTQ5NTExODk5MzE1NA==

ماهى العمليات الأساسية التى تمربها ال testing process |تعرف على the fundamental testing process

the fundamental testing process


ماهى العمليات الأساسية التى تمربها ال testing process |تعرف على the fundamental testing process





ان شاء الله اليوم سوف نتحدث عن أساسيات الtesting process أو المراحل التى نقوم بتنفيذها خلال الtesting process, وهنعرف ان الtesting process لابد  ان تمر بمراحل أساسية وهم   test planning, monitor and control,test analysis ,test design, test implementation, test execution, test completion,وان شاء الله هنتحدث عن كل مرحلة من هذه المراحل ,ولكن لازم يكون عندنا فهم ان هذه المراحل او الactivities مش بتحصل وراء بعض فممكن أكون بعمل test plan لiterative معين لوشغال agile وبعمل execution فى iteration اخر.

1- Test Planning



فى هذة المرحلة بنحدد ايه الأهداف بتاعتنا وازاى نحقق هذه الأهداف عن طريق approach معينة , فبنخرج منها بالtest plan ولكن هذه الtest plan يمكن تعديلها على حسب التقارير اللى هتيجى من مرحلة الmonitor and control , فمثلا لوعندى موبايل ابلكيشن وعاوز الأبلكيشن يشتغل على جميع أحهزة الأندرويد ويقدر يدخل عليه أكبر عدد من المستخدمين وبالتالى هذين هم الهدفين اللى هحددهم فى الtest plan , وللحصول على هذين الهدفين لابد ان أهتم بالcompatibility testing علشان أحقق الهدف الخاص بتشغيل الابلكيشن على جميع أجهزة الأندرويد , ولازم اهتم بال performance testing علشان أقدر أحقق الهدف الخاص بإن الأبلكيشن يقدر يدخل عليه أكبر عدد من المستخدمين.

طيب على أى أساس اقرر انى أعدل فى الtest plan بتاعتى ولا لأ , على أساس النتيجة اللى هتخرج من الmonitor and control ومقارنتها بالمعيار اللى محددينه فى الtest plan , فممكن بعد مرحلة  الmonitor and control ألاقى ان الآبلكيشن بيشتغل على أندرويد 7 فما فوق ويقدر يدخل عليه 100 ألف فقط وعلى أساس هذه النتيجة ومقارنتها بالأهداف اللى محددينها فى الtest plan نقدر نحدد هنعدل فى الtest plan ولا لأ .


2-Monitor And Control

فى هذه المرحلة بنقارن اللى موجود فى الplan بالواقع , زى ما احنا عارفين اننا فى الplan بيكون عندنا معايير معينة وبالتالى فى هذه المرحلة بنشوف هل حققنا هذه المعايير وهل احنا ماشيين طبقا للplan وعلى هذا الأساس بنأخذ action , فمثلا لو احنا شغالين أبطء من المحدد فى الplan بنحاول نسرع , وبنعمل فى هذه المرحلة test progress report اللى بنوضح فيه احنا
شغالين فعليا ازاى , وبنعمل فى هذه المرحلة أيضا test summary report اللى بيكون عبارة عن ملخص للى عملناه.


3-Test Analysis

مرحلة الanalysis مرحلة مهمة وهى مرتبطة بwhat to test , وفيها بنعمل تحليل للrequirement (الtest basis) ومنها نطلع منها الحاجات اللى هنعمل لها تيست (test condition) , فلو مثلا بعمل تيست لموقع تجارى فأنا بقرأ الrequirement أولا وبعدين بطلع منها الحاجات اللى هعمل لها تيست زى عمليات البحث وتسجيل الدخول وطريقة الدفع , وبنعمل فى مرحلة الanalysis أيضا bi-directional traceability علشان نربط الtest condition بالtest basis علشان لوحصل تعديل فى requirement معين نقدر نعدل فى الtest condition المرتبط به بسهولة , وبالتالى بنخرج من هذه المرحلة بtest condition وbi-directional traceability وtest charter (ودى زى الtest condition بس خاصة بالagile لأنه بيتم فيها التعبير عن الtest condition فى صورة نقاط لأن فى الagile مبعملش  bi-directional traceability لأن كثرة الdocuments تعتبر مضيعة للوقت).

4- Test Design


هذه المرحلة مرتبطة  بhow to test (ازاى بنعمل تيست), بنجيب الtest conditions وبنعمل لها test cases وبنحدد أولويات هذه الtest cases وبنحد الtest data اللى هنحتاجها وليكن هنحتاج ايميل وباسورد ولكن مش بنحدد تفاصيل الtest data فمش بنحدد ايميل معين ولا باسورد معين , وكمان فى مرحلة الdesign بنحدد الأجهزة اللى هنشتغل عليها فلو هنعمل تيست لأبلكيشن هيشتغل على ايفون بنبدأ نشوف هنعمل التيست على جهاز حقيقى ولا على emulator , وبالتالى فى هذه المرحلة احنا بنخرج بhigh level test cases وtest data.

5- Test Implementation

 فى هذه المرحلة بنجهز كل الحاجات اللى محتاجينها علشان نعمل execution , فا احنا قولنا فى مرحلة الdesign احنا بنحدد التيست داتا وليكن  اننا هنحتاج ايميل وباسورد , لكن فى هذه المرحلة بنروح للdatabase واجيب منها الإيميل والباسورد اللى هعمل بهم التيست, وبعد ما عملنا فى مرحلة الdesign التيست كيسيز ففى هذه المرحلة بنعمل ترتيب للتيست كيسيز على حسب الpriority وده بنسميه test procedure وبنحدد النتيجة المتوقعة لكل test case , وبعدين بنجمع كل التيست كيسيز اللى لهم علاقة ببعض فى test suite , وبعد كده بنبدأ نعمل تسطيب للأجهزة اللى هنعمل عليها التيست , وبالتالى احنا فى هذه المرحلة بنخرج بالtest procedure والtest suite وبنقدر نحدد احنا هنقدر نعمل execution فى قد ايه , وفى نهاية هذه المرحلة بنقدر نحدد هل احنا جاهزين نعمل execution ولا لأ .

6- Test Execution


فى هذه المرحلة بعد الtest implementation بنكون جاهزين اننا نروح على السوفتوير بتاعنا ونعمل execution , ونبدأ نقارن ما بين النتيجة الفعلية والنتيجة المتوقعة , فلو كانت النتيجة الفعلية مطابقة للنتيجة المتوقعة بتكون الtest case دى pass , ولوكانت النتيجة الفعلية مختلفة عن النتيجة المتوقعة بتكون الtest case دى fail وبعمل report لهذا الخطأ , وبعد كده الديفلوبر يبدأ يصلح الخطأ فيعدل فى الكود علشان كده لما بيصلح هذا الخطأ بنعمل confirmation testing علشان نتأكد ان الخطأ فعلا اتصلح, وكمان بنعمل regression testing علشان نشوف هل لما الخطأ اتصلح والكود اتعدل فيه أثر على أجزاء أخرى فى السوفتوير و لا لأ , وبالتالى بنخرج فى هذه المرحلة بحالات الtest case هل pass ولا fail وبتقرير الأخطاء (bugs report).


7- Test Completion

هذه المرحلة مش لازم تكون فى نهاية المشروع ولكن ممكن تكون فى نهاية كل iterative , بنعمل فيها تخزين لكل الداتا بتاعتنا علشان لو احتاجنها فيما بعد , وبنشيك على الdefect reports ونشوف احنا صلحنا كل الdefects ولا لأ , وبنعمل فى المرحلة دى أيضا test summary report زى ماكنا بنعمل فى مرحلة الmonitoring , ولوفيه عندنا فريق مسئول انه يتابع مع العميل المشروع بعد ما سلمناه بحيث لو فيه أى bug ظهرت يصلحها له فبنسلم له كل الtest ware ( وهى اللى بتشمل كل حاجة تخص المشروع ولها علاقة بعملية التيستينج من test conditions وtest cases وbugs report) علشان لو حصل أى تغييرات يكون عنده علم بكل شىء.

تعديل المشاركة Reactions:
author-img

المهندسة / فاطمة الزهراء نصر

المهندسة فاطمة الزهراء نصر السيد بدير مصرية الجنسية درست هندسة النظم والحاسبات فى كلية الهندسة جامعة الأزهر مهتمة بمجال اختبار البرمجيات ومؤسسة مدونة جودة-تك.
تعليقات
الاسمبريد إلكترونيرسالة