software-testing
  1. software-testing-difference-between-object-oriented-testing-and-conventional-testing

Difference between Object-Oriented Testing and Conventional Testing - Testing Differences

Object-Oriented Testing and Conventional Testing are two different approaches to software testing. In this tutorial, we will explore the differences between these two testing methodologies.

Object-Oriented Testing vs. Conventional Testing

Syntax:

Object-Oriented Testing is a testing approach that focuses on testing objects and classes in an object-oriented system. Conventional Testing, on the other hand, is a testing approach that focuses on testing functionality and code sequences.

Example:

Consider the following example:

Suppose we have a simple class called Calculator that adds two numbers.

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

The following is how Object-Oriented and Conventional Testing would approach testing this class:

Object-Oriented Testing

In Object-Oriented Testing, we would create an object of the Calculator class and test its behavior, such as checking if the add method returns the correct result.

@Test
public void testAddition() {
    Calculator calc = new Calculator();
    int result = calc.add(2, 3);
    assertEquals(5, result);
}

Conventional Testing

In Conventional Testing, we would focus on testing the functionality of the add method, such as passing different types of input values and checking the output.

@Test
public void testAddition() {
    Calculator calc = new Calculator();
    int x = 2;
    int y = 3;
    int expectedResult = 5;
    int result = calc.add(x, y);
    assertEquals(expectedResult, result);
}

@Test (expected = NullPointerException.class)
public void testNullInput() {
    Calculator calc = new Calculator();
    calc.add(null, null);
}

Output:

The output of Object-Oriented Testing and Conventional Testing is a clear picture of the functionality of the software under test.

Explanation:

Objects and classes in an object-oriented system need to be tested differently from conventional systems. Object-Oriented Testing focuses on testing the behavior of the objects and classes while Conventional Testing focuses on testing the functionality of the software.

Object-Oriented Testing uses a black-box approach, where the internal structure of an object or class is not tested. Instead, the focus is on the behavior of the object or class from an external perspective.

Conventional Testing, on the other hand, uses a white-box approach, where the internal structure of the software is known, and testing is done based on code functionality.

Use

Object-Oriented Testing is useful when testing object-oriented systems as it tests the behavior and interaction of objects and classes. Conventional Testing is useful when testing conventional systems as it tests the functionality and code.

Important Points

  • Object-Oriented Testing and Conventional Testing are two different approaches to software testing.
  • Object-Oriented Testing focuses on the behavior of objects and classes, while Conventional Testing focuses on the functionality of the software.
  • Object-Oriented Testing uses a black-box approach, while Conventional Testing uses a white-box approach.

Summary

In this tutorial, we explored the differences between Object-Oriented Testing and Conventional Testing. We covered the syntax, examples, output, explanation, use, and important points of both testing methodologies. Understanding the difference between these two approaches to testing can help software testers choose the right approach based on the software architecture and requirements.

Published on: