What is Test Class?
To facilitate the development of robust, error-free code, Apex supports the creation and execution of unit tests.
Unit tests are class methods that verify whether a particular piece of code is working properly.
Unit test methods take no arguments, commit no data to the database, send no emails, and are flagged with the testMethod keyword in the method definition.
Test methods cannot be used to test Web service callouts. Web service callouts are asynchronous, while unit tests are synchronous.