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

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

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

التقنيات
TypeScript · Playwright · BFF · Test database

المشكلة

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

النهج

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

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

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

النتيجة

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