1000 خطأ، وGoogle Sheet واحد، وخمس ساعات لن أستعيدها أبداً

لكل ثغرة برمجية قصة. وهذه القصة بدأت بكذبة: "إنه يعمل على جهازي".

قمنا باختبار ميزة استيراد البيانات لشركة توليد عملاء محتملين (lead generation). بدا الأمر بسيطاً؛ تضغط على زر، ترفع ملفاً، ثم يتم تحميل البيانات.

يفترض معظم الناس أن هذه الميزات تعمل بشكل صحيح. لكن المختبرين موجودون لإثبات خطأ هذا الافتراض.

المسار المثالي (happy path) هو فخ.

إذا رفعت ملف Excel نظيفاً، سيعمل النظام بنجاح. تذهب لتناول الغداء، وتظن أن المهمة قد انتهت. إذا توقفت عند هذا الحد، فأنت ترسل كوداً معيباً. وسيكتشف العميل الخطأ صباح يوم الإثنين في بيئة التشغيل الفعلية (production).

المشكلة كانت في Google Sheet.

المستخدمون الحقيقيون لا يستخدمون ملفات Excel نظيفة، بل يستخدمون Google Sheets فوضوية. إنهم يصنعون الفوضى في جداول البيانات ويتوقعون من الأنظمة التعامل معها.

عندما رفعنا Google Sheet، فشل النظام. أنتج أكثر من 1,000 خطأ. نفس البيانات ونفس الزر تسببا في انهيار تام لأن التنسيق قد تغير.

ثم اختبرنا جودة البيانات.

  • بضعة صفوف غير صالحة؟ تخطاها النظام واستمر.
  • مئات الصفوف الفوضوية؟ تعطل النظام.

كان منطق التحقق (validation logic) يعمل مع الأخطاء الصغيرة، لكنه فشل عندما واجه جبلاً من البيانات غير الصالحة (garbage data).

قضينا خمس ساعات في تصحيح الأخطاء (debugging). ألقينا اللوم على الملف، والمتصفح، والبيانات، بل وألقينا اللوم حتى على القهوة.

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

أنا أفضل الدفع بالوقت.

للعثور على أخطاء حقيقية، يجب أن تغير عقليتك. لا تسأل عما إذا كان البرنامج يعمل، بل اسأل كيف يمكنك كسره.

توقف عن التفكير كمطور، وابدأ التفكير كـ:

  • المستخدم الكسول الذي يرفع تنسيق ملف خاطئ.
  • المستخدم الفوضوي الذي يستخدم خلايا مدمجة وصفوفاً فارغة.
  • مستخدم البيانات الضخمة الذي يرفع 4,000 سجل غير نظيف بدلاً من 10 سجلات نظيفة.
  • الشخص المثير للمشاكل الذي يفعل بالضبط ما لا ينبغي فعله.

تتعطل البرمجيات بسبب المدخلات التي لا تتوقعها.

الميزات "البسيطة" هي الأكثر خطورة. زر الاستيراد وصندوق البحث يبدوان غير ضارين، لكنهما ليسا كذلك.

في المرة القادمة التي تجتاز فيها ميزة ما المسار المثالي، كن أنت الشخص الذي يسأل: "ماذا لو رفعت أسوأ ملف يمكن تخيله؟"

ثم اذهب وافعل ذلك.

المصدر: https://dev.to/jaswanth_m_ab71bf22ec8b0/1000-errors-one-google-sheet-and-five-hours-i-will-never-get-back-4okl