युनिट्स
1. गेम डेव्हलपमेंटमधील आर्टिफिशियल इंटेलिजन्सचा परिचय: भूमिका, सीमा, पडताळणी, कॉपीराइट आणि नैतिकता 2. प्रोटोटाइप आणि मेकॅनिकल डिझाईन: आयडिया ते प्ले करण्यायोग्य कोर पर्यंत जलद पुनरावृत्ती 3. NPC वर्तणूक आणि संवाद प्रणाली: कृत्रिम बुद्धिमत्ता जी वर्ण जिवंत करते 4. प्रक्रियात्मक सामग्री निर्मिती (PCG): स्तर, नकाशा, शोध आणि कथा 5. मालमत्ता आणि व्हिज्युअल उत्पादन: संकल्पना कला, 2D/3D आणि पोत 6. ध्वनी, संगीत आणि प्रभाव उत्पादन: गेमचे हर्ड वर्ल्ड 7. कोड जनरेशन आणि इंजिन इंटिग्रेशन: युनिटी (C#) आणि अवास्तव (ब्लूप्रिंट/C++) 8. गेम बॅलन्स, सिम्युलेशन आणि इकॉनॉमी: नंबर्ससह एक चांगला गेम 9. गुणवत्ता हमी (QA), डीबगिंग आणि स्वयंचलित चाचणी 10. कॉपीराइट, मौलिकता, परवाना आणि नीतिशास्त्र: प्रकाशित आणि जबाबदार सामग्री 11. एंड-टू-एंड वर्कफ्लो, प्रोडक्शन लाइन इंटिग्रेशन, गव्हर्नन्स आणि लाइव्ह सर्व्हिस
युनिट 9 / 11

गुणवत्ता हमी (QA), डीबगिंग आणि स्वयंचलित चाचणी

नफा:

  • फंक्शनल, रिग्रेशन, एज केस आणि क्रॅश टेस्ट लेयर्स समजून घेण्याची आणि कृत्रिम बुद्धिमत्तेसह चाचणी परिस्थिती आणि एज केस सूची तयार करण्याची क्षमता
  • कृत्रिम बुद्धिमत्तेसह स्वयंचलित चाचणी कोड लिहून आणि लॉग आणि क्रॅश विश्लेषणामध्ये नमुने काढून डीबगिंगला गती देण्याची क्षमता
  • कृत्रिम बुद्धिमत्तेचे त्रुटी निदान हा पुरावा नसून गृहितक आहे हे समजण्यास सक्षम असणे, कारण नोंदी आणि पुनरुत्पादनाद्वारे सिद्ध केले जाणे आवश्यक आहे आणि त्रुटी अहवाल पुनरुत्पादित करण्याचे महत्त्व आहे.

जेव्हा एखादा गेम रिलीज होतो, तेव्हा खेळाडू तो अशा प्रकारे खेळतात ज्याने विकसकाने कल्पना केली नाही: भिंतींमध्ये अडकणे, इन्व्हेंटरीचे शोषण करणे, अशक्य ठिकाणी पोहोचणे, क्रॅश ट्रिगर करणे. गुणवत्ता हमी (QA — गुणवत्ता हमी); रिलीझ होण्यापूर्वी गेमची पद्धतशीर चाचणी करणे आणि त्रुटी (बग), क्रॅश, अस्थिरता आणि वाईट अनुभव शोधणे आणि त्यांचे निराकरण करणे ही प्रक्रिया आहे. हे गेम उत्पादनातील सर्वात श्रम-केंद्रित परंतु गंभीर दुव्यांपैकी एक आहे. AI अनेक बिंदूंवर QA चा वेग वाढवते: चाचणी केस निर्मिती, बग अहवाल विश्लेषण, लॉग पुनरावलोकन, स्वयंचलित चाचणी कोड लेखन, डीबगिंग आणि परिष्कृत उत्पादन चरण. परंतु AI मानवी परीक्षकाच्या अंतर्ज्ञानाची आणि गेमच्या भावनांचे मूल्यांकन बदलत नाही.

या युनिटमध्ये तुम्ही QA आणि डीबगिंगमध्ये AI कसे वापरावे ते शिकाल; तुम्ही चाचणी परिस्थिती डिझाइन, लॉग विश्लेषण, स्वयंचलित चाचणी लेखन आणि त्रुटी अहवाल शिस्त शिकाल.

QA चे स्तर आणि AI चे स्थान

QA बहुस्तरीय आहे. कार्यात्मक चाचणी: वैशिष्ट्य कार्य करते (दार उघडते, रेकॉर्डिंग लोड करते). रीग्रेशन चाचणी: नवीन बदलाने आधी जे काम करत होते ते खंडित केले का? एज केस चाचणी: असामान्य इनपुट (इन्व्हेंटरी रीसेट करा, एकाच वेळी दोन की, सीमारेषा मूल्ये). कामगिरी/क्रॅश चाचणी: गेम स्थिर आहे. गेमप्ले/अनुभव चाचणी: मजेदार, अंतर्ज्ञानी. एआय पहिल्या चारमध्ये मजबूत आहे: परिस्थिती निर्माण करणे, एज केसेस सूचीबद्ध करणे, चाचणी कोड लिहिणे, लॉगचे विश्लेषण करणे. शेवटचा-अनुभव-माणसाचा असतो.

QA प्रवाह चरण-दर-चरण:

  1. चाचणी प्रकरणे व्युत्पन्न करा (एआय सह कार्यात्मक आणि एज केस सूची).
  2. स्वयंचलित चाचणी लिहा (पुनरावृत्ती तपासणीसाठी कोड).
  3. चालवा आणि गोळा करा (लॉग त्रुटी, नोंदी, क्रॅश).
  4. विश्लेषण करा (एआय सह लॉग आणि त्रुटी नमुना तपासा).
  5. अहवाल द्या आणि सत्यापित करा (स्पष्ट, पुनरुत्पादन करण्यायोग्य बग अहवाल; चाचणी निराकरण).
इशारा: एज केसेस शोधणे कठीण आहे कारण डिझायनर त्याचा गेम "बरोबर" खेळतो. एआयला विचारा "एखाद्या खेळाडूला ही प्रणाली खंडित करायची असेल तर ते काय प्रयत्न करतील?" शोषण आणि धार प्रकरणांची यादी करा.

स्वयंचलित चाचणी: मशीनवर पुनरावृत्ती सोडा

प्रत्येक रिलीझमध्ये समान गोष्टींची व्यक्तिचलितपणे चाचणी करणे थकवणारे आणि त्रुटी-प्रवण आहे. स्वयंचलित चाचणी हे चेक कोडमध्ये ठेवते: फंक्शन प्रत्येक वेळी कॉल केल्यावर योग्य परिणाम देते का, ही प्रणाली अपेक्षित स्थितीत आहे. युनिटी आणि अवास्तविक ऑफर चाचणी फ्रेमवर्क; AI या चाचण्या लिहिण्यात वेगवान आहे. रीग्रेशनसाठी हे विशेषतः मौल्यवान आहे: जर बदलामुळे पूर्वी कार्यरत असलेली एखादी गोष्ट खंडित झाली तर चाचणी लाल होते. AI ने तयार केलेल्या चाचण्यांचे पुनरावलोकन करा, ते खरोखर काय अर्थपूर्ण आहे हे तपासत आहेत याची खात्री करून घ्या - एक रिक्त चाचणी चाचणी न करण्यापेक्षा वाईट आहे.

खबरदारी: डीबगिंगमध्ये, एआय कधीकधी "संभाव्य कारण" (भ्रम) म्हणून तयार केलेले स्पष्टीकरण तयार करते. एआयने तुम्हाला तसे सांगितले म्हणून बगचे कारण स्वीकारू नका; लॉगिंग, पुनरुत्पादन आणि चाचणी करून कारण सिद्ध करा. चुकीचे निदान योग्य शोधण्यात विलंब करते.

पुनरुत्पादन: डीबगिंगचे हृदय

दोष निराकरण करण्यासाठी प्रथम आवश्यकता म्हणजे त्याचे विश्वसनीयरित्या पुनरुत्पादन करणे. "कधी कधी घडते" असे वर्णन केलेल्या बगचे निराकरण केले जाऊ शकत नाही कारण आपण निराकरण कार्य केले की नाही हे सत्यापित करू शकत नाही. त्यामुळे डीबगिंगचे सर्वात मौल्यवान कार्य म्हणजे दोष कोणत्या परिस्थितीत होतो (कोणत्या पायऱ्या, कोणती परिस्थिती, कोणती वेळ) कमी करणे. AI हे कमी करण्यास मदत करते: तुम्ही लक्षणे आणि आंशिक पुनरुत्पादन चरण देऊ शकता आणि म्हणू शकता की "या वर्तनाला चालना देणारी परिस्थिती आणि अरुंद धोरण सुचवा." पण तुम्ही प्रत्यक्षात खेळ चालवून संकुचितता करता; AI गृहीते व्युत्पन्न करते, तुम्ही ती दूर करता.

विशेषत: वेळेशी संबंधित (शर्यतीची स्थिती) आणि मेमरी स्थिती-संबंधित त्रुटी कपटी आहेत; हे फक्त एका विशिष्ट क्रमात किंवा लोडमध्ये होतात. अशा त्रुटींसाठी, लॉगमध्ये टाइमस्टॅम्प आणि स्थिती माहिती जोडणे महत्वाचे आहे; AI या समृद्ध लॉगचे विश्लेषण करू शकते आणि पॅटर्न पाहू शकते ("जेव्हा या दोन घटना अलीकडे घडतात तेव्हा त्रुटी नेहमी घडते"). डीबगिंगचा सुवर्ण नियम लक्षात ठेवा: प्रथम समजून घ्या, नंतर निराकरण करा. समजून न घेता केलेली सुधारणा त्रुटी लपवते परंतु ती सोडवत नाही आणि अनेकदा इतरत्र नवीन त्रुटी निर्माण करते.

तीन लहान प्रकरणे

केस 1 - एज केस हंटिंग. एका RPG मध्ये, संघाने "सामान्य" गेमप्लेमध्ये इन्व्हेंटरी सिस्टमची चाचणी केली आणि ती ठोस असल्याचे समजले. त्यांनी एआयला "ही इन्व्हेंटरी क्रॅक करण्याचा प्रयत्न करा" असे सांगितले आणि 30 एज केस परिस्थिती निर्माण केल्या; यापैकी 4 खरे त्रुटी होत्या (0 वजन आयटम विभाजित करणे, एकाच वेळी डिस्पोजेबल). प्रकाशनापूर्वी दुरुस्त केले.

केस 2 - लॉग विश्लेषणाने क्रॅशचे निराकरण केले. एक खेळ यादृच्छिकपणे क्रॅश होत होता; क्रॅश लॉग शेकडो ओळींचे होते. जेव्हा AI ला लॉग दिले गेले आणि पॅटर्न विचारला गेला, तेव्हा असे दिसून आले की क्रॅश नेहमी विशिष्ट दृश्य संक्रमण आणि कमी मेमरीमध्ये होते. या संकेताने, प्रोग्रामरला मेमरी लीक आढळली; क्रॅश रेट शून्यावर आला.

केस 3 - चुकीच्या निदानातून परत येणे. एका प्रोग्रामरने AI च्या स्पष्टीकरणावर विश्वास ठेवला की "ही त्रुटी या फंक्शनमुळे झाली आहे" आणि अर्ध्या दिवसासाठी त्याच्याशी टिंकर केले; कोणतेही परिणाम बाहेर आले नाहीत. जेव्हा त्याने स्पष्टीकरण केले आणि उत्पादन चरण पुन्हा लॉग केले, तेव्हा त्रुटी पूर्णपणे वेगळ्या ठिकाणी होती. धडा: AI चे निदान हे गृहीतके आहेत, पुरावा नाही.

चार कॉपी करण्यायोग्य टेम्पलेट्स

1) एज केस/शोषण परिस्थिती निर्माण:

तुमची भूमिका: दुर्भावनापूर्ण QA परीक्षक. मी खालील प्रणालीचे वर्णन करतो: [प्रणाली, नियम]. कार्य: 20 एज केस परिस्थितींची यादी करा जी ही प्रणाली तोडण्याचा, शोषण करण्याचा किंवा अनपेक्षित स्थितीत फेकण्याचा प्रयत्न करतील. प्रत्येकासाठी: काय प्रयत्न करावे, अपेक्षित परिणाम, संभाव्य त्रुटी.

२) स्वयंचलित चाचणी लेखन:

इंजिन: [Unity 2022.3 / Unreal 5.3]. चाचणी फ्रेमवर्क: [निर्दिष्ट करा].खालील फंक्शन/सिस्टीमसाठी स्वयंचलित चाचण्या लिहा: [वर्णन/कोड].सामान्य केस, मर्यादा केस आणि दोषपूर्ण इनपुट समाविष्ट करा. प्रत्येक चाचणी खरोखर अर्थपूर्ण काहीतरी सत्यापित करते याची खात्री करा; रिक्त/अर्थहीन चाचण्या लिहिणे.

3) लॉग/क्रॅश विश्लेषण:

खाली गेमचे क्रॅश/एरर लॉग आहेत: [लॉग]. टास्क: आवर्ती पॅटर्न, सामान्य परिस्थिती (दृश्य, स्मृती, वेळ) आणि संभाव्य मूळ कारणे चिन्हांकित करा. प्रत्येक कारण "सिद्ध होण्यासाठी गृहीतक" म्हणून सादर करा; स्पष्टपणे बोला. सत्यापित कसे करायचे ते देखील मला सांगा.

4) बग अहवाल स्पष्टीकरण:

खालील अस्पष्ट त्रुटी अहवाल स्पष्ट आणि पुनरुत्पादित करा: [कच्चा अहवाल]. आउटपुट: शीर्षक, चरण-दर-चरण पुनरुत्पादन, अपेक्षित परिणाम, वास्तविक परिणाम, वारंवारता, वातावरण. गहाळ माहिती असल्यास, कोणती माहिती आवश्यक आहे ते सूचीबद्ध करा.

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत प्रॉम्प्ट:

माझ्या गेममध्ये एक बग आहे, तो दुरुस्त करा.

संदर्भ नाही, लॉग नाही, पुनरुत्पादन नाही; एआय हे भविष्य सांगणारे आहे आणि भ्रम होण्याचा धोका जास्त आहे.

शक्तिशाली सूचना:

माझ्या युनिटी 2022.3 गेममध्ये एक बग आहे: जेव्हा खेळाडू द्रुत सेव्ह-लोड करतो तेव्हा इन्व्हेंटरी कधीकधी दुप्पट होते. पुनरुत्पादन: [चरण].संबंधित कोड: [पेस्ट]. लॉग: [पेस्ट].कार्य: संभाव्य मूळ कारणे सिद्ध करण्यासाठी गृहीतके म्हणून सूचीबद्ध करा, प्रत्येकाची पडताळणी कशी करावी आणि संभाव्य निराकरण करा. अस्तित्वात नसलेले कारण तयार करा; तुम्हाला खात्री नसल्यास, मला कळवा.

पुनरुत्पादन, कोड, लॉग आणि "परिकल्पना म्हणून सादर करा" विनंती निदान विश्वसनीय बनवते.

QA स्तर सारणी

थर

ते काय चाचणी करते?

AI योगदान

मानवी वाटा

कार्यशील

वैशिष्ट्य कार्य करते का?

स्क्रिप्ट, चाचणी कोड

प्रवेश निर्णय

प्रतिगमन

जुनी गोष्ट तुटली आहे का?

स्वयंचलित चाचणी

व्याप्ती निर्णय

अत्यंत प्रकरण

असामान्य इनपुट

स्क्रिप्ट निर्मिती

प्राधान्य

क्रॅश/कार्यप्रदर्शन

निर्धार

लॉग विश्लेषण

मूळ कारण पुष्टी

अनुभव

मनोरंजन, अंतर्ज्ञान

मर्यादित

पूर्णपणे मानव

सामान्य चुका

  • फक्त "सामान्य" गेमप्लेची चाचणी करत आहे. एज केसेस रिलीझ झाल्यानंतर विस्फोट होतात.
  • पुरावा म्हणून AI निदान चुकणे. लॉग आणि चाचणीद्वारे का सिद्ध होते.
  • रिक्त स्वयंचलित चाचण्या लिहिणे. निरर्थक चाचणी आत्मविश्वासाचा भ्रम देते.
  • अस्पष्ट बग अहवाल. पुनरुत्पादन न करता येणारी त्रुटी दुरुस्त केली जाऊ शकत नाही.
  • प्रतिगमन चाचणी वगळणे. प्रत्येक सुधारणेमुळे नवीन चुका होऊ शकतात.

सारांशात

QA ही अशी शिस्त आहे जी खेळाडूसाठी खेळ तयार करते. AI; एज केस परिस्थिती निर्माण करते, स्वयंचलित चाचण्या लिहिते, लॉगचे विश्लेषण करते आणि त्रुटी अहवाल स्पष्ट करते. परंतु त्यांचे निदान हे गृहितक आहेत, अनुभवाचे मूल्यमापन हे मानवी आहे आणि प्रत्येक सुधारणेसाठी पुन्हा चाचणी आवश्यक आहे. एआय सह "कोण तोडू शकते आणि कसे" प्रतिक्षेप प्रतिकृती; तुम्ही पुरावे गोळा करा.

अर्ज कार्य

तुमच्या गेममधून एक प्रणाली निवडा. "एज केस/शोषण परिस्थिती निर्माण" टेम्प्लेटसह 20 परिस्थिती निर्माण करा आणि सर्वात धोकादायक 5 ची चाचणी करा. "बग रिपोर्ट रिफाइनमेंट" टेम्प्लेटसह तुम्हाला आढळलेल्या बगसाठी पुनरुत्पादक अहवाल तयार करा.

चेकलिस्ट

  • [ ] मी "हे कोण आणि कसे मोडू शकते?"
  • [] आवर्ती तपासण्यांसाठी स्वयंचलित चाचणी लिहिली आणि पुनरावलोकन केले.
  • [] मी AI निदान एक गृहितक मानले आणि लॉग/चाचणीने ते सिद्ध केले.
  • [ ] मी पुनरुत्पादकपणे त्रुटी नोंदवल्या.
  • [ ] मी प्रतिगमनासाठी प्रत्येक निराकरणाची पुन्हा चाचणी केली.