গেমটি পরীক্ষা করার একাধিক উপায় রয়েছে, দুটি সর্বাধিক ব্যবহৃত হয়: ইউনিট এবং ইন্টিগ্রেশন টেস্টিং।
জন্য ইউনিট টেস্টিংআপনি গেমটির অভ্যন্তরীণ ক্রিয়াকলাপটি পরীক্ষা করছেন, বাস্তবে এটি চালাচ্ছেন না। আপনি নির্দিষ্ট মডিউলগুলির জন্য এটি করতে পারেন যা নির্ভরতাগুলি বিমূর্ত করে ফেলেছে (উদাহরণস্বরূপ, যুক্তিগুলি যে কোয়েস্ট এক্সপিকে আপনি পেয়েছেন, প্রদত্ত উপাদানগুলির একটি সেটের উপর ভিত্তি করে; প্রদত্ত শব্দ বাজছে কিনা)। আপনি আপনার যুক্তিটিকে কতটা বিমূর্ত করেন তার উপর নির্ভর করে আপনি আরও পরীক্ষা করতে পারেন, তবে বিশেষত unityক্যের জন্য, গেমের আর্কিটেকচারটি যেভাবে করা হয়েছে (যেমন, মনোবিহাইওয়ের থেকে উত্তরাধিকারসূত্রে) দেওয়া আরও কঠিন হতে পারে। তবুও, ওওপি প্যাটার্নগুলি কম্পোজিশনের মতো প্রয়োগ করে আপনি যুক্তির বিটগুলি বের করতে পারেন যা পরীক্ষা-নিরীক্ষামূলক উপায়ে পরীক্ষা করা যেতে পারে (যেমন, পদার্থবিজ্ঞান), এমনকি কখনও কখনও এটি কিছুটা চরম হিসাবে দেখা গেলেও। এটি আপনার কতটা সময় নির্ভর করে, আপনি প্রকল্পটি শুরু থেকে শুরু করেছেন কিনা, আপনার কতটা অভিজ্ঞতা রয়েছে ইত্যাদি নির্ভর করে, সাধারণভাবে আমি আস্তানা করি না ' অন্যান্য অ-গেম সফ্টওয়্যার প্রকল্পের তুলনায় গেমগুলিতে অনেকগুলি ইউনিট টেস্টিং দেখেছেন। এই ধরণের পরীক্ষাটি স্বয়ংক্রিয়ভাবে করা সহজ কারণ আপনি যেসব উপহাসের আচরণ ব্যবহার করে তা সরবরাহ করেন।
জন্য ইন্টিগ্রেশন পরীক্ষার , আপনি একটি দেওয়া সময়ে "গোটা" খেলা সঙ্গে ইন্টারেক্ট করেন তখনও যখন সব অংশে দৌড়াচ্ছে। আপনি যা পরীক্ষা করতে চান তার গভীরতার উপর নির্ভর করে, আমি দেখতে পাচ্ছি যে এটি সম্পূর্ণ অসম্ভব অসম্ভব সহজ।
একটি ধারণা হবে একটি "ইন্টিগ্রেশন টেস্ট" বিল্ড, যা এটি করে প্রতিটি (সর্বাধিক) ক্রিয়াকলাপগুলি (যেমন, দানব স্প্যানিং, শব্দ বাজানো, প্রারম্ভিক প্রভাব, স্প্যানিং কণা) লগ করে। এটি নির্দিষ্ট সময়ের জন্য দৌড়ানোর পরে, আপনি প্রদত্ত প্যাটার্নের সাথে এটি মিলছে কিনা তা দেখতে আপনি লগগুলি পরীক্ষা করতে পারেন (এটি ইনপুটগুলির উপর ভিত্তি করে গেমটি কতটা এলোমেলো হয় তার উপরও নির্ভর করে)। এখন, এটি সহজ শোনায়, তবে প্রশ্নটি হল: আপনি কীভাবে গেমটিকে পছন্দসই কর্মগুলি করতে বলছেন? যা আমাকে দ্বিতীয় ধারণা নিয়ে আসে।
অন্য ধারণাটি হ'ল আবার পরীক্ষার উদ্দেশ্যে, যা অনুরোধগুলি (উদাহরণস্বরূপ, একটি আরএসটি এপিআইয়ের মাধ্যমে) প্রক্রিয়া করতে সক্ষম, এবং যা সত্তাগুলির উপর কাজ করে, গেমটিতে ধরণের সার্ভার রাখে। অনুরোধগুলি হতে পারে: বাম দিকে সরানো, লাফানো, এক্স ডিগ্রি ঘোরানো, ভিউপোর্টটি পরিবর্তন করা ইত্যাদি this ঘটেছে ঘটনা লগ। এই পদ্ধতির মোবাইলগুলির জন্য অন্যান্য ইউআই-পরীক্ষামূলক সরঞ্জামগুলি ব্যবহার করে (যেমন, জামারিন টেস্ট ক্লাউড)
নিয়ন্ত্রণকারী অংশের জন্য, যদি আপনার গেমটি টাচ / ব্রাউজার ভিত্তিক হয়, তবে আপনি পরিবর্তে ভার্চুয়াল টাচ / ইনপুট ডিভাইসের মাধ্যমে ক্রিয়াগুলি সিমুলেট করতে পারেন, তবে ক্রিয়া জটিলতার উপর নির্ভর করে এটি কিছুটা শক্ত।
ভিজ্যুয়াল দিকটির সাথে আরেকটি ধারণা হ'ল প্রাথমিক পর্যায়ে কিছু রেফারেন্স স্ক্রিনশট, চিত্র নেওয়া এবং একটি নতুন বিল্ডে ঘটে যাওয়া একই ক্রম ক্রমের পরে তাদের তুলনা করা। অপেক্ষাকৃত সামান্য পরিবর্তন থেকে রক্ষা পেতে তুলনাটির একটি নির্দিষ্ট বিচ্যুতি ভাতা থাকতে পারে। পরীক্ষাগুলির সময়, আপনি মেলে না এমন স্ক্রিনগুলি লগ করতে এবং পার্থক্যটি দেখতে পারেন। এটি বিভিন্ন ক্ষেত্রে পরিবর্তনের কারণে রেফারেন্সের পর্দা আপডেট করার প্রয়োজন হতে পারে। সেক্ষেত্রে প্রিসেট ক্রিয়াগুলির সাথে গেমটি আবার চালানো যেতে পারে এবং রেফারেন্স চিত্রগুলি আপডেট করা যায় be কণা সিস্টেম, বা এলোমেলোভাবে উত্পন্ন দৃশ্যের সাথে সম্ভবত এটি খুব ভাল কাজ করবে না, যদি না আপনি পূর্ববর্তী ধারণাটি কোনও ধরণের বীজ সেট করতে ব্যবহার করেন, যা কণা তৈরি করতে ব্যবহৃত হয়।
শব্দের জন্য, এটি কিছুটা শক্ত হতে পারে, কারণ এটি আউট ডিভাইসটির "শ্রবণ" জড়িত থাকবে (যা সিস্টেমের হার্ডওয়্যারের উপর নির্ভর করে যেহেতু এটি সর্বদা সম্ভব নয়), তবে এটি যদি সম্ভব হয় তবে আপনি চিত্রগুলির সাথে একই রেফারেন্স-ভিত্তিক তুলনা করতে পারেন।
আমি আশা করি এটি কীভাবে আপনি গেম টেস্টটি স্বয়ংক্রিয় করতে পারবেন তার কিছুটা আলোকপাত করেছে।
পরে সম্পাদনা করুন: আমি কেবল দেখতে পেয়েছি যে এখানে আরও একটি সম্পর্কিত প্রশ্ন ছিল যা আপনাকে নির্দিষ্ট কিছু বিট কীভাবে করতে পারে সে সম্পর্কে আপনাকে কিছু পয়েন্টার দিতে পারে: গেমসের স্বয়ংক্রিয় পরীক্ষা