تعرف على ال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 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 .
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).الexploratory testing بيكون متزامن مع الtest design والtest execution والtest logging and learning, الexploratory testing ممكن يستخدم علشان يcheck على الtest process علشان يساعدنا اننا نتأكد ان أكبر وأهم defects فى السوفتوير لاقيناها.
للإطلاع على ملفexperience based techniques .
موضوعات قد تهمك
مصطلحات مهمة فى السوفتوير تيستينج مثل ماهى الbugو ماهى الtest case.
المستويين الأول والثانى من الtesting levels وهم ال unit testing والintegration testing.
المستويين الثالث والرابع من الtesting levels وهم ال system testing والacceptance testing.
أول تقنيتين من الblack box testing techniques وهم الequivalence partitioning والboundary value analysis
الثلاث التقنيات الأخرى الخاصة بالblack box testing techniques وهم الdecision table والstate transitionو الuse case.
موضوعات قد تهمك
مصطلحات مهمة فى السوفتوير تيستينج مثل ماهى الbugو ماهى الtest case.
المستويين الأول والثانى من الtesting levels وهم ال unit testing والintegration testing.
المستويين الثالث والرابع من الtesting levels وهم ال system testing والacceptance testing.
أول تقنيتين من الblack box testing techniques وهم الequivalence partitioning والboundary value analysis
الثلاث التقنيات الأخرى الخاصة بالblack box testing techniques وهم الdecision table والstate transitionو الuse case.
تعليقات