Key points are not available for this paper at this time.
يساهم عشرات الآلاف من المهندسين في قاعدة الشيفرة الخاصة بشركة جوجل التي تمتد عبر مليارات الأسطر من الشيفرة. لضمان جودة عالية للشيفرة، تم بذل جهد كبير مع تقنيات وإطارات اختبار جديدة. ومع ذلك، ومع تزايد تعقيد هياكل البيانات وأنظمة البرمجيات، لا يمكن لاستراتيجيات اختبار الحالات التقليدية أن تتوسع بشكل جيد لتحقيق المستوى المطلوب من كفاية الاختبار. يعتبر الاختبار التفاضلي (Diff) أحد تقنيات الاختبار الجديدة المعتمدة لملء هذه الفجوة. حيث يستخدم نفس الإدخال لتشغيل نسختين من نظام البرمجيات، وهما النسخة الأساسية (base) ونسخة الاختبار (test)، حيث النسخة الأساسية هي النسخة الموثقة / المختبرة من النظام بينما نسخة الاختبار هي النسخة المعدلة. يتم مقارنة مخرجات التشغيلين بدقة للعثور على الشواذ التي قد تؤدي إلى أخطاء محتملة. على مدى السنوات القليلة الماضية، تم اعتماد الاختبار التفاضلي بسرعة من قبل مئات الفرق عبر جميع المجالات الرئيسية للمنتجات في جوجل. وفي الوقت نفسه، تم تطوير العديد من إطارات الاختبار التفاضلي الجديدة لتبسيط إنشاء وصيانة وتحليل اختبارات الفروق. بدافع الفضول بشأن هذه الشعبية الناشئة، قمنا بإجراء أول دراسة تجريبية حول الاختبار التفاضلي في الممارسة العملية على نطاق واسع. في هذه الدراسة، استقصينا الممارسات الشائعة واستخدام اختبارات الفروق. نحن نستكشف أيضًا الخصائص التي يقدرها المستخدمون أكثر في اختبارات الفروق ونقاط الألم في استخدام اختبارات الفروق. من خلال هذه الدراسة، اكتشفنا أن الاختبار التفاضلي لا يحل محل تقنيات الاختبار الدقيقة مثل اختبارات الوحدة. بدلاً من ذلك، فإنه يكمل مجموعات الاختبارات القائمة. يساعد المستخدمين في التحقق من التأثير على المكونات غير المعدلة وغير المعروفة في غياب أوراق الاختبار. من حيث القيود، غالبًا ما تستغرق اختبارات الفروق وقتًا طويلاً للتشغيل وتبدو أنها تنتج نتائج صاخبة وغير مستقرة. أخيرًا، نسلط الضوء على المشاكل (بما في ذلك الفرق الذكي في البيانات، وأخذ العينات، وقابلية التتبع) لتوجيه البحث المستقبلي في الاختبار التفاضلي.
درس جلزار وآخرون (الأربعاء) هذا السؤال.