AIM Tech

AIM Tech

Share

05/04/2026

تعرف ايه هو ال Feature Flags Testing ؟؟!
ده بيحصل لما الكود يكون في Production… بس مش “شغال” لكل الناس

زمان…
كان عندك اختيارين:

1️⃣ تنزل الفيتشر
2️⃣ أو تستنى

دلوقتي؟
في اختيار تالت 👇
تنزل الفيتشر… بس تخليها “مقفولة”.

ده اسمه Feature Flag أو Feature Toggle.

🎯 الفكرة ببساطة

Feature Flag هو شرط في الكود:

لو الفلاج ON → الفيتشر تظهر
لو OFF → الفيتشر تختفي

الكود موجود في Production
لكن متحكم في تشغيله.

💥 ليه ده موضوع Testing تقيل؟

لأنك فجأة بقى عندك:

Version واحدة من الكود
لكن سلوكيات مختلفة حسب الفلاج

يعني بدل ما تختبر Scenario واحد…
بقى عندك:

Feature ON
Feature OFF
Partial rollout (10% users)
A/B testing
Role-based exposure

الـ Combinations بتزيد جدًا.

🔎 مثال عملي

عندك Checkout Page جديدة.

Feature Flag اسمه: new_checkout_ui

لو ON → صفحة جديدة
لو OFF → القديمة

طيب كـتيستر هنا لازم تسأل:

هل الـ analytics شغالة في الاتنين؟
هل الدفع شغال في الاتنين؟
هل الداتا اللي بتتبعت للـ backend متطابقة؟
هل rollback سهل لو حصلت مشكلة؟
⚠️ المخاطر اللي محدش بياخد باله منها

1️⃣ Dead Code
Feature اتقفلت ومحدش شالها
والكود بقى مليان شروط

2️⃣ Flag Dependencies
Flag يعتمد على Flag تاني
والنتيجة سلوك غير متوقع

3️⃣ Production-only Bugs
فيه bugs مش بتظهر إلا لما الفلاج يتفعل لجزء من المستخدمين

🧪 إزاي تختبر Feature Flags صح؟
1️⃣ Test Both States

مش تختبر الفيتشر وهي ON بس
لازم OFF كمان

2️⃣ Test Switching at Runtime

هل تغيير الفلاج بيأثر فورًا؟
ولا محتاج restart؟

3️⃣ Test Rollback Scenario

لو الفيتشر سببت مشكلة
هل إغلاق الفلاج يحلها فورًا؟

4️⃣ Validate Data Integrity

هل البيانات متسقة بين الحالتين؟

🧠 Advanced Tester Thinking

Feature Flags بتغيّر طريقة التفكير.

أنت مش بتختبر “نسخة”
أنت بتختبر “احتمالات”.

الاختبار هنا مش خطي
هو Matrix من السيناريوهات.

🎯 الخلاصة

Feature Flags أداة قوية جدًا
بس لو اتستخدمت من غير Testing واعي
ممكن تزود التعقيد بدل ما تقلله.

التيستر الحقيقي هنا
مش بس بيجرب الفيتشر…

هو بيسأل:
“إيه اللي هيحصل لو اتغيرت فجأة؟”
“إيه اللي هيكسر لو اتقفلت؟”

وده الفرق بين اختبار ميزة
واختبار نظام حيّ بيتغير طول الوقت 🔥

لو عجبك موضوعنا ما تنساش تزور موقعنا هتلاقي فيه اكتر https://aimtech.online/posts كل جديد في مجال السوفتوير تيستنج

31/03/2026

🧠 State Drift — لما السيستم “يتغير” من غير ما حد ياخد باله

فيه نوع مشاكل مش بيكون Bug واضح.
ولا Crash.
ولا Error ظاهر.

السيستم بيشتغل…
بس مش زي ما المفروض يشتغل.

ده اسمه State Drift.

💡 يعني إيه State Drift؟

هو إن حالة النظام (System State) تبدأ تختلف تدريجيًا عن الحالة المفروض يكون عليها…
بسبب:

Processes شغالة في الخلفية
Jobs فشلت ومحدش لاحظ
Cache ما اتحدثتش
Sync ما تمش
Manual intervention

من غير ما يحصل Failure صريح.

السيستم “شغال”…
لكن الحقيقة؟
هو خرج عن المسار.

🎯 مثال عملي

عندك E-commerce:

Order اتعمل
Payment نجح
Inventory المفروض يقل

لكن:

Inventory Service اتأخرت
أو Message Queue ما بعتتش الرسالة

فالنتيجة؟

اليوزر دفع
الأوردر موجود
المخزون لسه ما اتخصمش

الـ System State بقى inconsistent.
ومحدش لاحظ فورًا.

👀 المشكلة ليه خطيرة؟

لأن:

الـ Tests بتعدي
الـ Monitoring ممكن ما يلتقطش المشكلة
مفيش Error واضح

لكن بعد أسبوع:

الأرقام مش مظبوطة
التقارير غلط
في discrepancy في الحسابات
🧪 دور Tester في مواجهة State Drift

هنا لازم يفكر أبعد من:

✔️ هل الـ API رجعت 200؟
✔️ هل الشاشة عرضت الداتا؟

ويسأل:

هل كل Services متزامنة؟
هل فيه Delayed consistency؟
هل فيه Background jobs لازم أتحقق منها؟
هل فيه reconciliation process؟
لو أعدت تشغيل Service… الحالة هتفضل consistent؟
🔬 اختبارات عملية

✔️ Kill Service أثناء Process
✔️ Restart System بعد منتصف عملية
✔️ اختبار Message loss
✔️ التأكد من eventual consistency
✔️ مقارنة DB states بين services

🔥 ليه الموضوع ده Advanced؟

لأن المشاكل دي:

مش deterministic
مش مرتبطة Feature واحدة
بتظهر في Distributed Systems
بتظهر تحت Load أو Partial failure

وده الفرق بين:

Tester بيختبر feature
و Tester بيفهم Lifecycle الحالة بالكامل.

🎯 الخلاصة

State Drift مش Bug واضح…
هو انحراف صامت.

والأنظمة المعقدة مش بتفشل فجأة…
هي بتبدأ “تنحرف” ببطء.

Tester القوي هو اللي يكتشف الانحراف
قبل ما يتحول لكارثة Production.

لو فادك موضوع النهاردة ما تنساش تزور موقعنا https://aimtech.online/posts هتلاقي عليه كل اللي يفيدك تكون تيستر مميز

10/03/2026

🎉 خطوة تستحق الاحتفال!

نبارك لـ عمر عبد الرافع على حصوله على أول وظيفة له في مسيرته المهنية في مجال الـ Software Testing وانضمامه إلى شركة Metas Research Studio 🚀

رحلة عمر ما كانتش سهلة…
لأنه قرر يعمل Career Shift من مجال مختلف تمامًا، ويبدأ طريق جديد من الصفر. القرار ده محتاج شجاعة، وصبر، وإصرار كبير — وعمر كان قد التحدي 👏

اشتغل على نفسه، تعلّم، وواجه التحديات خطوة بخطوة لحد ما قدر يحوّل قراره لبداية حقيقية في المجال.
والنهارده بيحصد نتيجة تعبه بأول وظيفة في الكارير الجديد 🌟

في AIM Tech بنفتخر دايمًا بقصص الناس اللي بتقرر تبدأ من جديد، وتثبت إن الشغف والتعلّم المستمر ممكن يفتحوا أبواب فرص حقيقية.

عمر، فخورين جدًا بيك وبشجاعتك في اتخاذ القرار ده، وبنتمنالك رحلة مليانة نجاحات وخبرات أكبر في الطريق الجاي 💙

Want your business to be the top-listed Computer & Electronics Service in Cairo?
Click here to claim your Sponsored Listing.

Address


Cairo
Cairo