U3F1ZWV6ZTQ2NzUxODY0ODA1MTI3X0ZyZWUyOTQ5NTExODk5MzE1NA==

تعرف على levels of testing |المستوى الأول والثانى (unit testing-integration testing)






 تعرف على levels of testing| المستوى الأول والثانى (unit testing-integration testing)



ان شاء الله اليوم سوف نتحدث عن الlevels of testing وهنشوف هل احنا بنعمل تيستينج للسوفتوير مرة واحدة كدة ولا بنمر بمراحل اومستويات لحد ما نسلم السوفتوير للعميل.ان مستويات الأختبار أربع مستويات وان شاء الله اليوم سوف نتحدث عن مستويين منهم وهم: المستوى الأول وهو الunit testing والمستوى الثانى وهوالintegration testing.

المستوى الأول (Unit Testing)




 الunit testing له مسميات اخرى وهى(الcomponent testing او الmodule testing).فى مرحلة الunit testing بيتم التيستينج على وحدة صغيرة من السوفتوير زى form معينة أو function معينة,وده بيتم علشان نتأكد أن هذة الunit بتؤدى وظيفتها طبقا للمواصفات بتاعتها (الspecification)أو design structure, واللى بيقوم بالunit testing ده هو الديفلوبر بعد ما يكون انتهى من عمل الكود الخاص بmodule معين.


أسباب عمل الunit testing



ان اكتشاف الخطأ بيكون أسرع وكمان لما بيتم اكتشاف الخطأ فى المراحل  الأولى بيكون أسرع لإكتشاف الbugs ومعرفة مصادرها, ولما بنجمع كل الunit testing بنقدر نعمل إعادة هيكلة للمشروع ككل, وعلى المدى البعيد بيؤدى ذلك إلى تقليل التكلفة لأن تصليح الbugs فى المراحل الأولى بيكون أقل تكلفة من تصليحها قبل التسليم.

وده فيديو بيشرح الunit testing





المستوى الثانى (ال Integration Testing)


فى الintegration testing بتتم عملية التيستينج للinteraction اللى مابين الmodules بعكس الunit testing اللى كان بيتم فيه التيستينج لmodule واحد اوunit واحدة,وهناك أسباب بتخلينا نعمل integration testing بعد الunit testing وقبل مانوصل لمرحلة الsystem testing.


أسباب الintegration testing


1- ان الunit testing بيعمل تيستينج لكل unit على حده ومابيعملش تيستينج للinteraction اللى مابينهم وبالتالى لوحصل ان ديفلوبر نسى يعمل تيستينج لunit معينة فا احنا مش هنعرف نكتشفها الا فى مرحلة الsystem testing ولذلك بنمر بمرحلة الintegration testing لكى نكتشف مبكرا الunits اللى ممكن مايكونش اتعمل لها تيستينج فى الunit testing قبل مانوصل لمرحلة الsystem testing.

 2-أحيانا بستخدم unit او function جاهزة فلازم اعمل لها integration testing علشان أشوف تأثيرها على باقى الmodules.



3- بدون عمل integration testing هنستهلك وقت كبير فى مرحلة الsystem testing اللى بعد كده لأن هيكون هناك bugs كثيرة  لم نكتشفها فى مرحلة الintegration testing.

4- ان تكلفة اكتشاف الbugs بعد كده هتكون عالية جدا.

وده فيديو بيشرح الintegration testing والطرق الخاصة به.


 

طرق الintegration testing



عندى ثلاثة طرق للintegration testing


1-الBig Bang Testing: فى هذة الطريقة بنجيب كل الmodules ونجمعهم مع بعض ونعمل لهم تيستينج مرة واحدة, والطريقة دى مش هنستخدمها لأننا بنعمل لهم تيستينج مرة واحدة ومش بنقدر نعرف الbugs فى أى module.


2-Bottom Up Integration Testing: فى هذه الطريقة  بنبدأ نعمل تيستينج لأقل layer وبعدين ننتقل لlayer الأكبر.فنبدأبعمل تيتستينج لأقل module عندى ,ثم نعمل تيستينج لmodule أكبر ينفذ الوظيفة التى يقوم بها الmodule الأصغر الذى تم اختباره سابقا ,ثم نعمل تيستينج لmodule أكبر من الmodule السابق يقوم بتنفيذ وظائف ال2 modules السابقين وهكذا حتى نصل الى الmain program الذى يقوم بتنفيذ وظائف جميع الmodules السابقة , ولكن فى هذا النوع من التيستينج من الممكن ان يكون الmain program غيرجاهز لإختبار الmodules الأصغر وفى هذة الحالة نستخدم driver.


والDriver  هو عبارة عن كود افتراضى (dummy code) للmain program  بينادى على الtest units اللى فىlow level بيستخدم فى طريقة الbottom up integration testing علشان نتأكد ان وظائف الmodules الأصغر شغالة كويس.


3-الTop Down Integration Testing :فى هذة الطريقة بنبدأ نعمل تيستينج للmodules الأكبر على مستوى الJUI وبعدين ننتقل للmodules الأصغر.فبنبدأ نعمل تيستينج للmain program الذى يستخدم وظائف الmodules الأصغر ولكن من الممكن أيضا ان تكون الmodules الأصغر غير مكتملة وفى هذة الحالة بنستخدم الstubs.


والStubs هى عبارة عن كود افتراضى (dummy code) للsmall modules التى يناديها الmain program عند استخدام طريقة الTop Down Integration Testing.

وده فيديو بيشرح الDriver والStubs مع ذكر أمثلة.



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

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

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