تخطٍّ إلى المحتوى
Clinford Jordano Valencia
كل المشاريع
منصة

Saga، أداة لحقن حالة الاختبار

حقن حالة مدعوم من الخادم يتيح لفرق ضمان الجودة والأتمتة الانتقال مباشرة إلى أي خطوة في مسار تحقق طويل، فيقلّص تجهيز اختبارات الانحدار من 20 دقيقة إلى أقل من دقيقة.

الدور
Senior Frontend Engineer
الفترة
2025–الآن
التقنيات
TypeScript · Playwright · BFF · Test database

المشكلة

لفحص خلل في الخطوة 5 من مسار KYC، كان عليك أولًا إدخال بيانات شخصية صالحة، ورفع وثائق الهوية، واجتياز فحوص الحيوية في الخطوات من 1 إلى 4. في كل مرة، ولكل pull request ولكل تشغيل آلي.

النهج

تتيح Saga للمختبِر أو للسكربت فتح التطبيق وهو في الحالة المطلوبة مباشرة.

  1. يفتح سكربت Playwright أو مهندس ضمان الجودة الصفحة برمز اختبار آمن، مثل ?state=step_4_ready.
  2. تلتقط الواجهة الأمامية الرمز أثناء التهيئة (hydration) وتمرره في ترويسة إلى BFF.
  3. يتأكد BFF من أن البيئة ليست بيئة إنتاج على الإطلاق، ثم يجهّز جلسة المستخدم في قاعدة بيانات الاختبار: الخطوات من 1 إلى 3 مكتملة، والمؤشر النشط على الخطوة 4.
  4. يعيد BFF رمز جلسة حقيقيًا، وتعرض الواجهة الخطوة 4 فورًا.

اخترتُ الحقن من جهة الخادم بدل محاكاة localStorage في المتصفح. التطبيقات الحديثة تتحقق من الجلسات في الخادم، لذا تنحرف المحاكاة على جهة العميل وحدها عن الواقع، وتنتج اختبارات تنجح هنا وتفشل في الإنتاج.

النتيجة

انخفض تجهيز اختبارات الانحدار من 10–20 دقيقة في كل دورة إلى أقل من دقيقة. ومع عشرات عمليات تشغيل pull request ومجموعات الأتمتة كل أسبوع، أعاد ذلك مئات الساعات الهندسية في كل ربع سنة.