surfup

منصة EdTech لمدرسة عبر الإنترنت

إنشاء QA من الصفر: توقفت الإصدارات عن تعطيل بيئة الإنتاج

التعليم · QA · أتمتة الاختبارات · اختبار الحمل
سياق المشروع

العميل منصة للتعليم عبر الإنترنت تضم دروساً تفاعلية وواجبات منزلية وحسابات شخصية للطلاب وأولياء الأمور ودفعاً إلكترونياً. يتميز النشاط بموسمية حادة: يستقطب سبتمبر أكبر عدد من الطلاب الجدد، وتعطل المنصة خلال الأسابيع الأولى من العام الدراسي يعني خسارة العملاء إلى الأبد. لم يكن لدى العميل فريق داخلي لضمان الجودة؛ كان المطورون يختبرون بين المهام، ويستغرق اختبار الانحدار قبل الإصدار ثلاثة أيام ومع ذلك يفوّت سيناريوهات حرجة مثل الدفع وحجز الدرس ودخول الصف. تواصل العميل معنا بعد حادثة أخرى تسبب فيها خلل في الدفع وخسرت المدرسة جزءاً من الطلبات التي جمعتها خلال الصيف.

01 · التحدي

إنشاء عملية لضمان الجودة من الصفر:

استراتيجية اختبار ترتب الأولويات بحسب مخاطر العمل، وأتمتة السيناريوهات الأساسية، ودمج الفحوصات في CI، واختبار الأحمال قبل ذروة سبتمبر. وكان القيد هو مواصلة العمل من دون إيقاف التطوير؛ فالإصدارات تستمر أسبوعياً، ولا يمكن تأجيل سبتمبر.

02 · العمل المنجز

لم نبدأ بالاختبارات الآلية، بل بتحليل المخاطر: ما السيناريوهات الأكثر تعرضاً للأعطال، وأين تكون كلفة الخلل أعلى؟ ثم نفذنا الأتمتة وفق هذه القائمة بدقة.

  • دققنا الجودة: راجعنا الأخطاء خلال الأشهر الستة الماضية، وأجرينا مقابلات مع الفرق، ورسمنا خريطة للسيناريوهات الأكثر إيلاماً: الدفع، وحجز الدرس، ودخول الصف، وإشعارات أولياء الأمور.
  • كتبنا استراتيجية للاختبار تشمل مستوياته ومجالات المسؤولية ومعايير اكتمال الميزات وقواعد الإبلاغ عن الأخطاء، لتكون موحدة بين فرق التطوير الثلاثة.
  • أتمتنا المسار الحرج: سيناريوهات e2e باستخدام Playwright لمنصة الويب، واختبارات API للخلفية، ومجموعة smoke قبل كل إصدار.
  • أدرجنا بوابات QA في CI: لا يمكن إصدار النسخة دون نجاح مجموعة smoke، ويُشغّل اختبار الانحدار الكامل كل ليلة، وتظهر النتائج لجميع الفرق في GitLab.
  • أجرينا اختبار أحمال باستخدام k6: حاكينا حركة ذروة سبتمبر، وحددنا نقاط الاختناق وعالجناها مع فريق الخلفية قبل بداية الموسم.
  • نقلنا العملية إلى فريق العميل: وثقناها، ووضعنا إجراءاتها، ودربنا مهندس QA على الاختبارات الآلية وخط التسليم.

كان القرار الأهم ترتيب الأولويات وفق مخاطر العمل، لا السعي وراء «جمال التغطية». لم نطارد الأتمتة بنسبة 100% عن قصد: فقد وفرت تغطية 75% من السيناريوهات الحرجة معظم الأثر لأنها تحمي المسارات التي تكسب المنصة العملاء أو تخسرهم. وتبقى السيناريوهات الأخرى مغطاة باختبارات استكشافية يدوية قبل الإصدارات المهمة.

03 · النتيجة

كان الأثر الاقتصادي الأهم تقديم اكتشاف العيوب إلى مرحلة أبكر: فالخلل الذي يكشفه اختبار آلي في CI أقل كلفة بعشرات المرات من خلل يلاحظه أحد أولياء الأمور في بيئة الإنتاج. دخلت المنصة الموسم بهامش أمان، وأصبحت الفرق قادرة على إصدار التغييرات كثيراً من دون الخوف من «أثر يوم الجمعة». وهناك فائدة إضافية تتمثل في ثقة قطاع الأعمال: يستطيع فريق المبيعات الآن أن يعد المدارس الشريكة بصدق بمنصة مستقرة خلال ذروة التسجيل.

04 · النتائج الرئيسية
المؤشرالنتيجة
أخطاء حرجة في الإنتاج5–7 شهرياً → 1–2 كل ربع سنة
اختبار الانحدار قبل الإصدار3 أيام يدوياً → 4 ساعات بالاختبارات الآلية
ذروة الأحمال في سبتمبرحوادث كل عام → 0 حوادث، من دون تراجع في الأداء
وقت اكتشاف العيبغالباً في الإنتاج → تكشفه الاختبارات الآلية قبل الإصدار

نُقلت المؤشرات من المواد الأصلية للحالة. وتُذكر الفترة حيثما وردت في المصدر.

أربعة أشهر من العمل
أخطاء حرجة كل ربع سنة (كانت 5–7 شهرياً)
1–2
اختبار الانحدار بالاختبارات الآلية (كان 3 أيام يدوياً)
4 ساعة
من السيناريوهات الأساسية تغطيها الاختبارات الآلية
75%
حوادث خلال ذروة سبتمبر
0
تغطية الفحوصات وسرعتها
السيناريوهات الأساسية ضمن الاختبارات الآلية
قبل0%
بعد75%
الأخطاء الحرجة في بيئة الإنتاج
قبل5–7 شهرياً
بعد1–2 كل ربع سنة
القيمة الأقل أفضل
اختبار الانحدار قبل الإصدار
قبل3 أيام
بعد4 ساعات
القيمة الأقل أفضل

مقياس توضيحي: حُوّلت 3 أيام إلى 72 ساعة. ولأطوال الأعمدة، يُحوّل نطاق الأخطاء الشهري إلى ربع سنة بضربه في ثلاثة؛ وتُقارن الحدود العليا.

بوابات QA في CI
  1. 01إيداع التغيير
  2. 02مجموعة اختبارات smokeلا نجاح، لا إصدار
  3. 03الإصدارأسبوعياً
  4. 04كل ليلةاختبار الانحدار الكامل
الخطوات التالية

ما نوصي به للمنصة كخطوة تالية:

  • اختبار انحدار بصري للتحقق آلياً من تنسيق الدروس والرسائل والحسابات الشخصية.
  • مصنع لبيانات الاختبار ينشئ طلاباً ومجموعات ومدفوعات واقعية لكل تشغيل.
  • QA في بيئة الإنتاج باستخدام feature flags وإصدارات canary لتفعيل الميزات الجديدة تدريجياً.
اقتباس
لم نعد نخشى الإصدارات. كان كل يوم جمعة قد يتحول إلى تحقيق في الشكاوى، أما الآن فأصبح النشر في الإنتاج إجراءً روتينياً يستغرق خمس عشرة دقيقة.

— المدير التقني لمدرسة عبر الإنترنت

أحدث المواد

كل المواد

مقالات وأدلة عملية من SurfUp.

دليل · 10 دقائق

صفحات «ما هو…» وإجابات الذكاء الاصطناعي: نقرات ضائعة أم طلب متراجع

فقد قسم مرجعي لبنك 24% من الزيارات بينما تراجع الطلب 13%. كيف نميّز النقرات الضائعة بسبب كتلة ذكاء اصطناعي من تراجع الطلب، وكيف نقيس ذلك.

اقرأ
دليل · 8 دقائق

انخفضت الزيارات بعد تحديث Google

كيف تعرف إن كان انخفاض الزيارات بسبب تحديث Google أو الموسمية أو عطل في الموقع: تسلسل تحديثات 2026، وفحص من ستة أسئلة، وخطة أول 14 يومًا.

اقرأ
دليل · 9 دقائق

تراجع الطلب أم خسر الموقع: مطابقة الحركة مع Wordstat

تراجع الطلب على الودائع 75% والحركة 37%؛ وفي البطاقات الطلب −35% والحركة −63%. كيف تطابق الحركة مع الطلب دون أن تلوم الموقع على السوق.

اقرأ