What is test automation?
Answer
Test automation is using software tools to execute tests automatically, compare actual outcomes to expected outcomes, and report results — replacing or supplementing manual testing. Benefits: (1) Speed: automated tests run in seconds/minutes vs hours for manual. (2) Repeatability: same tests run consistently on every change. (3) Coverage: run more tests than humanly possible manually. (4) Regression detection: immediate feedback on broken changes. (5) Cost: high initial investment, but lower long-term cost vs manual retesting. Challenges: initial setup time, test maintenance as code evolves, flaky tests. What to automate: repetitive, stable, high-value test cases — regression tests, smoke tests, data-driven tests. What not to automate: exploratory testing (better done manually), usability testing, tests that change frequently, one-time tests. The ROI of test automation improves the more often a test is run — tests run on every commit are worth automating; tests run once a year are usually not.