ما الذي يكشفه اختبار البرمجيات لغير المطورين ولا تستطيع المراجعة كشفه

الكذبة

  • رسالة نجاح دون حفظ أي شيء. قراءة الشيفرة تُظهر النية لا النتيجة.

الالتباس

  • مسار يعمل من الناحية التقنية ولا يستطيع أحد إكماله. لا يلاحظ ذلك إلا إنسان.

الافتراض

  • يعمل مع الحساب الذي أنشأه، ويفشل مع كل من عداه.

  • غير مرئي لمن يملك ذلك الحساب الأول.

أربعة فحوص لا تحتاج إلى شيفرة

  • نفّذ الإجراء، ثم أعد التحميل. يفصل بين «تحدّثت الشاشة» و«حُفظ الأمر». وهو أعلى الفحوص مردودًا على الإطلاق.

  • نفّذه بصفة شخص آخر. حساب ثانٍ يكشف افتراضات الصلاحيات فورًا.

  • نفّذه بشكل خاطئ عن قصد. أرسل بيانات غير صالحة وتأكد من أن التطبيق يوضّح ذلك بجلاء بدل أن يفشل بصمت.

  • نفّذه من دون أي بيانات. الحالات الفارغة تُبنى آخرًا وتُختبر أقل من غيرها.

كتابة تقرير يُصلَح فعلًا

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

وهذا في حد ذاته فحص. يُكتب مرة واحدة، ثم يمكن تشغيله بعد كل تغيير لاحق.

ماذا تفعل حين لا يتحرك أحد بناءً على تقريرك

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

ثلاثة أمور تسدّ هذه الفجوة. اذكر أي حساب وأي بيئة، لأن الخلل الذي يقع لنوع واحد من المستخدمين خلل مختلف. واذكر هل يحدث في كل مرة أم أحيانًا، لأن المتقطّع والمتسق لهما أسباب مختلفة تمامًا، ومعرفة أيهما توفّر ساعة. واذكر صراحةً ما الذي توقعته، لأن الخلاف في نصف الحالات يتبيّن أنه حول المتطلب لا حول الشيفرة، وهذا يستحق أن يظهر مبكرًا.

لا شيء من ذلك يتطلب مصطلحات تقنية. إنه الفرق بين تقرير يُكتفى بفرزه وتقرير يُصلَح.

جعل الفحوص تبقى بعدك

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

لا شيء من هذا يحتاج إلى طرفية. أنشئ مشروعًا في لوحة تحكم TestSprite، وصِف الفحص بلغة بسيطة، ووجّهه إلى تطبيقك. ويمكن للمطورين في فريقك تشغيل الشيء نفسه من سطر الأوامر إن فضّلوا ذلك، وهو متاح في مستودع CLI.

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

كيف يحوّل TestSprite فحوصك إلى شيء دائم

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

ومنذ تلك اللحظة يعمل مع كل تغيير. والفحوص الأربعة في هذه الصفحة تكفّ عن كونها شيئًا تكرره يدويًا، وتصبح سجلًا يواصل العمل بينما تنشغل أنت بشيء آخر.

القيمة هنا محددة: معرفتك بما ينبغي أن يحدث تكفّ عن العيش في رأسك وحده، وهذا ما يجعل إسهامك مرئيًا لكل من حولك وباقيًا بعد انتقالك إلى المهمة التالية.

هل أحتاج إلى تعلّم البرمجة؟

لا. صِف المسار بلغة بسيطة. القيمة التي تضيفها هي معرفتك بما ينبغي أن يحدث، وهذه ليست مهارة برمجية.

كيف أعرف أن فحصي حقيقي؟

اكسر الشيء عمدًا وتأكد من أن الفحص يفشل. دقيقة واحدة، وهي الدليل الوحيد على أنه متصل بشيء فعلًا.

ماذا لو تجاهل المطورون تقريري؟

استخدم الجمل الثلاث. تسلسل محدد مصحوب بتوقّع أصعب كثيرًا في التجاهل من عبارة «إنه معطّل».

هل أختبر قبل التغيير أم بعده؟

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

ما أفضل شيء واحد يمكن فحصه؟

نفّذ شيئًا ما، ثم أعد التحميل. تفشل المنتجات هنا أكثر من أي موضع آخر، ولا يستغرق الأمر سوى خمس ثوانٍ.

الخلاصة

عدم قراءة الشيفرة ميزة هنا.

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