U3F1ZWV6ZTQ2NzUxODY0ODA1MTI3X0ZyZWUyOTQ5NTExODk5MzE1NA==

تعرف على الwhite box testing والwhite box testing techniques والexperience based techniques(الerror guessing-exploratory testing)| تابع الtesting techniques





تعرف على الwhite box testing والwhite box testing techniques والexperience based techniques(الerror guessing- exploratory testing)| تابع الtesting techniques




ان شاء الله اليوم سوف نتحدث عن الwhite box testing, ماهو الwhite box testing,وما هى الwhite box testing techniques(الstatement testing –الdecision testing), وما هى الexperience based techniques(الerror guessing –ال exploratory testing), لقد عرفنا من قبل ان أى مشروع احنا شغالين عليه بيمر بنوعين من التيستينج وهم الstatic testing والdynamic testing وكل نوع له techniques خاصة به , وبدأنا بالdynamic testing وشرحنا الtechniques الخاصة بأول نوع من أنواع الدينميك تيستينج وهى الblack box testing techniques يمكنك الإطلاع على أول تقنيتين من تقنيات الblack box testing , كما يمكنك الإطلاع على الثلاث تقنيات الأخرى الخاصة بالblack box testing .

 واليوم ان شاء الله سوف نتحدث عن النوع الثانى من أنواع الدينميك تيستينج وهو الwhite box testing وسنعرف الwhite box testing techniques(الstatement testing-الdecision testing) ,وان شاءالله سنتحدث أيضا عن الexperience based techniques(الerror guessing-الexploratory testing).



الWhite Box Testing


الwhite box testing له مسميات أخرى وهى(glass box testing أو structure based testing), فى الwhite box testing بنختبر السوفتوير واحنا شايفين الكود بتاع البرنامج ومعانا الsource code وبنركزعلى شكل الكود, وفى هذا النوع بنمر على كل الpaths والconditions وبنشوف الcompiler بينفذ كل الكود ولا فيه سطور كود مش بيعدى عليها بسبب bug ما وبنختبر فيه الlogic بتاع الprogram, والنوع ده بيكون مناسب لlevels دى (الunit testing- integration testing) ,لمعرفة هذة الlevels يمكنك قراءة الموضوع الخاص بالمستوى الأول والثانى من مستويات الاختبار.

الWhite Box Testing Techniques


احنا عرفنا ان الwhite box testing بنعمله لما يكون الsource code متاح لى ,اما بالنسبة للtechniques الخاصة بال white box testingفأشهر 2 techniques هم (الstatement testing- والdecision testing).
 

1-الstatement testing: بيكون هدفنا فيه اننا نعدى على سطور الكود كلها ونعمل لها execution بأقل عدد من التيست كيسيز,وبنحسب الcoverage فى هذا الtechnique عن طريق قسمةnumber of statements executed  على الtotal number of statements.

2-الdecision testing: بيكون هدفنا فيه اننا نكتب تيست كيسيز لكل المسارات  اللى تغطى كل الإحتمالات اللى هيمشى فيها الكود, وهذا الtechnique بستخدمه لما يكون عندى احتمالات أو decision فى الكود وده بيظهر لما يكون عندى فى الكود if او then اوelse اوwhile, وبنحسب الcoverage فى هذا التيكنيك عن طرق قسمة الnumber of decisions executed على الtotal number of decisions .



وده فيديو مهم هيوضح لك الفرق بين الstatement testing والdecision testing وحساب الcoverage لكل منهم بالأمثلة, وكمان هيوضح لك ازاى التيست كيسيز بتاعت الstatement testing دائما بتكون أقل من أوبيساوى عدد التيست كيسيز بتاعت الdecision testing , وان تطبيقنا للdecision testing technique أفضل من تطبيقنا للstatement testing technique.





الExperience Based Techniques

 : بتتم بناء على خبرة التيستر فى اختبار السوفتوير وهى عبارة عن نوعين


1- error guessing: فى النوع ده التيستر بيدرس الspecification بتاعت السوفتوير كويس وبعدين بيحدد الdefects اللى ممكن تظهر بناء على خبرته السابقة و بعدين يعمل لها تيستينج , فى هذا التيكنيك لاحظ ان التيستير بيعمل قائمةبالdefects اللى ممكن تظهر وبعدين يعمل لها تيستينج وده بنسميه fault attack.



2-exploratory testing: والنوع ده بنستخدمه لما مايكونش عندى specification أو تكون قليلة  أو لما يكون الوقت قليل, فبعمل استكشاف للسوفتوير وبشوف هو بيعمل ايه ومابيعملش ايه وبحدد ايه الحاجات اللى لازم اعمل لها تيستينج, احنا كنا فى الerror guessing بنعمل قائمة بالdefects اللى ممكن تظهر ,لكن فى الexploratory testing بنعمل test charter بنحدد فيه الobjectives اوالأهداف اللى بنعمل تيستينج من أجلها يعنى ايه هى الوظائف الأساسية اللى موجودة فى السوفتوير اللى لازم اعمل لها تيستينج , وكمان بنحدد فى الtest charter الtime-boxes وهو عبارة عن الوقت اللى هيحتاجه كل objective علشان نعمله تيستينج.

الexploratory testing بيكون متزامن مع الtest design والtest execution والtest logging and learning, الexploratory testing ممكن يستخدم علشان يcheck على الtest process علشان يساعدنا اننا نتأكد ان أكبر وأهم defects  فى السوفتوير لاقيناها.
وده فيديو بيشرح الexperience based techniques (الerror guessing-الexploratory testing).




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

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

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