سمعت قبل كدا عن مصطلح "unit testing"
سواء سمعت او لا اوعندك معرفه سطحيه فالمقاله دي هتشرحلك يعني أي unit testing او ال testing component
خلينا في البدايه نوضح ان ال unit testing ماهو الا جزء اومرحله من ال testing levels
بتسال نفسك اكيد طيب هو أي الهدف من اننا نقسم ال testing لمراحل او levels ؟
خلينا قبل ما نبدأ نجاوبك علي سؤالك :
باختصار شديد ال testing levels اتعملت عشان نضمن الاختبار في كل مرحله من مراحل ال SDLC وده اختصار لجمله Software Development Life style وطبعا الهدف الأساسي من testing levels هو انه يمنع التكرار والتداخل وكمان تحديد الأجزاء اللي لسه متعملش ليها testing .
نبدا بقي في اول جزء من testing levels وهو ال unit testing والجزء ده بمثابه مرحله ال coding في Development levels
تعريف ال unit testing
ببساطه شديده ال unit testing هو اول مرحله من مراحل ال testing levels وفي المرحله دي بيتم اختبار الوحدات المكونه لل Software "كل جزء لوحده"وده بيشمل ال classes وال objects او أي مكون أساسي مش هيقدر السوفت وير انه يشتغل من غيره
واكيد انت عارف ان ال unit هي اصغر مكون للسوفت وير واللي بتقبل ان يتعملها test
اكيد انت عايز تعرف طيب هو أي الغرض من المرحله دي ؟
وليه هي اول مرحله بتم؟ متقلقش هنجاوبك علي كل اللي بيجي في دماغك
الهدف من ال unit testing
التاكد ان كل unit اساسيه في السوفت وير بتعمل بشكل صحيح عشان نبقي متاكدين
ان المرحله دي مفهاش أخطاء فننقل علي المرحله اللي بعدها واحنا مطمنين
وبكده هنتاكد ان مفيش أخطاءهتظهر معايا في أي مرحله تاني من بناء االسوفت وير
اهم الأهداف اللي عشانها بيتم تطبيق ال unit testing :
ان اضمن اني مش هلاقي أخطاء في المرحله التانيه وهي ال system testingاو أي مرحله بعد كدا
التأكد من ان كل function بتأدي دورها بشكل سليم
مين المسؤل عن تنفيذ unit testing ؟
المسئول عن تنفيذ ال unit testing هو ال developer او ال software developer in test
ومن اهم الحاجات هنا اللي لازم الديفلوبر يعتمد عليها هو وبينفذ ال unit testing
المتطلبات الخاصه لكل function
الكود اللي اتكتب عشان يحقق functions اللي هيحصل عليها ال unit testing
ال unit testing بيتم علي خطوات وترتبيهم بيكون كالاتي :
هنكتب الكود الخاص بال unit testing
هنحاول نجمع اكبرعدد من الاحتمالات وده من خلال ال component requirements
هنبدا نعمل compile للكود وبيتم بعد كدا تنفيذ الاحتمالات علي الكود
هنبدا نجمع test result سواء كانت success او failed
في حاله ان في مشاكل في الكود فاحنا محتاجين نعدل في الكود مره تاني عشان نصلح المشاكل دي
في حاله بقي ان الفانكشن قامت بدورها بشكل سليم يبقي كدا الفانكشن دي ال unit test بتاعها pass
