Engineering: writing the code
Portal (map of content) for how the code itself gets written and kept correct: languages, paradigms, version control, and testing.
Why testing lives here (and where its other half lives)
Testing has a foot in two domains. The craft of testing, how to write tests and let them drive design, is engineering work and lives here. The process/quality side, where the Testing stage sits in the SDLC, acceptance criteria, the Definition of Done, and QA as a role, lives in Process. The two are cross-linked, not duplicated.
Testing: the test-first practices
Three disciplines that all descend from Extreme Programming:
- Test-driven development (TDD): write a failing test, make it pass, refactor. Developer-level.
- Acceptance test-driven development (ATDD): agree the acceptance tests before building. Whole-team.
- Behavior-driven development (BDD): describe behavior in a plain shared language (Given/When/Then).
Planned for this domain
Version control (Git), programming paradigms (imperative / OOP / functional), compiled vs interpreted languages, debugging, and the test types (unit / integration / end-to-end).