👈 أولًا: ✅ Verification (التحقق)
🔹 “Are we building the product right?”
🔷 هو عملية التأكد من إننا بنبني النظام بالطريقة الصحيحة من وجهة نظر الـ Requirements & Design
🔷 بنركز على مطابقة النظام للمواصفات الفنية (SRS / Design Docs)
🔷 بيتم من خلال:
- مراجعة الـ Documents
- مراجعة الكود (Code Reviews)
- أو حتى Unit Testing
👉 يعني ممكن يكون Static أو Dynamic حسب المرحلة
🔷 بيركز على:
- Functional Requirements
- System Specifications
📌 مثال:
العميل طلب مني برنامج آلة حاسبة
أعمل Verification إزاي؟
أتأكد إن لما أضغط 1 + 1 الناتج بيكون 2 فعلًا ✅
(يعني أتأكد إن الـ Functionality شغالة صح)
👈 ثانيًا: ✅ Validation (التحقق من الصحة)
🔹 “Are we building the right product?”
🔷 الهدف هو التأكد إن المنتج النهائي بيلبّي فعليًا احتياجات العميل والمستخدم النهائي
🔷 بيتم من خلال:
- Acceptance Testing
- System Testing
- UI/UX Review
- Performance & Usability Testing
🔷 بيركز على:
- Business Requirements
- User Expectations
📌 مثال:
نفس سيناريو الآلة الحاسبة:
Validation هنا مش بس إن الناتج 2
لكن هل الـ شكل العرض مقبول عند المستخدم؟
هل هو عاوز النتيجة تظهر في سطر؟
ولا على شكل عملية رياضية؟
والألوان والخط متوافقة مع الـ Design المتوقع؟ 🎨
📌 مثال مشترك:
لو عندي Requirement بيقول:
“النظام يجب أن يحتوي على Dark Mode”
✅ Verification:
أتأكد إن الزرار موجود، وبيغيّر الوضع فعلًا لما أضغط عليه.
✅ Validation:
أتأكد إن اليوزر فعلاً شاف الزرار بسهولة، ولما فعّل الـ Dark Mode:
- النص واضح
- الألوان مريحة
- التصميم ما تأثرش سلبًا
📝 أمثلة واقعية إضافية:
✅ Verification:
مراجعة الـ Test Plan مع الفريق
مراجعة UI design قبل التطوير
مقارنة الـ Requirements بالـ Design Doc
✅ Validation:
تنفيذ Test Case لتسجيل الدخول
التستنج الفعلي للـ Login بعد ما اتبنى
تجربة المستخدم للمنتج النهائي