TestNG is a java testing framework. It was created by Cédric Beust out of frustration over JUnit's deficiencies. It was designed to cover all categories of tests such as unit, functional, integration, etc.
The idea is very simple. It is breakdown into the following steps:
At the end, TestNG will report whether methods behave correctly or not.