الSoftware Testing عملية تهدف إلى رفع جودة النظام من خلال استقصاء المخاطر الموجودة و المحتملة و التأكد من ان النظام يلبي الإحتياجات التي بُني من اجلها . في هذه السلسلة نظرة عامة و مختصرة عن انواع الSoftware Testing و علاقتهم مع بعضهم.
نبدأ بالUnit testing و الذي يهدف أثناء البرمجة إلى اختبار جزئية من البرنامج ( مثل Method معين ) معزولاً عن الآخر أي بدون اختبار الdependencies التي يعتمد عليها لنتأكد أن هذا الجزء يعمل بشكل صحيح مثل التأكد ان الايميل في اسم المستخدم كتب بطريقة صحيحة.
الIntegration testing اختبار للتأكد من ان اجزاء البرنامج المختلفة تعمل بشكل صحيح مع بعضها كمجموعة و تكون عادة اقل من الUnit Tests مثل لما نختبر الLogin اللي بيكون فيها التأكد من أن كتابة الإيميل صحيحة و في نفس الوقت المصادقة على تطابق اسم المستخدم وكلمة المرور و إرجاع الأخطاء.
الSystem Testing أعم من السابق للتأكد أن النظام بشكل كامل مطابق للمواصفات المكتوبة في الSRS و يتم عن طريق الجهة المنفذة سواء المبرمج او قسم الQA. و يكون Functional و Non-Functional ( سنأتي له )
بعد الSystem Testing يأتي دور الAcceptance Testing للتأكد أن النظام يلبي فعليا احتاجيات العميل و يتم من خلال الجهة المنفذة بالإضافة إلى العميل و يكون فقط Functional.
الRegression Testing هو اختبار يطبق على اي من الأنواع الأربعة السابقة عند اضافة وظائف جديدة للنظام او اصلاح مشكلة للتأكد انها لم تؤثر على جزء اخر فيتم اعادة فحص النظام او جزء منه من جديد بنفس الاليات السابقة.
بشكل عام اختبار النظام شقين Functional يتعلق بعمل النظام من وجهة نظر العميل او المستخدم اي انسيابية النظام Workflow و الشق الآخر هو الـ Non-Functional يتعلق بالسرعة و الأداء و الأمن و غيرها من الأشياء التي لا تتعلق بكيفية استخدام النظام او بالBusiness Workflow.
فمثلاً الPerformance Testing يعتبر من الNon-Functional Testing تُختبر فيه سرعة النظام و استجابته و ثباته وسرعة نقل البيانات و مقدار الذاكرة المستهلكة و منه نوعين Load testing كم يوزر يتحمل و stress testing بأن نعرض النظام لأكثر مما يتوقع من حمل ( محاكاة المناسبات ).
ايضاً الPenetration test يعتبر ايضاً احد انواع ال Non-Functional Testing هو اختبار محاكاة هجوم أمني ( هاكر) على النظام لمعرفة الثغرات الأمنية و نقاط ضعف النظام .
نختم بالInstallation testing كما هو من اسمه يختص بعملية الInstallation و الUninstallation مثل فحص متطلبات النظام من حيث المعالج و السعة و ايضا إن كان هناك تعارض مع نسخ سابقة و الحرص على ظهور رسائل الخطأ او التحذير خلال التركيب للتاكد ان العملية تتم بشكل سلسل من قبل العميل.
جاري تحميل الاقتراحات...