04/06/2026
**"البج مش في الـ Feature الجديدة... لكن في ترتيب الخطوات!"**
من أكثر أنواع المشاكل التي يتم تجاهلها أو حتي نسيانها أثناء الاختبار:
**State Transition Bugs**
أغلبنا يختبر هل النظام ينفذ العملية أم لا ((شغال ولا لاء))
لكن السؤال الأهم أحيانًا:
**هل يسمح بتنفيذها في الوقت الصحيح فقط؟**
تخيل نظام طلبات يمر بالمراحل التالية:
Draft → Pending → Approved → Completed
طبيعي أن الطلب ينتقل من مرحلة لأخرى بالترتيب.
لكن ماذا لو استطاع المستخدم:
❌ الانتقال من Draft مباشرة إلى Completed؟
❌ تعديل الطلب بعد اعتماده؟
❌ إلغاء طلب مكتمل بالفعل؟
❌ إعادة الطلب إلى حالة غير منطقية؟
هنا المشكلة ليست في الوظيفة نفسها...
بل في السماح بانتقالات (Transitions) غير صحيحة بين الحالات.
عند اختبار أي Workflow اسأل نفسك دائمًا:
🔹 ما الحالات المسموح الانتقال بينها؟
🔹 ما الحالات الممنوع الانتقال بينها؟
🔹 هل الصلاحيات تختلف حسب الحالة؟
🔹 ماذا يحدث إذا حاول المستخدم تنفيذ Action في حالة غير متوقعة؟
🔹 هل الـ API تمنع الانتقال غير الصحيح أم أن المنع موجود فقط في الـ UI؟
كثير من الأنظمة تبدو مستقرة عند اختبار Happy Path...
لكنها تنهار عندما يجرب شخص الانتقال بين الحالات بطريقة لم يفكر فيها أحد.
ولهذا السبب، من أقوى الـ Test Cases التي يمكن أن تكتبها ليست:
"هل يعمل الزر؟"
بل:
(((هل يعمل الزر فقط عندما يجب أن يعمل؟)))
لو فادك موضوع النهارده استنى البوست الجاي هنكمل شرح دور ال API تيستنج وازاي بيكون خط الحماية الاخير وعلاقه ال business logic
ولحد البوست الجديد زور موقعنا واستفيد بكل المحتوي الموجود لافادتك ومساعدتك تغير من طريقة تفكيرك https://aimtech.online/posts