Python Institute PCAT glossary of testing, fixture, mock, regression, TDD, BDD, refactoring, and evidence terms.
Use this glossary when PCAT-31-0x: Certified Associate Tester with Python terms start to blur together. The goal is practical recognition: what the term means in a test-design scenario and what answer it usually supports.
| Term | Exam meaning |
|---|---|
| Unit test | A focused test for a small unit of behavior with dependencies controlled where appropriate. |
| Integration test | A test that checks whether components work together across a boundary. |
| Regression test | A test added or preserved to catch a previously fixed defect if it returns. |
| Smoke test | A fast, broad check that verifies basic system health before deeper testing. |
| Boundary test | A test using edge values and just-outside values around a rule. |
| Negative test | A test that verifies invalid, missing, malformed, or unauthorized input is handled correctly. |
| Fixture | Known setup state used by a test, often with cleanup afterward. |
| Mock | A controlled replacement for a dependency that verifies or simulates interaction. |
| Fake | A simpler working substitute for a real dependency, often used to avoid slow or external systems. |
| Flaky test | A test that sometimes passes and sometimes fails without a meaningful code change. |
| Test pyramid | A model that favors many fast focused tests, fewer integration tests, and limited end-to-end tests. |
| TDD | Test-driven development: write a failing test, make it pass, then refactor. |
| BDD | Behavior-driven development: describe expected behavior in business-readable scenarios. |
| Refactoring | Improving internal structure without changing externally visible behavior. |
| Pair | How to separate them |
|---|---|
| Unit test vs integration test | Unit tests isolate a small behavior; integration tests check interaction across components. |
| Mock vs fake | A mock focuses on expected interaction; a fake provides a simplified working implementation. |
| Boundary vs negative test | Boundary tests target edge values; negative tests target invalid or rejected input. |
| Smoke vs regression test | Smoke tests check basic health; regression tests protect against a known past defect. |
| TDD vs BDD | TDD starts from developer-facing tests; BDD emphasizes behavior scenarios and shared language. |
| Fixture vs shared state | A fixture creates known state intentionally; hidden shared state makes tests order-dependent. |
Do not memorize definitions alone. For each term, write one scenario where it is the best answer, one scenario where it is a distractor, and one failure signal that proves the wrong test strategy was chosen.