আমরা যখন গেম ডেভলপমেন্টের সাথে কাজ করি তখন কি সফ্টওয়্যার টেস্টিং আলাদা হয়?


11

আমি সাধারণ এবং গেম ডেভেলপমেন্টে সফ্টওয়্যার বিকাশের মধ্যে পার্থক্য সম্পর্কে এই কাগজটি পড়ছিলাম এবং লেখকরা সফ্টওয়্যার পরীক্ষার বিষয়ে কিছু ভাল পয়েন্ট করেছিলেন, উদাহরণস্বরূপ,

... গেম বিকাশকারীরা সৃজনশীল ইচ্ছাগুলি সরিয়ে দেওয়ার ক্ষেত্রে এই পরীক্ষাগুলিগুলির দ্রুত অপ্রচলতার কারণে গেম ডেভেলপাররা স্বয়ংক্রিয় পরীক্ষার ব্যবহার করতে দ্বিধা বোধ করছেন।

সুতরাং, এই পড়াটি আমাকে ভাবতে বাধ্য করেছে, সফ্টওয়্যার পরীক্ষার অন্যান্য কোন বিষয়গুলি যখন আমরা কোনও গেমের সাথে / পরীক্ষা করার সময় বিভিন্ন বা বিশেষ হিসাবে বিবেচনা করি? কারও কি এর সাথে অভিজ্ঞতা আছে বা কেউ এ সম্পর্কে অন্য কিছু শুনেছেন?


মন পেপারের সাথে যুক্ত? আমি এটি পড়তে আগ্রহী হতে চাই।
রাবারডাক

1
এই কাগজটি এখানে রয়েছে: মাইক্রোসফট / en-us / research / wp-content / uploads / 2016 / 02/… । ওহ, এবং আপনি যদি আপত্তি না করেন তবে এ সম্পর্কে আপনার মতামত দিন। ধন্যবাদ। :-)
রনি এডসন

9
আমি আশঙ্কা করি যে অ-গেম ডেভেলপমেন্টে ঘটে যাওয়া শক্তিগুলির আকাঙ্ক্ষাগুলি সরিয়ে দেওয়ার ক্ষেত্রে দ্রুত অপ্রচলতার (পরীক্ষাগুলির) পক্ষে। কোনটি সম্ভবত পরামর্শ দেয় যে গেমের বিকাশ অন্যান্য বিকাশের চেয়ে আলাদা নয়?
এরিক tদ

আমি বলব ব্যবসায়ের সফটওয়্যার এবং গেমসের মধ্যে সবচেয়ে বড় পার্থক্য "শিফটিং প্রয়োজনীয়তা" নয়, যা কার্যত সর্বত্রই সাধারণ, তবে কার্য সম্পাদন এবং তীব্র ইউআই কাজের উপর জোর দেওয়া যা একটি গেম তৈরি করে। ব্যবসায়িক সফ্টওয়্যারগুলিতে, ডেটা এবং লজিক মডেলগুলি উপস্থাপনা থেকে পৃথক হয়ে থাকে, ইউনিট পরীক্ষার জন্য তাদের সহজ প্রার্থী করে। গেমগুলির সর্বদা এই বিলাসিতা থাকে না। এটি বলার অপেক্ষা রাখে না যে অনলাইন গেমগুলির সার্ভার-সাইড অংশটি আরও traditional
তিহ্যগত

1
ভিন্ন একটি খুব বিস্তৃত গির্জা। আপনি এটি তুলনা করছেন তার উপর নির্ভর করে।
রবি ডি

উত্তর:


10

আধুনিক গেমস প্রকৃতপক্ষে একটি গৃহ-গৃহ বা মালিকানাধীন গেম ইঞ্জিন ব্যবহার করে তৈরি করা এক সৃজনশীল আর্ট সামগ্রী। ইঞ্জিন নিজেই বেশিরভাগ অংশের জন্য একক পরীক্ষামূলক (রেন্ডারিং, জ্যামিতি, পদার্থবিজ্ঞান, এআই মডিউল ইত্যাদি)। একইভাবে, উন্নত সামগ্রীর পৃথক অংশগুলির সাথেও সাধারণ পরীক্ষাগুলি সংযুক্ত করা যেতে পারে। এর অর্থ ইউনিট এবং হোয়াইট-বাক্স পরীক্ষা সত্যিই সম্ভব এবং সফল।

যতক্ষণ পর্যন্ত "সামগ্রিক পণ্য" সম্পর্কিত, গেমটি সিমুলেশন। এটি একটি সাধারণ ব্যবসায়িক প্রোগ্রামের চেয়ে বেশি উত্পাদনশীল জটিলতা থাকতে পারে। অগণিত, অনন্য, প্রক্রিয়াজাত জেনারেট ওয়ার্ল্ডস বনাম একটি এন্টারপ্রাইজ রিসোর্স প্ল্যানার বনাম গণনাযোগ্য সুপরিকল্পিত আচরণের কথা ভাবেন। সহজ কথায়, গেমের প্রসঙ্গে কিছু করার সম্ভাব্য অনন্য উপায়গুলির সংখ্যা, গাণিতিকভাবে খুব বড় হতে পারে। আসলে এটি গেমসের বিক্রয় কেন্দ্র হিসাবে বিবেচিত হয়।

এটিকে যুক্ত করুন যে শেষ আউটপুটটি নিখুঁতভাবে অডিও ভিজ্যুয়াল এবং এরূপ আউটপুটের নিখুঁত নির্ভুলতার কোনও প্রতিরোধমূলক মান নেই। কিছু কিছু সুনির্দিষ্ট না হলেও, জিপিইউ চিপগুলিতে সত্যিকারের গণনা, কেবল প্রচুর গণনা করার দরকার নেই।

এবং অবশেষে, মূল লক্ষ্য হ'ল বিনোদন । Gamers সঙ্গে ঠিক আছ এবং glitches যদি এটা 60+ FPS যে চালায়, সন্ত্রস্ত দেখায়, এবং কন্টেন্ট রসাল অবিরাম ঘন্টা আছে।

এটি কেবল গেমগুলিতে প্রয়োগ করার সময় soতিহ্যবাহী অটোমেটেড ব্ল্যাক-বাক্স টেস্টিং আইডিয়াগুলিকে "এতটা স্পষ্ট এবং উপযুক্ত নয়" অঞ্চলে রাখে।

যাইহোক, সাম্প্রতিক সময়ে এনএনগুলিকে গেম খেলতে প্রশিক্ষণ দেওয়ার চেষ্টা করা হয়েছে যা কার্যকরভাবে একধরনের অনুসন্ধান, স্ব-শিক্ষার বানর পরীক্ষার।


2
"গড় বিজনেস প্রোগ্রাম" কী?
7'12 এ কিসস

1
হ্যাঁ ! এটি এতটা মিথস্ক্রিয়া সংখ্যার নয় যে কয়েক হাজার আন্তঃসম্পর্কিত লেনদেনের ধরণের এবং একটি প্রসেস ল্যান্ডস্কেপ যা অন্তহীনভাবে পুনর্গঠিত হতে পারে তার সাথে একটি শীর্ষস্থানীয় ইআরপি নিন)। এটি আরও বেশি যে কোনও ব্যবসায় সফ্টওয়্যার দ্বারা পুনরাবৃত্তিযোগ্য আচরণ সরবরাহ করা হবে যা একটি ইন্টিগ্রেশন পরীক্ষায় সহজেই যাচাই করা যায়। গেমগুলিকে বিনোদন দিতে হবে এবং পুনরাবৃত্তযোগ্য কিছু বিরক্তিকর। সুতরাং পরীক্ষার সরঞ্জামটির জন্য বিনোদনের ডিগ্রি বা ব্যবহারকারীর দৃশ্যের ধারাবাহিকতা এবং বাস্তবতা পরিমাপ করা কঠিন। এখন থেকে ৩০ বছরে কিছু এআই এর সাথে থাকতে পারে ....?
ক্রিস্টোফ

ক্রিস্টোফ এটি পুনরাবৃত্তির সুযোগের উপর নির্ভর করে - যেমন "চরিত্রটি শট হয়ে গেলে তার 5 স্বাস্থ্য হারাতে হবে" পুরোপুরি পুনরাবৃত্তিযোগ্য এবং পুরোপুরি পরীক্ষামূলক। গুরুত্বপূর্ণ বিষয়টি হ'ল পুনরায় পুনর্বারযোগ্য টেস্টেবল গেম যুক্তিগুলি দৃ t়তার সাথে দৃ to়ভাবে প্রমাণ করার জন্য কম স্পষ্ট রাজ্যের অংশগুলি থেকে ভাল বিমূর্ত হয়।
পিঁপড়া পি

2

আমি গেমদেব করেছি তার বহু বছর হয়েছে তবে চমৎকার উত্তরের উপরে, আমি যুক্ত করতে চাই এবং কিছু বিশদ রাখতে চাই।

ইতিমধ্যে উল্লিখিত প্রথমটি হ'ল আউটপুটটি টাইট "এফপিএস-সমালোচনা" সীমাবদ্ধতা এবং গণনা / স্মৃতি বাজেটের বিপরীতে কেবল চাক্ষুষ এবং শ্রাবণ। নির্ভুলতার আইডিয়াগুলি ঝাপসা হয়ে যায় যখন প্রশ্নগুলি আরও বেশি হয়, "এটি কি ভাল দেখাচ্ছে? এটি কোনও স্টাটার ছাড়াই কি সহজেই চলমান? এটি দুর্দান্ত শোনাচ্ছে?" বিকাশকারীগণ যখন টুইট করছেন এবং সুর করছেন এবং আনুমানিক হন তখন ডিজাইনার / দেব সহযোগিতাগুলি প্রতিটি দ্রুত পুনরাবৃত্তির সাথে কিছুটা আলাদা করে দেখার এবং শোনার দিকে নিয়ে যায়।

আর একটি হ'ল পরীক্ষকরা দুর্দান্ত হতে পারেন! আমি কখনোই অন্য কোন ডোমেইনে পরীক্ষকগণ একটি ডেডিকেটেড গ্রুপ পেয়েছি যেহেতু তারা চানসফ্টওয়্যার পরীক্ষা করতে। তারা মজা করছে। আপনার খেলার প্রতিটি কৌতুক এবং কৌতুক অন্বেষণ করার সময় তারা আসক্ত এবং কম্পিউটারের পাশে ঘুমোচ্ছে। এমনকি বাস্তবিকভাবে আসক্ত হওয়ার সাথে সাথে লোকেরা যখন সফ্টওয়্যারটির প্রতিটি কোণকে পুরোপুরি পরীক্ষা করে নিচ্ছে তখন এমনকি অস্পষ্টতম গ্লিটগুলি আবিষ্কার করা খুব সহজ হয়ে যায়। আমার বর্তমান শিল্পে পরীক্ষকরা কাজ করা কিছুটা কঠিন কারণ তাদের মধ্যে অনেকেই পেশাদারদের সাথে তাদের জীবিকা নির্বাহ করে সফ্টওয়্যার, এবং তাই তারা তাদের কাজটি সম্পন্ন করার জন্য কয়েকটি মুখ্য বৈশিষ্ট্যের উপর নির্ভর করেন এবং ক্লান্তিকর আগ্রহী হন না সব সময় প্রতিটি কৌতুক এবং ক্র্যাণী। স্বাভাবিকভাবেই যখন আমরা মানব পরীক্ষকদের উপর খুব বেশি নির্ভর করতে পারি না, তখন আমাদের আরও স্বয়ংক্রিয় পরীক্ষার প্রয়োজন।

তবুও অন্যটি হ'ল একটি গেমের কোডবেস সাধারণত রক্ষণাবেক্ষণ এবং পরিবর্তিত হয় না এবং বছরের পর বছর ধরে বর্ধিত হয়। এটি সুপার মারিওর বিকাশকারীদের মতো নয় যিনি মূলত এটি 6502 সমাবেশে এটি তৈরি করেছিলেন গেমটি প্রেরণের অনেক পরে সেই মূল কোডটির অনুরূপ কিছু বজায় রাখতে হয়েছিল। ডুম 3 সম্ভবত ডুম 1 থেকে শূন্য লাইন কোড (বা কাছাকাছি) ব্যবহার করে যদি ক্রমাগত ভোটাধিকার থাকে তবে নতুন গেমগুলি "আপগ্রেড" এর চেয়ে "সিক্যুয়াল" এর মতো বেশি। বেশিরভাগ গেমগুলি কেবল শিপ করে এবং সম্ভবত কিছু প্যাচ, ডিএলসি ছেড়ে দেয় এবং তারপরে কোডটি সম্পন্ন হয়। এটি আমার ভিএফএক্স শিল্পের একটি বিশাল বিপরীতে যেখানে আমি কয়েক দশক ধরে পোর্ট করা এবং রক্ষণাবেক্ষণ করা অ্যামিগা দিনগুলিতে কোড ডেট করার জন্য কাজ করেছি on গেমস সাধারণত ডন '

গেম কোডবেসের এই স্বল্পস্থায়ী প্রকৃতির অন্যতম কারণ হ'ল এগুলি হার্ডওয়ারের সাথে এতটাই আবদ্ধ। যখন তাদের কাটিয়া-প্রান্ত প্রকৃতি এবং এফপিএস-সমালোচনামূলক প্রয়োজনীয়তার সাথে একত্রিত হয়, তখন এগুলি প্রায়শই এমনভাবে বিকাশ করা যায় না যা হার্ডওয়ারের বিশদ বিমূর্ত করে, এমনকি নিকটবর্তী হয় না। তারা প্রায়শই হার্ডওয়ারের টার্গেট জেনারেশনের জন্য খুব নির্দিষ্টভাবে লেখা হয় এবং পিএস 3 একটি পিএস 4 দ্বারা প্রতিস্থাপিত হয়ে যায় যা পরে অপ্রচলিত হয়ে যায় এবং পিএস 5 দ্বারা প্রতিস্থাপিত হয়, এবং আরও অনেক দ্রুত। হার্ডওয়্যার ক্ষমতাগুলি গেমটির নকশা এবং বিকাশে এমন এক গুরুত্বপূর্ণ ভূমিকা পালন করে যে পিএসএক্সের জন্য পিএসএক্সের জন্য লিখিত একই কোড প্রচুর রক্ষণ করার চেষ্টা করা সাধারণত উপযুক্ত নয়, উদাহরণস্বরূপ বেশিরভাগ গেমের ফ্র্যাঞ্চাইজিগুলি এখনও প্রজন্মের জন্য তাদের পরবর্তী জেন ইঞ্জিনগুলি লেখেন মূলত নতুন হার্ডওয়্যার জন্য গ্রাউন্ড আপ থেকে।

স্বল্প-কালীন কোডবেসের সাথে সীমিত রক্ষণাবেক্ষণের সময় আসে (অর্থাত্ একটি সীমিত সময় যাতে কোডটি সংশোধন করতে হয়)। কোডটি পরিবর্তনের জন্য সীমিত সময়ের সাথে সাথে প্রতিটি আপগ্রেডের সাথে ইঞ্জিনের আকার আরও বৃহত্তর হয়ে ওঠে এবং গেমগুলি মিশন-সমালোচনার কাছাকাছি কোথাও নেই এমন একত্রিত হওয়ার সাথে, এমন একদমই নেই with সর্বাধিক বিস্তৃত ইউনিট এবং ইন্টিগ্রেশন টেস্টিং প্রয়োগ করার জন্য সমালোচনামূলক প্রয়োজন। ভবিষ্যতের পরিবর্তনগুলি যদি না করা হয় তবে ভবিষ্যতের পরিবর্তনগুলির অখণ্ডতা নিশ্চিত করার কোনও সুবিধা নেই এবং লিগ্যাসি কোডবেসের ইউনিট পরীক্ষা ও পুনঃসংশ্লিষ্ট দিকটি যদি প্রথম স্থানে কোনও "উত্তরাধিকার" না থাকে তবে স্বাভাবিকভাবেই অপ্রাসঙ্গিক।

অন্য একটি ছোট যা সর্বদা প্রাসঙ্গিক নয় তা হ'ল কোনও গেমটি কোনও ডেস্কটপ পোর্ট ছাড়াই কেবল খুব সংকীর্ণ হার্ডওয়্যারকে লক্ষ্য করে। এই ক্ষেত্রে এই প্রসঙ্গে অপ্রত্যাশিত সমস্যাগুলির একটি বিশাল উত্স, যা ব্যবহারকারীরা মূলত বিভিন্ন হার্ডওয়্যার এবং ড্রাইভারগুলির সাথে সফ্টওয়্যারটি চালাচ্ছেন, তা নির্মূল করা হয়েছে।

এটি বলেছে যে সর্বোচ্চ / মোটা স্তরের স্তরে সংহতকরণ পরীক্ষা আরও তাত্ক্ষণিকভাবে কার্যকর হতে থাকে। উদাহরণস্বরূপ, অনেক গেমস "পুনরায় পুনর্নির্মাণ" এর জন্য সময়ের সাথে সাথে কীভাবে গেমের অবস্থা পরিবর্তন হচ্ছে তা রেকর্ড করার একটি উপায় ব্যবহার করতে পারে। এই জাতীয় পুনরায় খেলুন বৈশিষ্ট্যগুলি নিশ্চিত করে যে গেমটি নির্মাতিক এবং এটি অন্য কারও দ্বারা রেকর্ডকৃত গেম সেশনটি পুনরায় খেলতে নিজে নিজে একটি পরীক্ষার সরঞ্জাম হিসাবে ব্যবহার করা যেতে পারে।

আমি ছোট স্টুডিওতে কাজ করা গেমদেবদেরও মুখোমুখি হয়েছি যারা তাদের গেমের জন্য বট লেখার মতো কাজ করেছিল এবং বটগুলি তাদের গেমটি সর্বোচ্চ গতিতে খেলত এবং সেই সিমুলেশনটি চালিয়েছিল, মূলত এক বা দু'দিন পরে একটি অস্পষ্ট ক্রাশের মুখোমুখি হয়েছিল, তারপরে এটি স্থির করে, সিমুলেশনটি আবার চালানো হয়েছিল, এবং কয়েক সপ্তাহ অবধি শেষ হওয়ার পরেও ক্রমগুলি আর থামানো হয়নি, যতক্ষণ না পুনরাবৃত্তি হয়েছিল। সুতরাং গেমদেবগুলি থেকে তাদের সফ্টওয়্যার পরীক্ষার জন্য আমি দেখতে পেয়েছি এমন আকর্ষণীয় ধরণের ব্যবহারিক পদ্ধতি রয়েছে তবে প্রায়শই এমন উপায়ে যেগুলি ইন্টিগ্রেশন টেস্টিংয়ের উত্সাহ স্তরের সাথে সাদৃশ্যযুক্ত এবং জিনিসগুলি খেলোয়াড়রা কীভাবে খেলার সাথে ইন্টারঅ্যাক্ট করে তা খুব ঘনিষ্ঠভাবে সিমুলেট করে।

অবশেষে এই বড় এএএ গেম ইঞ্জিনগুলি সম্পূর্ণ ভিন্ন ধরণের জন্তুটির সাথে সাদৃশ্য করতে শুরু করেছে: দীর্ঘকালীন, সফলভাবে হার্ডওয়্যারটিকে কিছুটা ভালভাবে বিমূর্ত করা, বড় কোডবেস এবং দীর্ঘ রক্ষণাবেক্ষণের স্প্যানগুলি সহ যখন তাদের স্তরের সম্পাদকরা পূর্ণ-বিকাশযুক্ত পরিবেশের পরিবেশের মতো হতে শুরু করে। আমি কল্পনা করি যে বড় ইঞ্জিনগুলি সম্ভবত আরও নিখুঁত পরীক্ষার প্রক্রিয়া করার জন্য কল করবে, বিশেষত যদি তাদের কোড রক্ষণাবেক্ষণের সময়টি যথেষ্ট পরিমাণে প্রসারিত হয়। এখনও প্রচুর গেম স্টুডিওগুলি বিশাল এএএ গেম ইঞ্জিনগুলি লেখেন না: তারা হয় তাদের লাইসেন্স দেয় বা একটি ছোট মালিকানা ইঞ্জিন বিকাশ করে যা স্কোপে যথেষ্ট ছোট এবং বছরের পর বছর ধরে বজায় রাখা যায় না।


1
বট। হ্যাঁ, এটি একটি চেষ্টা করা এবং পরীক্ষিত পদ্ধতি।
এসডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.