যদি আপনি বর্তমানে প্রচুর পরিমাণে লিগ্যাসি কোড নিয়ে কাজ করছেন যা বর্তমানে পরীক্ষার অধীনে নেই, তবে ভবিষ্যতে অনুমানের বড় পুনর্লিখনের জন্য অপেক্ষা না করে এখন পরীক্ষার কভারেজ পাওয়া সঠিক পদক্ষেপ। লেখার মাধ্যমে ইউনিট পরীক্ষা দিয়ে শুরু করা হয় না।
স্বয়ংক্রিয় পরীক্ষা ছাড়াই, কোডটিতে কোনও পরিবর্তন করার পরে অ্যাপ্লিকেশনটির কাজ চলছে তা নিশ্চিত করার জন্য আপনাকে কিছু ম্যানুয়াল শেষ করতে হবে testing এটি প্রতিস্থাপনের জন্য উচ্চ স্তরের ইন্টিগ্রেশন পরীক্ষাগুলি লিখে শুরু করুন। যদি আপনার অ্যাপ্লিকেশনগুলিতে ফাইলগুলি পড়ে, সেগুলিকে বৈধ করে তোলে, কিছু ফ্যাশনে ডেটা প্রক্রিয়াকরণ করে এবং ফলাফলগুলি প্রদর্শন করে যা আপনি পরীক্ষাগুলি চান যা এটি সমস্ত ক্যাপচার করে।
আদর্শভাবে আপনার কাছে হয় ম্যানুয়াল পরীক্ষা পরিকল্পনা থেকে ডেটা থাকবে বা ব্যবহারের জন্য প্রকৃত উত্পাদন ডেটার একটি নমুনা পেতে সক্ষম হবেন। যদি তা না হয়, অ্যাপটি উত্পাদনের পরে, বেশিরভাগ ক্ষেত্রে এটি যা হওয়া উচিত তাই করছে, সুতরাং কেবলমাত্র এমন ডেটা তৈরি করুন যা সমস্ত উচ্চ পয়েন্টগুলিতে হিট করবে এবং ধরে নেবে আপাতত আউটপুটটি সঠিক। এটি একটি ছোট ফাংশন গ্রহণের চেয়ে খারাপ নয়, এটি নিজের নামটি দিয়ে যা করা হচ্ছে তা অনুমান করে বা কোনও মন্তব্য এটি করা উচিত বলে মনে করে এবং এটি সঠিকভাবে কাজ করছে বলে ধরে নিয়ে পরীক্ষা লেখেন।
IntegrationTestCase1()
{
var input = ReadDataFile("path\to\test\data\case1in.ext");
bool validInput = ValidateData(input);
Assert.IsTrue(validInput);
var processedData = ProcessData(input);
Assert.AreEqual(0, processedData.Errors.Count);
bool writeError = WriteFile(processedData, "temp\file.ext");
Assert.IsFalse(writeError);
bool filesAreEqual = CompareFiles("temp\file.ext", "path\to\test\data\case1out.ext");
Assert.IsTrue(filesAreEqual);
}
অ্যাপ্লিকেশনগুলির সাধারণ ক্রিয়াকলাপ ক্যাপচারের জন্য এই উচ্চ স্তরের পরীক্ষাগুলি পর্যাপ্ত পরিমাণে একবার পেয়ে গেলে এবং সাধারণ ত্রুটির ক্ষেত্রে আপনার কী-বোর্ডের উপর চাপ দেওয়া যে পরিমাণ সময় ব্যয় করতে হবে এবং কোড ব্যতীত অন্য কিছু করার চেষ্টা করে ত্রুটিগুলি ধরতে হবে catch আপনি ভেবেছিলেন এটি করার কথা ভবিষ্যতের রিফ্যাক্টরিং (বা একটি বড় পুনর্লিখন) আরও সহজ করে তুলতে উল্লেখযোগ্যভাবে নেমে আসবে।
আপনি ইউনিট পরীক্ষার কভারেজ প্রসারিত করতে সক্ষম হওয়ায় আপনি বেশিরভাগ ইন্টিগ্রেশন পরীক্ষার অবসর নিতে পারেন বা অবসর নিতে পারেন। যদি আপনার অ্যাপের ফাইল পড়ার / ফাইল লেখার বা কোনও ডিবি অ্যাক্সেস করার ক্ষেত্রে, সেই অংশগুলিকে বিচ্ছিন্নভাবে পরীক্ষা করা এবং সেগুলি উপহাস করে বা আপনার পরীক্ষাগুলি ফাইল / ডাটাবেস থেকে পঠিত ডেটা স্ট্রাকচার তৈরি করে শুরু করার একটি স্পষ্ট জায়গা। প্রকৃতপক্ষে পরীক্ষার অবকাঠামো তৈরি করতে দ্রুত এবং নোংরা পরীক্ষার সেট লেখার চেয়ে অনেক বেশি সময় লাগবে; এবং প্রতিবার আপনি যখন ইন্টিগ্রেশন পরীক্ষাগুলি কভার করেছেন আপনি তারই মধ্যে ইতিমধ্যে একটি বড় জয় অর্জন করছেন তার একটি ভগ্নাংশের 30 মিনিট ব্যয় না করে 30 মিনিট ইন্টিগ্রেশন পরীক্ষার সেট চালাবেন।