Testing is the process of checking an application that it is working as expected. Working as expected means for a known input it must give the expected output. In other words testing is a process of verification and validation.
Unit testing is the testing of an individual unit (class/method) or group of related units.
Types of unit testing:
1. Manual testing
2. Automated testing
Manual testing is the process of executing a test case without any tool support.
Automated testing is the process of executing a test case with any tool support.
JUnit is an open-source unit testing framework for java programmers. It is only used for unit testing. Integration testing is done by TestNG.
Unit test case:
Unit test case is part of code which executes to check that another part of the code works as expected.
Note: We have to write two test cases for every requirement/sub-requirement one positive and one negative.
Annotations for Junit testing:
1. @Test: It is used to specify the test method.
2. @BeforeClass: It is used to specify that method will be called only once, before starting all the test cases.
3. @AfterClass: It is used to specify that method will be called only once, after finishing all the test cases.
4. @Before: It is used to specify that method will be called before each test case.
5. @After: It is used to specify that method will be called after each test case.
6. @Ignore: It is used to ignore the test case.
JUnit provides the Assert class to check the certain conditions. Assert class methods compare the output value to the expected value.
Commonly used methods of Assert class:
1. assertTrue(boolean condition): It assert that the specified boolean condition is true.
2. assertFalse(boolean condition): It assert that the specified boolean condition is false.
3. assertNull(Object obj): It assert that the specified object is null.
4. assertNotNull(Object obj): It assert that the specified object is not null.
5. assertEquals(Object expected, Object actual): It assert that two objects are equal.
6. assertSame(Object expected, Object actual): It assert that two objects refer to the same object.