إعادة كتابة تطبيق قديم دون الإخلال بقواعد العمل: منهجية اختبارات التكافؤ
كثيراً ما تفشل إعادة الكتابة الكاملة لأن قواعد العمل تضيع في الطريق. واختبارات التكافؤ تحمي نشاطكم أثناء تحديث تطبيقكم.


تطبيقكم في الخدمة منذ سنوات. إنه بطيء، وصعب التعديل، وربما لم يعد آمناً تماماً. لكنه يعمل، ونشاطكم يعتمد عليه. وفكرة تحديثه تبعث على القلق، وعن حق: فكثير من مشاريع إعادة الكتابة تفشل للسبب نفسه.
الخطر الحقيقي: قواعد عمل غير مرئية
يحمل التطبيق القديم سنوات من القرارات: طريقة خاصة لحساب مبلغ، واستثناء لنوع معين من العملاء، ومستند يُنشأ في حالة محددة. ونادراً ما تكون قواعد العمل هذه موثقة كلها. فهي تعيش في الشيفرة، وفي أذهان قلة من المستخدمين.
وفي إعادة الكتابة الشاملة دفعة واحدة، على طريقة «الانفجار الكبير» (big bang)، تُنسى بعض هذه القواعد. ولا يكتشف أحد ذلك إلا بعد التشغيل الفعلي، حين يتلقى عميل فاتورة خاطئة أو يتعطل أحد الملفات.
مبدأ اختبارات التكافؤ
يصف اختبار التكافؤ سلوكاً للتطبيق كما يُرى من الخارج: عندما نفعل هذا، يجب أن نحصل على ذاك. مثلاً: «عندما تُسدَّد فاتورة بالكامل، تنتقل الطلبية إلى حالة مسدَّدة».
والفكرة الأساسية بسيطة:
- يُكتب الاختبار بلغة العمل، بمعزل عن التقنية.
- يُشغَّل أولاً على التطبيق القديم، للتحقق من أنه يصف الواقع فعلاً.
- ثم يُشغَّل الاختبار نفسه تماماً على التطبيق الجديد. وما لم ينجح، فالنسخة الجديدة ليست جاهزة.
عملياً، تعتمد الاختبارات على طبقة وسيطة رفيعة تعرف كيف «تتحدث» إلى التطبيق القديم، ثم على طبقة أخرى تعرف كيف تتحدث إلى التطبيق الجديد. أما الاختبارات نفسها فلا تتغير، وهذا ما يجعلها دليلاً متيناً.
المنهجية خطوة بخطوة
- حصر السلوكيات الحرجة مع المستخدمين: ما يجب ألا يتعطل أبداً (العمليات الحسابية، والحالات، والمستندات، وصلاحيات الوصول).
- كتابة اختبارات التكافؤ لهذه السلوكيات، بدءاً بأهمها.
- التحقق منها على التطبيق القديم: يجب أن ينجح كل اختبار؛ وإذا لم ينجح أحدها، فهذا يعني أن القاعدة فُهمت فهماً خاطئاً.
- إعادة البناء وحدةً تلو الأخرى. يجب أن يجتاز كل جزء أُعيدت كتابته الاختبارات نفسها التي يجتازها الجزء القديم.
- الانتقال إلى التطبيق الجديد عندما تنجح كل الاختبارات، مع ترحيل بيانات مُتحقَّق منه ومراقبة دقيقة خلال الأسابيع الأولى.
«خطأ أم قاعدة؟»: السؤال الذي يتكرر دائماً
أثناء كتابة الاختبارات، تكتشفون دائماً سلوكيات غريبة. بعضها أخطاء يلتف عليها الجميع منذ سنوات. وبعضها الآخر قواعد أرادها أحدهم في وقت ما.
والإجابة الصحيحة ليست تقنية: إنها قرار يخص العمل. تُحصر هذه الحالات، ويُبتّ فيها مع المسؤول عن ذلك الجزء من النشاط، ويُوثَّق كل قرار. فيصحح التطبيق الجديد الأخطاء عن قصد، ويُبقي على القواعد عن وعي.
ما الذي تكسبونه
- الثقة: تعرفون، بالدليل، أن التطبيق الجديد يفعل ما كان يفعله القديم.
- تقدم قابل للقياس: عدد الاختبارات الناجحة على النسخة الجديدة يبيّن أين وصل المشروع.
- شبكة أمان للمستقبل: تبقى الاختبارات، وتحمي كل تغيير مستقبلي.
باختصار
تحديث التطبيق لا يعني بالضرورة القفز في المجهول. فمع اختبارات التكافؤ، تتقدمون خطوة بخطوة، دون أن تفقدوا قاعدة عمل واحدة، ودون أن يتوقف نشاطكم.
هل بدأت علامات التقادم تظهر على تطبيقكم؟ تكفي مكالمة تعريفية مدتها 30 دقيقة لمعرفة ما إذا كان هذا النهج يناسب وضعكم.
لنتحدث عنه في مكالمة تعريفية مدتها 30 دقيقة، مجاناً ودون أي التزام.






