In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing.
Unit Testing – Ensures individual functions work correctly. Automated and runs whenever new code is pushed.
Integration Testing – Verifies that different modules work together. Tests both expected and unexpected inputs.
System Testing – Tests the complete application. Key types include: