Test Automation
Test Automation is the practice of writing software tests as code so they run without human intervention, usually on every commit in a CI/CD pipeline. The goal is a fast, repeatable signal about whether a change broke existing behavior, which manual testing cannot deliver at the frequency modern teams deploy. Tests are normally layered. Unit tests check a single function in isolation and run in milliseconds; integration tests exercise several components together, often against a real database; and end-to-end tests drive the actual interface the way a user would. Jest and Vitest cover the unit and integration layers in JavaScript projects, pytest does the same in Python, and Playwright or Cypress drive browsers for end-to-end runs. GitHub Actions and GitLab CI are where these suites typically execute, blocking a merge when something fails. AI coding assistants now generate test cases from existing code, which raises coverage quickly but not necessarily quality. The pitfall is the flaky test: a suite that fails intermittently trains developers to rerun rather than investigate, and a green build stops meaning anything. Coverage percentage is likewise a weak proxy, since tests that assert nothing meaningful still count.