Integration Testing হলো সফটওয়্যার টেস্টিংয়ের একটি ধাপ, যেখানে একাধিক উপাদান বা মডিউলকে একত্রে পরীক্ষা করা হয়। উদ্দেশ্য হলো, নিশ্চিত হওয়া যে, বিভিন্ন মডিউল বা সিস্টেমের উপাদানগুলো একে অপরের সাথে সঠিকভাবে কাজ করছে। এই ধরনের টেস্টিংয়ের মাধ্যমে সিস্টেমের ইন্টিগ্রেশন পয়েন্টগুলি এবং ডেটা প্রবাহের ভুলগুলো শনাক্ত করা হয়।
ASP.NET Core-এ Integration Testing করতে হলে কিছু টুল এবং প্রক্রিয়া অনুসরণ করতে হবে। আপনি xUnit
, NUnit
, বা MSTest
এর মতো টেস্টিং ফ্রেমওয়ার্ক ব্যবহার করতে পারেন।
ধরা যাক, আমাদের একটি API আছে যা ডাটাবেস থেকে ব্যবহারকারীর তথ্য ফেরত দেয়। এই API টেস্ট করতে আমরা নিম্নলিখিত টেস্ট লিখতে পারি।
dotnet new xunit -n MyApp.IntegrationTests
Test Project ফোল্ডারে TestServer এবং WebApplicationFactory ব্যবহার করে অ্যাপ্লিকেশনকে ইনিশিয়ালাইজ করুন।
public class UserApiIntegrationTests : IClassFixture<WebApplicationFactory<Startup>>
{
private readonly HttpClient _client;
private readonly WebApplicationFactory<Startup> _factory;
public UserApiIntegrationTests(WebApplicationFactory<Startup> factory)
{
_factory = factory;
_client = factory.CreateClient();
}
[Fact]
public async Task GetUser_ReturnsSuccessStatusCode()
{
var response = await _client.GetAsync("/api/users/1");
response.EnsureSuccessStatusCode(); // Verifies 2xx status code
}
}
এই কোডটি WebApplicationFactory
ব্যবহার করে অ্যাপের API রুটে রিকোয়েস্ট পাঠাচ্ছে এবং প্রাপ্ত রেসপন্স যাচাই করছে।
Test Driven Development (TDD) হলো একটি সফটওয়্যার ডেভেলপমেন্ট প্রক্রিয়া, যেখানে প্রথমে টেস্ট লেখা হয় এবং তারপর সেই টেস্টটি পাস করার মতো কোড লেখা হয়। এই প্রক্রিয়াটি কোডের গুণগত মান উন্নত করে এবং সফটওয়্যার ডেভেলপমেন্টে আরও স্থিতিশীলতা আনে।
ধরা যাক, আমাদের একটি ফাংশন তৈরি করতে হবে যা দুটি সংখ্যা যোগ করবে। প্রথমে TDD পদ্ধতিতে টেস্ট লিখি।
public class MathTests
{
[Fact]
public void Add_ReturnsCorrectSum()
{
// Arrange
var math = new MathOperations();
// Act
var result = math.Add(1, 2);
// Assert
Assert.Equal(3, result);
}
}
এখানে আমরা Add ফাংশনটির জন্য একটি টেস্ট লিখেছি, যেখানে 1 এবং 2 যোগ করার পর প্রত্যাশিত ফলাফল 3 হওয়া উচিত।
এখন কোড লিখি যাতে টেস্টটি পাস হয়।
public class MathOperations
{
public int Add(int a, int b)
{
return a + b;
}
}
টেস্টটি চালালে, এটি পাস করবে এবং Add ফাংশনটি সঠিকভাবে কাজ করবে।
এখন কোডটি পরিষ্কার বা আরও উন্নত করা যায়, যদি প্রয়োজন হয়।
Integration Testing এবং Test Driven Development (TDD) হল দুটি গুরুত্বপূর্ণ সফটওয়্যার ডেভেলপমেন্ট কৌশল। Integration Testing ব্যবহারকারীর সিস্টেমের ইন্টিগ্রেশন পয়েন্টগুলো পরীক্ষা করতে সহায়ক, যেখানে TDD আপনার কোডের গুণগত মান এবং স্থায়িত্ব নিশ্চিত করতে সহায়ক। TDD কোড লেখার আগে টেস্ট তৈরি করে এবং সেই টেস্ট পাস করার জন্য কোড লেখার প্রক্রিয়া অনুসরণ করে, যা সিস্টেমের প্রতিটি ইউনিট ও উপাদানের সঠিক কার্যকারিতা নিশ্চিত করে। Integration Testing-এ একাধিক সিস্টেম বা মডিউলের একসাথে কাজ করা যাচাই করা হয়, যা সফটওয়্যারের বড় স্তরের টেস্টিং প্রক্রিয়া।
common.read_more