انتقل إلى المحتوى

مصطلح في خيطين

اختبار الطفرات البرمجيةMutation Testing

المعنى في سطر

اختبار الطفرات (Mutation Testing) يزرع أخطاء صغيرة متعمّدة في الكود ليعرف هل تكتشفها الاختبارات. لماذا عاد مهمًّا مع كود وكلاء البرمجة؟

باختصار

اختبار الطفرات البرمجية (Mutation Testing) طريقة لاختبار الاختبارات نفسها: تُدخل تغييرات صغيرة متعمّدة على الكود، ثم تنظر هل تكشفها مجموعة الاختبارات.

بالتفصيل

بحسب Wikipedia، كل نسخة معدّلة من البرنامج تسمّى «طافرة» (Mutant). إذا فشل اختبار بسببها، فقد «قتلها» الاختبار، أي اكتشف أن سلوكها يختلف عن الأصل. وتُقاس قيمة مجموعة الاختبارات بنسبة الطافرات التي تقتلها.

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

وتذكّر Wikipedia بالسؤال اللاتيني القديم: «من يحرس الحرّاس؟». اختبار الطفرات جواب برمجي عنه.

مثال عملي

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

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

مصطلحات مرتبطة

المصادر: Wikipedia، InfoQ — 2026-10-16