Test Automation Framework
// Definition
A structured set of guidelines, abstractions, and shared infrastructure that supports the creation and execution of automated tests. A framework addresses concerns that individual tests cannot — driver lifecycle management, configuration across environments, reporting, and test data — so each test only describes what to verify, not how to set up and tear down the environment.
// Related terms
Page Object Model (POM)
A design pattern that wraps page interactions in dedicated classes. Tests call methods like `loginPage.signIn(email, password)` instead of manipulating selectors directly. Improves maintainability when locators change.
Test Independence
Each test sets up its own state and doesn't depend on others — order can change, parallelisation works, a single failure doesn't cascade. The non-negotiable property for a maintainable test suite.
Parallel Testing
Running multiple tests concurrently to reduce wall-clock time. Requires test independence — shared state will cause non-deterministic failures.
Flaky Test
A test that passes and fails intermittently without any code changes, often caused by timing issues, shared state, async race conditions, or external dependencies. The single largest source of CI noise.