👈 الـ Static Testing:
🔹 أسلوب وقائي (Preventive) يتم في المراحل المبكرة من STLC.
🔹 لا يعتمد على تنفيذ الكود، بل يتم بدون Run أو Execution.
🔹 يُستخدم لمراجعة:
-
المتطلبات (Requirements)
-
التصميم (Design)
-
الكود (بـ Static Code Analysis Tools)
🔹 الهدف الأساسي:
-
التأكد من وضوح ودقة المتطلبات.
-
منع ظهور الأخطاء المستقبلية.
🔹 يشمل: -
Business Requirements
-
Technical Requirements
-
High & Low-Level Design
-
Static Code
👈 الـ Dynamic Testing:
🔹 أسلوب تصحيحي (Corrective) يهدف لاكتشاف الأخطاء بعد تنفيذ الكود.
🔹 يعتمد على تشغيل النظام بإدخال Inputs وتحليل Outputs.
🔹 يُنفذ في مراحل متأخرة من SDLC.
🔹 يشمل:
-
Unit Testing
-
Integration Testing
-
System Testing
-
Acceptance Testing
💡 الخلاصة:
🔸 Static Testing: مراجعة بدون تشغيل الكود (وقائي – مبكر).
🔸 Dynamic Testing: اختبار أثناء تشغيل النظام (تصحيحي – بعد التطوير).
✅ ملاحظة مهمة:
🔹 الـ Verification لا يقتصر فقط على Static Testing.
بل يشمل كلاً من:
-
Static Testing: مراجعة المستندات والكود بدون تنفيذ.
-
Dynamic Testing: التأكد من تنفيذ النظام وفق المتطلبات.
🔍إذا الverificatiom يشمل كلاً من الstatic والdynamic معاً