টেস্ট কেস তৈরি করা হলো সফটওয়্যার টেস্টিংয়ের একটি গুরুত্বপূর্ণ ধাপ, যেখানে নির্দিষ্ট কিছু শর্ত, ইনপুট এবং প্রত্যাশিত ফলাফল দিয়ে ফাংশন বা মেথডের কার্যকারিতা যাচাই করা হয়। প্রতিটি টেস্ট কেস কোডের নির্দিষ্ট অংশের কার্যকারিতা নিশ্চিত করে, ফলে ত্রুটি সহজেই চিহ্নিত করা যায়।
নিচে C# এ NUnit ফ্রেমওয়ার্ক ব্যবহার করে একটি টেস্ট কেস তৈরি এবং রান করার প্রক্রিয়া ব্যাখ্যা করা হলো।
টেস্ট কেসের মূল কাঠামো
প্রত্যেক টেস্ট কেসে তিনটি ধাপ থাকে:
- Arrange: টেস্টের প্রয়োজনীয় সেটআপ বা ইনপুট ডেটা প্রস্তুত করা।
- Act: টেস্টে ফাংশন বা মেথড কল করা, যা পরীক্ষা করতে চাই।
- Assert: আউটপুট প্রত্যাশিত মানের সাথে মিলিয়ে দেখা।
উদাহরণ: একটি টেস্ট কেস তৈরি করা
ধরা যাক, আমাদের একটি Calculator ক্লাস রয়েছে যেখানে Add মেথড আছে, যা দুইটি সংখ্যা যোগ করে।
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
NUnit দিয়ে টেস্ট কেস তৈরি করা
১. Visual Studio তে NUnit প্যাকেজ ইনস্টল করুন। Package Manager Console এ নিচের কমান্ডটি রান করুন:
Install-Package NUnit
Install-Package NUnit3TestAdapter
২. CalculatorTests.cs নামে একটি নতুন টেস্ট ক্লাস তৈরি করুন এবং নিচের কোড লিখুন:
using NUnit.Framework;
[TestFixture]
public class CalculatorTests
{
private Calculator _calculator;
[SetUp]
public void Setup()
{
_calculator = new Calculator();
}
[Test]
public void Add_WhenCalled_ReturnsSum()
{
// Arrange
int a = 5;
int b = 10;
// Act
int result = _calculator.Add(a, b);
// Assert
Assert.AreEqual(15, result);
}
}
ব্যাখ্যা
- [TestFixture]:
CalculatorTestsক্লাসটিকে টেস্ট ক্লাস হিসেবে চিহ্নিত করেছে। - [SetUp]:
Setupমেথডটি প্রতিটি টেস্টের আগে রান হয়। এটিCalculatorক্লাসের একটি ইনস্ট্যান্স তৈরি করে। - [Test]:
Add_WhenCalled_ReturnsSumমেথডটিকে একটি টেস্ট কেস হিসেবে চিহ্নিত করা হয়েছে। - Arrange, Act, Assert:
- Arrange:
aএবংbনামে দুটি ভেরিয়েবল তৈরি করা হয়েছে। - Act:
_calculator.Add(a, b)এর মাধ্যমে যোগফল গণনা করা হয়েছে। - Assert:
Assert.AreEqual(15, result);দিয়ে যাচাই করা হয়েছে যে যোগফল ১৫ হওয়া উচিত।
- Arrange:
টেস্ট কেস রান করা
Visual Studio তে Test Explorer এ যান এবং Run All ক্লিক করুন।
- সবুজ চিহ্ন দেখায় যে টেস্ট সফল হয়েছে।
- লাল চিহ্ন দেখায় যে টেস্ট ব্যর্থ হয়েছে।
আরো কিছু টেস্ট কেস যোগ করা
ধরা যাক, Calculator ক্লাসে একটি Subtract মেথড আছে যা দুইটি সংখ্যা বিয়োগ করে।
public int Subtract(int a, int b)
{
return a - b;
}
Subtract মেথডের জন্য একটি নতুন টেস্ট কেস যোগ করা যেতে পারে:
[Test]
public void Subtract_WhenCalled_ReturnsDifference()
{
// Arrange
int a = 10;
int b = 5;
// Act
int result = _calculator.Subtract(a, b);
// Assert
Assert.AreEqual(5, result);
}
ব্যাখ্যা
- এই টেস্ট কেসে
Subtractমেথডেa = 10এবংb = 5দিয়ে বিয়োগফল হিসেবে ৫ প্রত্যাশা করা হয়েছে। - Assert চেক করে যে ফলাফল ৫ কিনা।
টেস্ট কেসের সেরা প্র্যাকটিস
- একটি টেস্ট একটি কাজ করে: প্রতিটি টেস্ট কেসে একটি ফাংশন বা মেথডের জন্য একটি কাজ পরীক্ষা করুন।
- প্রত্যাশিত এবং অপ্রত্যাশিত ইনপুট চেক করা: ফাংশনটি বিভিন্ন ধরনের ইনপুটে সঠিকভাবে কাজ করছে কিনা তা যাচাই করুন।
- নাম অর্থবহ করা: টেস্ট কেসের নাম অর্থবহ হওয়া উচিত যাতে স্পষ্ট হয় যে এটি কী পরীক্ষা করছে।
- পরীক্ষার ফলাফল ডকুমেন্টেশন: টেস্টের ফলাফল বা আউটপুট ভালোভাবে ডকুমেন্ট করুন।
সংক্ষেপে
- টেস্ট কেস: একটি নির্দিষ্ট ফাংশনের কার্যকারিতা পরীক্ষা করার জন্য লেখা হয়।
- NUnit: C# এ ইউনিট টেস্টিং এর জন্য একটি জনপ্রিয় ফ্রেমওয়ার্ক।
- Arrange-Act-Assert: টেস্ট কেস লেখার আদর্শ কাঠামো।
- Test Explorer: Visual Studio তে টেস্ট কেস রান ও ফলাফল দেখার জন্য।
এইভাবে C# এ NUnit ব্যবহার করে টেস্ট কেস তৈরি ও রান করা যায়, যা কোডের গুণগত মান এবং নির্ভরযোগ্যতা বৃদ্ধি করে।