Assertion কি এবং এর প্রয়োজনীয়তা

TestNG Assertions - টেস্টএনজি (TestNG) - Java Technologies

426

Assertion কি?

Assertion হলো টেস্টিং প্রক্রিয়ায় ব্যবহৃত একটি পদ্ধতি যা নিশ্চিত করে যে একটি কোডের আউটপুট প্রত্যাশিত ফলাফলের সঙ্গে মিলছে কিনা। এটি সাধারণত assert স্টেটমেন্ট বা টেস্টএনজি-তে প্রোভাইড করা Assertion মেথডের মাধ্যমে পরিচালিত হয়।

টেস্টএনজি-তে Assertions ব্যবহার করে নিশ্চিত করা যায় যে:

  • টেস্ট কেস সঠিকভাবে কাজ করছে।
  • আউটপুট প্রত্যাশিত ফলাফলের সাথে মেলে।
  • ভুল আউটপুট পাওয়া গেলে টেস্ট ব্যর্থ (Fail) হয়।

টেস্টএনজি-তে Assertion-এর মূল ক্লাস

Assertions পরিচালনার জন্য টেস্টএনজি org.testng.Assert ক্লাস সরবরাহ করে, যা বিভিন্ন মেথডের মাধ্যমে টেস্টিং সহজ করে।


Assertion-এর প্রয়োজনীয়তা

টেস্ট ফলাফল যাচাই করা

Assertion ব্যবহার করে চেক করা যায় টেস্ট মেথড সঠিকভাবে কাজ করছে কিনা এবং প্রত্যাশিত আউটপুট প্রদান করছে কিনা।

অটোমেটেড টেস্টিং সহজ করা

Assertion দিয়ে কোডের প্রতিটি স্তরে ত্রুটি শনাক্ত করা সহজ হয়। এটি ম্যানুয়াল টেস্টিংয়ের প্রয়োজনীয়তা কমিয়ে দেয়।

ত্রুটির তাত্ক্ষণিক প্রতিবেদন

যদি টেস্ট কোনো শর্ত পূরণ না করে, Assertion সাথে সাথে টেস্ট ব্যর্থ হিসেবে চিহ্নিত করে, যা ত্রুটি দ্রুত শনাক্ত করতে সাহায্য করে।

টেস্টিং প্রক্রিয়ার নির্ভুলতা

এটি নিশ্চিত করে যে কোনো কোডের ভুল আউটপুট স্বাভাবিক কাজের ধারাকে বাধাগ্রস্ত করছে কিনা।


Assertion-এর উদাহরণ

সঠিক ফলাফল যাচাই (assertEquals)

import org.testng.Assert;
import org.testng.annotations.Test;

public class AssertionExample {

    @Test
    public void testAssertion() {
        int actual = 5 + 5;
        int expected = 10;
        Assert.assertEquals(actual, expected, "Actual value does not match expected value!");
    }
}

এখানে Assert.assertEquals ব্যবহার করে actual এবং expected মান যাচাই করা হয়েছে।

শর্ত যাচাই (assertTrue)

@Test
public void testCondition() {
    boolean isAvailable = true;
    Assert.assertTrue(isAvailable, "Condition is not true!");
}

শর্ত মিথ্যা হওয়া যাচাই (assertFalse)

@Test
public void testConditionFalse() {
    boolean isComplete = false;
    Assert.assertFalse(isComplete, "Condition is not false!");
}

Null চেক (assertNull)

@Test
public void testNullCheck() {
    String value = null;
    Assert.assertNull(value, "Value is not null!");
}

Not Null চেক (assertNotNull)

@Test
public void testNotNullCheck() {
    String value = "TestNG";
    Assert.assertNotNull(value, "Value is null!");
}

Assertion-এর প্রকারভেদ

হার্ড Assertion (Hard Assertion)

হার্ড Assertion কোনো টেস্ট ব্যর্থ হলে সাথে সাথেই টেস্ট মেথড থামিয়ে দেয়। এটি টেস্টএনজি-র ডিফল্ট Assertion।

সফট Assertion (Soft Assertion)

সফট Assertion টেস্ট মেথড চালিয়ে যেতে দেয়, এমনকি একটি Assertion ব্যর্থ হলেও। এটি SoftAssert ক্লাসের মাধ্যমে ব্যবহার করা হয়।

উদাহরণ:

import org.testng.asserts.SoftAssert;

@Test
public void testSoftAssert() {
    SoftAssert softAssert = new SoftAssert();
    softAssert.assertEquals(10, 5, "Values do not match!");
    System.out.println("This line will execute even if assertion fails.");
    softAssert.assertAll(); // Collects all failures and reports them
}

সারাংশ

Assertion টেস্টিং প্রক্রিয়ার অপরিহার্য অংশ, যা নিশ্চিত করে যে কোড প্রত্যাশিত ফলাফল প্রদান করছে। এটি টেস্টিংয়ের কার্যকারিতা বাড়িয়ে তুলতে, ত্রুটি দ্রুত শনাক্ত করতে এবং টেস্টিং প্রক্রিয়া আরও নির্ভুল করতে সহায়তা করে। টেস্টএনজি হার্ড এবং সফট Assertions এর মাধ্যমে টেস্টিং সহজ এবং কার্যকর করে।

Content added By
Promotion

Are you sure to start over?

Loading...