المكاسب:
- القدرة على فهم الطبقات الوظيفية وطبقات الانحدار وحالة الحافة واختبار التصادم وإنتاج سيناريوهات الاختبار وقوائم حالات الحافة باستخدام الذكاء الاصطناعي
- القدرة على تسريع تصحيح الأخطاء عن طريق كتابة كود الاختبار التلقائي باستخدام الذكاء الاصطناعي واستخراج الأنماط في تحليل السجل والتعطل
- القدرة على فهم أن تشخيص الخطأ في الذكاء الاصطناعي ليس دليلاً بل فرضية، ويجب إثبات السبب بالسجلات والاستنساخ، وأهمية أن يكون تقرير الخطأ قابلاً للتكرار.
عندما يتم إصدار لعبة ما، يلعبها اللاعبون بطرق لم يتخيلها المطور: أن يعلقوا في الجدران، ويستغلوا المخزون، ويصلوا إلى أماكن مستحيلة، ويتسببوا في حدوث أعطال. ضمان الجودة (QA - ضمان الجودة)؛ إنها عملية اختبار اللعبة بشكل منهجي قبل الإصدار وإيجاد وإصلاح الأخطاء (الأخطاء) والأعطال وعدم الاستقرار والتجارب السيئة. يعد هذا أحد الروابط الأكثر كثافة في العمالة ولكنها مهمة في إنتاج الألعاب. يعمل الذكاء الاصطناعي على تسريع ضمان الجودة في العديد من النقاط: إنشاء حالة الاختبار، وتحليل تقرير الأخطاء، ومراجعة السجل، وكتابة كود الاختبار التلقائي، وتصحيح الأخطاء، وتحسين خطوات الإنتاج. لكن الذكاء الاصطناعي لا يحل محل حدس المختبر البشري وتقييمه للعبة.
ستتعلم في هذه الوحدة كيفية استخدام الذكاء الاصطناعي في ضمان الجودة وتصحيح الأخطاء؛ سوف تتعلم تصميم سيناريو الاختبار، وتحليل السجل، وكتابة الاختبار التلقائي ونظام الإبلاغ عن الأخطاء.
طبقات ضمان الجودة ومكان الذكاء الاصطناعي
ضمان الجودة متعدد الطبقات. الاختبار الوظيفي: هل تعمل الميزة (هل يفتح الباب، هل يتم تحميل التسجيل). اختبار الانحدار: هل أدى التغيير الجديد إلى كسر ما كان يعمل من قبل؟ اختبار حالة الحافة: مدخلات غير عادية (إعادة تعيين المخزون، مفتاحين في وقت واحد، قيم الحدود). اختبار الأداء/التصادم: هل اللعبة مستقرة؟ اختبار اللعب/التجربة: ممتع وبديهي. الذكاء الاصطناعي قوي في المجالات الأربعة الأولى: إنشاء السيناريوهات، وسرد حالات الحافة، وكتابة كود الاختبار، وتحليل السجلات. أما التجربة الأخيرة فهي ملك للإنسان.
تدفق ضمان الجودة خطوة بخطوة:
- إنشاء حالات اختبار (قائمة الحالات الوظيفية وقائمة الحالات باستخدام الذكاء الاصطناعي).
- كتابة الاختبار الآلي (رمز الشيكات المتكررة).
- تشغيل وجمع (أخطاء السجل، والسجلات، والأعطال).
- التحليل (فحص السجل ونمط الخطأ باستخدام الذكاء الاصطناعي).
- الإبلاغ والتحقق (تقرير خطأ واضح وقابل للتكرار؛ إصلاح الاختبار).
تلميح: من الصعب العثور على الحالات المتطورة لأن المصمم يلعب لعبته "بشكل صحيح". اسأل الذكاء الاصطناعي "ما الذي سيحاوله اللاعب إذا أراد كسر هذا النظام؟" قائمة مآثر وحالات الحافة.
الاختبار التلقائي: اترك التكرار للآلة
يعد اختبار نفس الأشياء يدويًا في كل إصدار أمرًا متعبًا وعرضة للأخطاء. يضع الاختبار الآلي هذه الاختبارات في التعليمات البرمجية: هل تقوم الوظيفة بإرجاع النتيجة الصحيحة في كل مرة يتم استدعاؤها، هل النظام في الحالة المتوقعة؟ تقدم Unity وUnreal أطر اختبار؛ الذكاء الاصطناعي سريع في كتابة هذه الاختبارات. إنه ذو قيمة خاصة بالنسبة للانحدار: إذا أدى التغيير إلى كسر شيء كان يعمل من قبل، فسيتحول الاختبار إلى اللون الأحمر. قم بمراجعة الاختبارات التي ينتجها الذكاء الاصطناعي، وتأكد من أنها تتحقق مما هو ذو معنى حقيقي - فالاختبار الفارغ أسوأ من عدم وجود اختبار.
تحذير: أثناء تصحيح الأخطاء، ينتج الذكاء الاصطناعي أحيانًا تفسيرًا مُختلقًا باعتباره "سببًا محتملاً" (الهلوسة). لا تقبل سبب الخلل لمجرد أن الذكاء الاصطناعي أخبرك بذلك؛ إثبات السبب عن طريق التسجيل وإعادة الإنتاج والاختبار. التشخيص الخاطئ يؤخر العثور على التشخيص الصحيح.
التكاثر: قلب التصحيح
الشرط الأول لإصلاح الخلل هو إعادة إنتاجه بشكل موثوق. لا يمكن إصلاح الخطأ الموصوف بأنه "يحدث أحيانًا" لأنه لا يمكنك التحقق من نجاح الإصلاح. لذا فإن العمل الأكثر قيمة لتصحيح الأخطاء هو تضييق نطاق الظروف الدقيقة التي يحدث فيها الخطأ (أي الخطوات، أي موقف، أي توقيت). يساعد الذكاء الاصطناعي في تضييق نطاق هذا الأمر: يمكنك تقديم الأعراض وخطوات التكاثر الجزئي والقول "اقتراح الظروف واستراتيجية التضييق التي قد تؤدي إلى هذا السلوك". لكنك في الواقع تقوم بالتضييق عن طريق تشغيل اللعبة؛ الذكاء الاصطناعي يولد الفرضيات، وأنت تستبعدها.
تعتبر الأخطاء المتعلقة بالتوقيت (حالة السباق) والأخطاء المرتبطة بحالة الذاكرة خبيثة؛ هذه تحدث فقط في تسلسل أو تحميل معين. بالنسبة لمثل هذه الأخطاء، من المهم إضافة الطابع الزمني ومعلومات الحالة إلى السجل؛ يستطيع الذكاء الاصطناعي تحليل هذا السجل الغني ورؤية النمط ("يحدث الخطأ دائمًا عند حدوث هذين الحدثين مؤخرًا"). تذكر القاعدة الذهبية لتصحيح الأخطاء: افهم أولاً، ثم أصلح. فالتصحيح دون فهم يخفي الخطأ لكنه لا يحله وغالبا ما يخلق خطأ جديدا في مكان آخر.
ثلاث حالات صغيرة
الحالة 1 - البحث عن حالة الحافة. في لعبة تقمص الأدوار، اختبر الفريق نظام المخزون في طريقة اللعب "العادية" واعتقد أنه متين. لقد طلبوا من الذكاء الاصطناعي أن يقول "حاول كسر هذا المخزون" وقاموا بإنشاء 30 سيناريو لحالة حافة؛ 4 منها كانت أخطاء حقيقية (0 تقسيم عنصر الوزن، يمكن التخلص منه في وقت واحد). تم التصحيح قبل النشر.
الحالة 2 - أدى تحليل السجل إلى حل العطل. كانت اللعبة تتعطل بشكل عشوائي. وكانت سجلات الأعطال مئات الأسطر. عندما تم إعطاء السجلات للذكاء الاصطناعي وطلب النموذج، تم الكشف عن أن التعطل يحدث دائمًا عند انتقال مشهد معين وذاكرة منخفضة. وبهذا الدليل، اكتشف المبرمج تسرب الذاكرة؛ انخفض معدل الانهيار إلى الصفر.
الحالة 3 - العودة من التشخيص الخاطئ. وثق أحد المبرمجين في تفسير الذكاء الاصطناعي بأن "هذا الخطأ سببه هذه الوظيفة" وقام بالتعديل عليه لمدة نصف يوم؛ لم تظهر أي نتائج. وعندما قام بتوضيح خطوات الإنتاج وتسجيلها مرة أخرى، كان الخطأ في مكان مختلف تمامًا. الدرس المستفاد: تشخيص الذكاء الاصطناعي عبارة عن فرضيات، وليس دليلاً.
أربعة قوالب قابلة للنسخ
1) إنشاء سيناريوهات الحالة/الاستغلال:
دورك: اختبار ضمان الجودة الضار. أصف النظام التالي: [النظام، القواعد]. المهمة: قم بإدراج 20 سيناريو لحالة الحافة التي ستحاول كسر هذا النظام أو استغلاله أو وضعه في حالة غير متوقعة. لكل منها: ما يجب تجربته، والنتيجة المتوقعة، والخطأ المحتمل.
2) كتابة الاختبار الآلي:
المحرك: [الوحدة 2022.3 / غير واقعي 5.3]. إطار الاختبار: [حدد].اكتب اختبارات آلية للوظيفة/النظام التالي: [الوصف/الكود]. قم بتضمين الحالة العادية، والحالة المحدودة، والمدخلات الخاطئة. تأكد من أن كل اختبار يتحقق من شيء ذي معنى حقيقي؛ كتابة اختبارات فارغة/لا معنى لها.
3) تحليل السجل / الأعطال:
فيما يلي سجلات الأعطال/الأخطاء الخاصة باللعبة: [log].المهمة: وضع علامة على الأنماط المتكررة والظروف الشائعة (المشهد والذاكرة والتوقيت) والأسباب الجذرية المحتملة. تقديم كل سبب على أنه "فرضية يجب إثباتها"؛ تحدث بوضوح. قل لي أيضا كيفية التحقق.
4) توضيح تقرير الخطأ:
اجعل تقرير الأخطاء الغامض التالي واضحًا وقابلاً للتكرار: [التقرير الأولي]. المخرجات: العنوان، إعادة الإنتاج خطوة بخطوة، النتيجة المتوقعة، النتيجة الفعلية، التكرار، البيئة. إذا كانت هناك معلومات مفقودة، قم بإدراج المعلومات المطلوبة.
موجه ضعيف / موجه قوي
حث ضعيف:
هناك خطأ في لعبتي، قم بإصلاحه.
لا يوجد سياق ولا سجل ولا إعادة إنتاج؛ الذكاء الاصطناعي تنبؤي وخطر الهلوسة مرتفع.
مطالبة قوية:
يوجد خطأ في لعبة Unity 2022.3 الخاصة بي: يتضاعف المخزون أحيانًا عندما يقوم اللاعب بعملية حفظ سريعة. الاستنساخ: [الخطوات]. الكود ذو الصلة: [لصق]. السجل: [لصق].المهمة: قم بإدراج الأسباب الجذرية المحتملة كافتراضيات ليتم إثباتها، مع إعطاء كيفية التحقق منها والإصلاح المحتمل لكل منها. اصنع سببًا غير موجود؛ إذا لم تكن متأكدا، اسمحوا لي أن أعرف.
إن طلب الاستنساخ والرمز والسجل وطلب "التقديم كفرضية" يجعل التشخيص موثوقًا به.
جدول طبقة ضمان الجودة
طبقة
ماذا يختبر؟
مساهمة الذكاء الاصطناعي
حصة بشرية
وظيفية
هل الميزة تعمل؟
البرنامج النصي، رمز الاختبار
قرار القبول
الانحدار
هل الشيء القديم مكسور؟
اختبار تلقائي
قرار النطاق
حالة متطرفة
مدخلات غير عادية
إنتاج السيناريو
الأولوية
تحطم / الأداء
العزم
تحليل السجل
تأكيد السبب الجذري
الخبرة
الترفيه والحدس
محدودة
الإنسان تماما
الأخطاء الشائعة
- مجرد اختبار اللعب "العادي". تنفجر حالات الحافة بعد الإصدار.
- الخطأ في تشخيص الذكاء الاصطناعي كدليل. لماذا ثبت عن طريق السجل والاختبار.
- كتابة الاختبارات الآلية الفارغة. إن الاختبار الذي لا معنى له يعطي وهم الثقة.
- تقرير خطأ غامض. لا يمكن تصحيح الخطأ غير القابل للتكرار.
- تخطي اختبار الانحدار. كل تصحيح قد يسبب أخطاء جديدة.
باختصار
ضمان الجودة هو الانضباط الذي يجعل اللعبة جاهزة للاعب. منظمة العفو الدولية. يقوم بإنشاء سيناريوهات حالة الحافة، ويكتب اختبارات تلقائية، ويحلل السجلات، ويوضح تقارير الأخطاء. لكن تشخيصهم فرضيات، وتقييم التجربة إنساني، وكل تصحيح يحتاج إلى إعادة اختبار. تكرار رد الفعل "من يمكنه كسر هذا وكيف" باستخدام الذكاء الاصطناعي؛ أنت تجمع الأدلة.
مهمة التطبيق
اختر نظامًا من لعبتك. قم بإنشاء 20 سيناريو باستخدام قالب "توليد سيناريوهات الحالة/الاستغلال" واختبر فعليًا السيناريوهات الخمسة الأكثر خطورة. أنشئ تقريرًا قابلاً للتكرار للأخطاء التي تجدها باستخدام قالب "تنقيح تقرير الأخطاء".
قائمة مرجعية
- [ ] لقد قمت بإنشاء حالة حافة مع "من يمكنه كسر هذا وكيف؟"
- [ ] قام بكتابة ومراجعة الاختبارات الآلية للفحوصات المتكررة.
- [ ] اعتبرت تشخيص الذكاء الاصطناعي بمثابة فرضية وأثبتته بالسجل/الاختبار.
- [ ] لقد أبلغت عن الأخطاء بشكل متكرر.
- [ ] لقد قمت بإعادة اختبار كل إصلاح للانحدار.