एक खेल का परीक्षण करने के कई तरीके हैं, दो सबसे अधिक उपयोग किए जाते हैं: इकाई और एकीकरण परीक्षण।
के लिए इकाई परीक्षणआप वास्तव में इसे चलाने के बिना, खेल के आंतरिक कामकाज का परीक्षण कर रहे हैं। आप इसे विशिष्ट मॉड्यूल के लिए कर सकते हैं, जिनकी निर्भरता दूर होती है (उदाहरण के लिए, तर्क जो आपके द्वारा प्राप्त किए गए क्वेस्ट XP की गणना करता है, जो कारकों के दिए गए सेट के आधार पर होता है; चाहे एक ध्वनि दी गई हो)। आप अपने तर्क को कितना सार करते हैं, इसके आधार पर, आप अधिक परीक्षण कर सकते हैं, लेकिन विशेष रूप से एकता के लिए, यह कठिन हो सकता है जिस तरह से खेल वास्तुकला किया जाता है (उदाहरण के लिए, मोनोबेवियर से विरासत में मिला)। फिर भी, ओओपी पैटर्न को रचना की तरह लागू करते हुए, आप तर्क के बिट्स को निकाल सकते हैं जो एक नियतात्मक तरीके (जैसे, भौतिकी) में परीक्षण किया जा सकता है, भले ही कभी-कभी इसे थोड़ा चरम के रूप में देखा जा सकता है। यह सब इस बात पर निर्भर करता है कि आपके पास कितना समय है, क्या आपने प्रोजेक्ट से शुरुआत की है या नहीं, आपको कितना अनुभव है, आदि, सामान्य तौर पर, मैं 'हेवन' टी अन्य गैर-गेम सॉफ्टवेयर परियोजनाओं की तुलना में खेलों में बहुत इकाई परीक्षण देखा गया। इस प्रकार का परीक्षण स्वचालित रूप से आसान है क्योंकि आप नकली व्यवहार प्रदान करते हैं जिसे आप अनुकरण करते हैं।
के लिए एकीकरण परीक्षण , आप एक निश्चित समय पर "पूरी" खेल, उससे सहभागिता करते हैं सभी भागों चल रहे हैं। जिन चीज़ों का आप परीक्षण करना चाहते हैं, उनकी गहराई के आधार पर, मुझे लगता है कि यह एकमुश्त असंभव को आसान कर सकता है।
एक विचार के लिए एक "एकीकरण परीक्षण" बिल्ड होगा, जो हर (सबसे) क्रियाओं को लॉग करता है (यानी, स्पॉनिंग मॉन्स्टर, साउंड बजाना, प्रभाव शुरू करना, स्पॉनिंग कण)। एक निश्चित समय के लिए चलने के बाद, आप लॉग को देख सकते हैं कि यह दिए गए पैटर्न से मेल खाता है (यह भी इस बात पर निर्भर करता है कि इनपुट के आधार पर गेम कितना यादृच्छिक है)। अब, यह सरल लगता है, लेकिन सवाल यह है: आप गेम को वांछित कार्यों को करने के लिए कैसे कहते हैं? जो मुझे दूसरे विचार में लाता है।
अन्य विचार गेम में एक बार फिर से सर्वर के परीक्षण के उद्देश्यों के लिए होगा, जो अनुरोधों को संसाधित करने में सक्षम है (जैसे, एक रीस्ट एपीआई के माध्यम से), और जो संस्थाओं पर कार्य करता है। अनुरोध इस तरह के हो सकते हैं: बाईं ओर बढ़ना, कूदना, एक्स डिग्री घूमना, व्यूपोर्ट बदलना इत्यादि। इस दृष्टिकोण से आप "चेक" भी कर सकते हैं कि खेल उम्मीद के मुताबिक काम कर रहा है, या तो सीधे राज्य की जाँच करके, या किसी वर्चुअल को सत्यापित करके हुई घटनाओं का लॉग। इस दृष्टिकोण का उपयोग मोबाइलों के लिए अन्य UI परीक्षण उपकरणों द्वारा किया जाता है (जैसे, ज़ामरीन टेस्ट क्लाउड)
नियंत्रित करने वाले भाग के लिए, यदि आपका गेम टच / ब्राउज़र आधारित है, तो आप इसके बजाय वर्चुअल टच / इनपुट डिवाइस के माध्यम से क्रियाओं का अनुकरण कर सकते हैं, लेकिन यह एक्शन जटिलता के आधार पर थोड़ा अधिक कठिन है।
एक अन्य विचार, दृश्य पहलू के संबंध में, कुछ संदर्भ स्क्रीनशॉट, छवियों को एक प्रारंभिक चरण के दौरान लेना है, और उनकी तुलना नए बिल्ड पर एक ही एक्शन सीक्वेंस के बाद हुई है। तुलना में एक विशिष्ट विचलन भत्ता हो सकता है, जिसमें मामूली बदलावों से बचाव हो सकता है। परीक्षणों के दौरान, आप उन स्क्रीनों को लॉग कर सकते हैं जो मेल नहीं खाते और अंतर देखते हैं। यह मामला हो सकता है कि अलग-अलग परिवर्तनों के कारण संदर्भ स्क्रीन को अपडेट करने की आवश्यकता हो। उस स्थिति में खेल को पूर्व निर्धारित कार्यों के साथ फिर से चलाया जा सकता है, और संदर्भ चित्र अपडेट किए जा सकते हैं। यह संभवतः कण प्रणालियों, या यादृच्छिक रूप से उत्पन्न दृश्यों के साथ बहुत अच्छा काम नहीं करेगा, जब तक कि आप पिछले विचार का उपयोग किसी प्रकार के बीज को सेट करने के लिए नहीं करते हैं, जिसका उपयोग कणों को उत्पन्न करने के लिए किया जाता है।
ध्वनियों के लिए, यह थोड़ा कठिन हो सकता है, क्योंकि यह OUT डिवाइस में "सुनना" शामिल होगा (जो हमेशा IIRC संभव नहीं है, क्योंकि यह सिस्टम के हार्डवेयर पर निर्भर करता है)। लेकिन अगर यह संभव है तो आप उसी संदर्भ-आधारित तुलना कर सकते हैं जैसा आप छवियों के साथ करते हैं।
मुझे आशा है कि यह इस बात पर कुछ प्रकाश डालेगा कि आप खेल परीक्षण को कैसे स्वचालित कर सकते हैं।
बाद में संपादित करें: मैं सिर्फ देखता हूं कि एक और संबंधित प्रश्न था जो आपको कुछ संकेत दे सकता है कि आप कुछ बिट कैसे करेंगे: स्वचालित परीक्षण खेल