اختبار تسجيل الدخول بدون كلمة مرور دون فوضى البريد الوارد
يبدو تسجيل الدخول بدون كلمة مرور سهلاً في العروض التوضيحية. يدخل المستخدم بريده الإلكتروني، ويحصل على رابط سحري، ثم يسجل دخوله.
في بيئة الـ staging، يتعطل هذا التدفق. حيث تصل الروابط إلى صناديق بريد مشتركة أو أسماء مستعارة قديمة للبريد الإلكتروني، مما يجعل عملية الاختبار فوضوية.
يجب عليك التعامل مع المصادقة بدون كلمة مرور كنظام واحد متكامل. فأنت بحاجة إلى اختبار عميل JavaScript، والخلفية (backend) المبنية بـ Node.js، وعملية تسليم البريد الإلكتروني، والجلسة النهائية.
إذا تجاهلت صندوق البريد الوارد، فقد تنجح اختبارات الـ API الخاصة بك بينما تفشل تجربة المستخدم.
تشمل الإخفاقات الشائعة ما يلي:
- ترسل الخلفية (backend) رابطين بعد محاولة إعادة الإرسال.
- يشير البريد الإلكتروني إلى مضيف البيئة (environment host) الخاطئ.
- يعمل الرابط القديم لفترة أطول مما ينبغي.
- تقوم الواجهة الأمامية (frontend) بتحديد المستخدم كمسجل دخول قبل تعيين ملف تعريف الارتباط (cookie).
استخدم صندوق بريد معزولاً لكل عملية اختبار. هذا يحافظ على نظافة بياناتك ويسرع عملية تصحيح الأخطاء (debugging). إذا استخدمت ثلاثة اختبارات صندوق بريد واحدًا، فلن تتمكن من العثور على الخطأ.
اتبع سير العمل هذا:
- قم بتشغيل عملية تسجيل الدخول من واجهة المستخدم (UI) الخاصة بك أو من خلال اختبار شامل (end-to-end test).
- اترك Node.js يرسل الرابط عبر مسار الـ staging الخاص بك.
- التقط الرسالة في صندوق بريد جديد ومعزول.
- افتح أحدث رابط في نفس جلسة المتصفح.
- تحقق من حالة المصادقة.
الاختبار الجيد يفعل أكثر من مجرد التحقق من وصول البريد الإلكتروني. تحقق من هذه الخطوات بالترتيب:
- يعيد طلب تسجيل الدخول استجابة نجاح محايدة.
- يوجد رابط سحري واحد جديد تماماً.
- يتطابق مضيف الرابط مع نطاق الـ staging الخاص بك.
- يبدأ الرمز (token) جلسة صالحة.
- تفشل محاولة إعادة استخدام نفس الرابط.
- يقوم التطبيق بتحديث واجهة المستخدم (UI) دون الحاجة إلى تحديث يدوي.
في الخلفية (backend)، قم بإرفاق معرف ارتباط (correlation ID) بسجلاتك. يساعدك هذا في تتبع الطلب من لحظة إنشائه حتى الجلسة النهائية.
لا تستبدل جميع اختباراتك باختبارات تعتمد على البريد الإلكتروني. استخدم اختبارات الوحدة (unit tests) السريعة للمنطق البرمجي، واستخدم مسار صندوق البريد هذا لمجموعة اختبارات الـ staging.
استخدم قائمة التحقق هذه قبل الإطلاق:
- ينشئ طلب تسجيل الدخول رابطاً نشطاً واحداً فقط.
- من السهل تحليل (parse) أحدث بريد إلكتروني في بيئة الـ staging.
- يقوم الرابط بتسجيل دخول المستخدم على المضيف الصحيح.
- لا يمكن استخدام الرابط مرتين.
- يؤدي تسجيل الخروج ثم إعادة تسجيل الدخول إلى إنشاء رمز (token) جديد ونظيف.
