What is Test Automation?
From the QA perspective, test automation involves creating a test artifact that automatically exercises a use case or requirement in isolation. It’s designed to repeatedly confirm whether actual outcomes at specific check points match the expected outcomes (according to the requirement or user story). QA-level test automation is traditionally performed at the UI level through scripting and/or record and playback tools.
Most UI-level tests need to be constantly updated to avoid false positives as the application evolves. Thus, if applications change frequently, test maintenance becomes a time-consuming chore. Once the maintenance burden takes its toll, teams often abandon test automation efforts and revert to manual testing. As a result of these difficulties with brittle, high-maintenance tests, few test teams have been able to achieve satisfactory levels of test automation—even in waterfall processes.