Competencies: Software Engineering > Testing
Testing
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
pytest |
Python testing framework with fixtures, parametrization, plugins, and coverage integration. Foundation for TDD and CI/CD pipelines. |
High |
Backend, DevOps, QA |
Unit Testing |
Test isolation, mocking, assertions, test organization, AAA pattern |
Critical |
All Engineering |
Integration Testing |
Testing component interactions, database testing, API testing |
Critical |
Backend Developer, QA Engineer |
Test-Driven Development |
Red-green-refactor cycle, test-first design, behavior specification |
High |
Backend Developer, Software Engineer |
Mocking & Stubbing |
Test doubles, mock objects, dependency isolation, when to mock |
High |
Backend Developer, QA Engineer |
Code Coverage |
Line/branch/path coverage, coverage tools, coverage targets, coverage gaps |
High |
Backend Developer, QA Engineer |
Property-Based Testing |
Hypothesis, random input generation, invariant testing, shrinking |
Medium |
Backend Developer, QA Engineer |
End-to-End Testing |
Selenium, Playwright, Cypress, user journey testing, test data |
High |
QA Engineer, Full-Stack Developer |
Performance Testing |
Load testing, stress testing, benchmarking, profiling, bottleneck identification |
High |
SRE, Backend Developer, QA Engineer |
Test Automation |
CI integration, test parallelization, flaky test management, test reporting |
High |
DevOps Engineer, QA Engineer |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
pytest |
Advanced |
100+ tests across domus-api and association-engine; fixtures, parametrize, conftest architecture, mock/patch, coverage reporting; TDD workflow |
No property-based testing (Hypothesis), no mutation testing |