عند كتابة الأكواد البرمجية لأي برنامج يجب على المبرمج التحقق من كل سطر في برنامجه قبل أن يقوم بالتسليم والربح من هذا البرنامج، وذلك للتأكد من سلامة هذا البرنامج و صحته.
ويتم هذا التحقق عبر ما يعرف باختبار الوحدة البرمجية.
اختبار الوحدة البرمجية
هو أحد مستويات اختبار البرمجيات، إذ يتم اختبار الوحدات البرمجيه الفردية للبرنامج وذلك بغرض التحقق أن كل شيء يعمل كما هو مصمم.
الوحدة (unit): هي أصغر جزء قابل للاختبار داخل أي برنامج، وعادةً ما يكون لها مدخل واحد ومخرج واحد.
وببساطة يمكننا القول:
إن اختبار الوحدة البرمجيه هو عملية إظهار الأخطاء غير الظاهرة، والهدف منه هو اختبار السلوك المتوقع من الوحدة البرمجيه.
كيف يتم هذا الاختبار؟
يتم تنفيذه باستخدام طريقة اختبار الصندوق الأبيض، ويتم إجراء اختبار الوحدة البرمجية قبل اختبار التكامل.
كما ويتم تنفيذها عادةً من قبل مطوري البرنامج، وفي حالات نادرة يتم بواسطة مختبري برامج مستقلين.
فوائد اختبار الوحدة البرمجية
- أولاً يزيد اختبار الوحدة البرمجية من الثقة في تغيير وصيانة الكود البرمجي فإذا تم كتابة اختبارات جيدة وتم تشغيلها عند كل تغيير في الكود سنتمكن من اكتشاف أي عيوب جديدة بسبب التغيير على الفور.
- ثانياً الجهد المطلوب لإيجاد و إصلاح العيوب التي تم العثور عليها خلال اختبار الوحدة البرمجية أقل بكثير مقارنة بالجهد المطلوب لإصلاح العيوب التي تم العثور عليها أثناء اختبار النظام أو اختبار القبول.
- ثالثاً تكلفة إصلاح العيب المكتشف أثناء اختبار الوحدة البرمجية أقل مقارنة بالعيوب الأخرى.
- رابعاً التصحيح سهل، أي عندما يفشل الاختبار يلزم تصحيح آخر للتغييرات فقط، أما مع الاختبار على مستويات أعلى فيجب فحص التغييرات على مدى عدة أيام.. أسابيع وأشهر.
نصائح اختبار الوحدة البرمجية
- ركزْ على الاختبارات التي تؤثر على سلوك النظام.
- اعزلْ بيئة التطوير عن بيئة الاختبار.
- اكتبْ حالات اختبار مستقلة عن بعضها.
- قمْ بإجراء اختبار الوحدة البرمجية بشكل مستمر ومتكرر.
- قبل أن تصلح العيب، اكتبْ اختباراً يكشف العيب لأنه سيمكنك لاحقاً من التقاط العيب إذا لم تقم بإصلاحه ولأن الاختبار الخاص بك سيصبح أكثر شمولاً ولأنك من المحتمل أن تصبح كسولاً لكتابة الاختبار بعد إصلاح العيب أول مرة.
- أكتبْ حالات تتضمن أداء الكود البرمجي بالإضافة لحالات السلوك البرمجي.
في النهاية
غالباً ما يتم تجاهل و إهمال اختبار الوحدة البرمجية، إلا أنه في الواقع أهم مستوى من مستويات الإختبارات لذلك يجب التركيز عليه.
المصدر : انقر هنا
- إعداد : المهندس عامر خير بك
- تدقيق : المهندسة اسماء حمود
- تحرير : المهندسة يمنى يازجي
- تصميم : المهندس بشار الحجي