টেস্টএনজি (ইংরেজি: TestNG) হলো একটি ওপেন সোর্স পরীক্ষণ ফ্রেমওয়ার্ক যা Java প্রোগ্রামিং ভাষার জন্য তৈরি করা হয়েছে। এটি বিশেষ করে ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং, এবং সিস্টেম টেস্টিং করার জন্য ডিজাইন করা হয়েছে। TestNG এর নাম "Test Next Generation" থেকে এসেছে এবং এটি JUnit-এর উন্নত সংস্করণ হিসেবে বিবেচিত হয়। এটি ফিচারসমূহ এবং কার্যকারিতায় অনেক উন্নত এবং উন্নত পরীক্ষণ কাঠামো সরবরাহ করে।
TestNG হলো একটি টেস্টিং ফ্রেমওয়ার্ক, যা বিশেষভাবে জাভা প্রোগ্রামিং ভাষা ব্যবহার করে ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং, এবং ফাংশনাল টেস্টিং করার জন্য ব্যবহৃত হয়। এটি JUnit এবং NUnit এর অনুরূপ, তবে TestNG আরও বেশি ফিচার এবং সুবিধা প্রদান করে, যা বিশেষ করে এন্টারপ্রাইজ-লেভেলের টেস্টিং এবং অটোমেশন টেস্টিং করার জন্য উপযোগী।
TestNG-এর NG মানে "Next Generation," যা ইঙ্গিত দেয় যে এটি JUnit এর উন্নত সংস্করণ হিসেবে কাজ করে এবং আরও শক্তিশালী ফিচার নিয়ে আসে। এটি টেস্ট কেস তৈরি এবং পরিচালনার জন্য অত্যন্ত কার্যকর, বিশেষ করে জাভা ভিত্তিক প্রজেক্টে।
ধাপ ১: TestNG ইনস্টল করা
TestNG ব্যবহারের জন্য আপনাকে প্রথমে Eclipse IDE বা IntelliJ IDEA-তে TestNG ইনস্টল করতে হবে অথবা Maven দিয়ে ইনস্টল করতে পারেন।
Eclipse এ TestNG ইনস্টল করা:
Maven দিয়ে ইনস্টল করা:
যদি আপনি Maven প্রজেক্ট ব্যবহার করেন, তাহলে pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.4.0</version>
<scope>test</scope>
</dependency>
ধাপ ২: TestNG টেস্ট কেস তৈরি করা
TestNG ব্যবহার করে টেস্ট কেস তৈরি করা অত্যন্ত সহজ। TestNG টেস্ট মেথডগুলো @Test অনোটেশন ব্যবহার করে চিহ্নিত করা হয়। নিচে একটি সাধারণ টেস্ট কেস উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class ExampleTest {
@Test
public void testMethod() {
System.out.println("This is a test method.");
}
}
উপরের উদাহরণে:
ধাপ ৩: টেস্ট কেস চালানো
TestNG এর মাধ্যমে টেস্ট কেস চালানো অত্যন্ত সহজ। Eclipse IDE তে TestNG টেস্ট কেস চালানোর জন্য:
আপনার টেস্ট কেস সফলভাবে রান হলে কনসোলে আউটপুট দেখতে পাবেন।
ধাপ ৪: প্যারামিটারাইজড টেস্ট
TestNG-তে প্যারামিটারাইজড টেস্ট কনফিগার করা সম্ভব, যা একাধিক ইনপুট দিয়ে একই টেস্ট চালাতে সাহায্য করে। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class ParameterizedTest {
@Test
@Parameters({"param1", "param2"})
public void testMethod(String param1, String param2) {
System.out.println("Parameter 1: " + param1);
System.out.println("Parameter 2: " + param2);
}
}
testng.xml ফাইলে প্যারামিটার কনফিগার করা যাবে:
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Test">
<parameter name="param1" value="Value1"/>
<parameter name="param2" value="Value2"/>
<classes>
<class name="ParameterizedTest"/>
</classes>
</test>
</suite>
ধাপ ৫: টেস্ট ডিপেন্ডেন্সি
TestNG এর মাধ্যমে টেস্ট মেথডগুলোর মধ্যে ডিপেন্ডেন্সি সেট করা যায়। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class DependencyTest {
@Test
public void startServer() {
System.out.println("Server started.");
}
@Test(dependsOnMethods = {"startServer"})
public void testApplication() {
System.out.println("Application testing.");
}
}
উপরের উদাহরণে, testApplication() মেথডটি startServer() মেথডের উপর নির্ভর করে, অর্থাৎ startServer() সফল হলে তবেই testApplication() চালানো হবে।
ধাপ ৬: টেস্ট গ্রুপিং
TestNG-তে টেস্টগুলোকে বিভিন্ন গ্রুপে ভাগ করা যায়। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class GroupingTest {
@Test(groups = {"sanity"})
public void sanityTest() {
System.out.println("Sanity test.");
}
@Test(groups = {"regression"})
public void regressionTest() {
System.out.println("Regression test.");
}
}
ধাপ ৭: HTML রিপোর্টিং
TestNG টেস্ট চালানোর পরে স্বয়ংক্রিয়ভাবে একটি HTML রিপোর্ট তৈরি করে, যেখানে সমস্ত টেস্টের ফলাফল দেখা যায়। Eclipse বা IntelliJ IDEA তে test-output ফোল্ডারে রিপোর্টটি পাওয়া যাবে।
| বিষয় | TestNG | JUnit |
|---|---|---|
| অনোটেশন | বেশি এবং উন্নত | সীমিত |
| প্যারামিটারাইজড টেস্টিং | সমর্থিত | সমর্থিত নয় |
| ডিপেন্ডেন্ট টেস্টিং | সমর্থিত | সমর্থিত নয় |
| রিপোর্টিং | স্বয়ংক্রিয় HTML রিপোর্ট | সীমিত |
| পারালাল টেস্টিং | সমর্থিত | সমর্থিত নয় |
TestNG হলো একটি শক্তিশালী এবং অত্যন্ত কার্যকর জাভা ভিত্তিক টেস্টিং ফ্রেমওয়ার্ক, যা বড় প্রজেক্টের জন্য বিশেষ উপযোগী। এর প্যারামিটারাইজড টেস্টিং, ডিপেন্ডেন্ট টেস্টিং, এবং পারালাল টেস্টিং ফিচারগুলো TestNG-কে অত্যন্ত জনপ্রিয় করে তুলেছে। যারা জাভাতে কাজ করেন এবং তাদের প্রজেক্টে ইউনিট টেস্টিং এবং অটোমেশন টেস্টিং করতে চান, তাদের জন্য TestNG একটি চমৎকার সমাধান।
টেস্টএনজি (ইংরেজি: TestNG) হলো একটি ওপেন সোর্স পরীক্ষণ ফ্রেমওয়ার্ক যা Java প্রোগ্রামিং ভাষার জন্য তৈরি করা হয়েছে। এটি বিশেষ করে ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং, এবং সিস্টেম টেস্টিং করার জন্য ডিজাইন করা হয়েছে। TestNG এর নাম "Test Next Generation" থেকে এসেছে এবং এটি JUnit-এর উন্নত সংস্করণ হিসেবে বিবেচিত হয়। এটি ফিচারসমূহ এবং কার্যকারিতায় অনেক উন্নত এবং উন্নত পরীক্ষণ কাঠামো সরবরাহ করে।
TestNG হলো একটি টেস্টিং ফ্রেমওয়ার্ক, যা বিশেষভাবে জাভা প্রোগ্রামিং ভাষা ব্যবহার করে ইউনিট টেস্টিং, ইন্টিগ্রেশন টেস্টিং, এবং ফাংশনাল টেস্টিং করার জন্য ব্যবহৃত হয়। এটি JUnit এবং NUnit এর অনুরূপ, তবে TestNG আরও বেশি ফিচার এবং সুবিধা প্রদান করে, যা বিশেষ করে এন্টারপ্রাইজ-লেভেলের টেস্টিং এবং অটোমেশন টেস্টিং করার জন্য উপযোগী।
TestNG-এর NG মানে "Next Generation," যা ইঙ্গিত দেয় যে এটি JUnit এর উন্নত সংস্করণ হিসেবে কাজ করে এবং আরও শক্তিশালী ফিচার নিয়ে আসে। এটি টেস্ট কেস তৈরি এবং পরিচালনার জন্য অত্যন্ত কার্যকর, বিশেষ করে জাভা ভিত্তিক প্রজেক্টে।
ধাপ ১: TestNG ইনস্টল করা
TestNG ব্যবহারের জন্য আপনাকে প্রথমে Eclipse IDE বা IntelliJ IDEA-তে TestNG ইনস্টল করতে হবে অথবা Maven দিয়ে ইনস্টল করতে পারেন।
Eclipse এ TestNG ইনস্টল করা:
Maven দিয়ে ইনস্টল করা:
যদি আপনি Maven প্রজেক্ট ব্যবহার করেন, তাহলে pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.4.0</version>
<scope>test</scope>
</dependency>
ধাপ ২: TestNG টেস্ট কেস তৈরি করা
TestNG ব্যবহার করে টেস্ট কেস তৈরি করা অত্যন্ত সহজ। TestNG টেস্ট মেথডগুলো @Test অনোটেশন ব্যবহার করে চিহ্নিত করা হয়। নিচে একটি সাধারণ টেস্ট কেস উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class ExampleTest {
@Test
public void testMethod() {
System.out.println("This is a test method.");
}
}
উপরের উদাহরণে:
ধাপ ৩: টেস্ট কেস চালানো
TestNG এর মাধ্যমে টেস্ট কেস চালানো অত্যন্ত সহজ। Eclipse IDE তে TestNG টেস্ট কেস চালানোর জন্য:
আপনার টেস্ট কেস সফলভাবে রান হলে কনসোলে আউটপুট দেখতে পাবেন।
ধাপ ৪: প্যারামিটারাইজড টেস্ট
TestNG-তে প্যারামিটারাইজড টেস্ট কনফিগার করা সম্ভব, যা একাধিক ইনপুট দিয়ে একই টেস্ট চালাতে সাহায্য করে। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class ParameterizedTest {
@Test
@Parameters({"param1", "param2"})
public void testMethod(String param1, String param2) {
System.out.println("Parameter 1: " + param1);
System.out.println("Parameter 2: " + param2);
}
}
testng.xml ফাইলে প্যারামিটার কনফিগার করা যাবে:
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Test">
<parameter name="param1" value="Value1"/>
<parameter name="param2" value="Value2"/>
<classes>
<class name="ParameterizedTest"/>
</classes>
</test>
</suite>
ধাপ ৫: টেস্ট ডিপেন্ডেন্সি
TestNG এর মাধ্যমে টেস্ট মেথডগুলোর মধ্যে ডিপেন্ডেন্সি সেট করা যায়। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class DependencyTest {
@Test
public void startServer() {
System.out.println("Server started.");
}
@Test(dependsOnMethods = {"startServer"})
public void testApplication() {
System.out.println("Application testing.");
}
}
উপরের উদাহরণে, testApplication() মেথডটি startServer() মেথডের উপর নির্ভর করে, অর্থাৎ startServer() সফল হলে তবেই testApplication() চালানো হবে।
ধাপ ৬: টেস্ট গ্রুপিং
TestNG-তে টেস্টগুলোকে বিভিন্ন গ্রুপে ভাগ করা যায়। নিচে একটি উদাহরণ দেওয়া হলো:
import org.testng.annotations.Test;
public class GroupingTest {
@Test(groups = {"sanity"})
public void sanityTest() {
System.out.println("Sanity test.");
}
@Test(groups = {"regression"})
public void regressionTest() {
System.out.println("Regression test.");
}
}
ধাপ ৭: HTML রিপোর্টিং
TestNG টেস্ট চালানোর পরে স্বয়ংক্রিয়ভাবে একটি HTML রিপোর্ট তৈরি করে, যেখানে সমস্ত টেস্টের ফলাফল দেখা যায়। Eclipse বা IntelliJ IDEA তে test-output ফোল্ডারে রিপোর্টটি পাওয়া যাবে।
| বিষয় | TestNG | JUnit |
|---|---|---|
| অনোটেশন | বেশি এবং উন্নত | সীমিত |
| প্যারামিটারাইজড টেস্টিং | সমর্থিত | সমর্থিত নয় |
| ডিপেন্ডেন্ট টেস্টিং | সমর্থিত | সমর্থিত নয় |
| রিপোর্টিং | স্বয়ংক্রিয় HTML রিপোর্ট | সীমিত |
| পারালাল টেস্টিং | সমর্থিত | সমর্থিত নয় |
TestNG হলো একটি শক্তিশালী এবং অত্যন্ত কার্যকর জাভা ভিত্তিক টেস্টিং ফ্রেমওয়ার্ক, যা বড় প্রজেক্টের জন্য বিশেষ উপযোগী। এর প্যারামিটারাইজড টেস্টিং, ডিপেন্ডেন্ট টেস্টিং, এবং পারালাল টেস্টিং ফিচারগুলো TestNG-কে অত্যন্ত জনপ্রিয় করে তুলেছে। যারা জাভাতে কাজ করেন এবং তাদের প্রজেক্টে ইউনিট টেস্টিং এবং অটোমেশন টেস্টিং করতে চান, তাদের জন্য TestNG একটি চমৎকার সমাধান।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?