Automated Testing Outline

Automated Testing Foundations

Introduction

System Level Tests

Component Level Tests

  • Component Tests (coming up soon)

  • Contract Tests

Unit Level Tests

  • Unit Tests

  • Narrow Integration Tests

Automated Testing in Legacy Code

Get Started

Phase 1: Pipeline in Legacy Code

  1. Commit Stage in Legacy Code

  2. Release Stage in Legacy Code

  3. Acceptance Stage in Legacy Code

  4. Pipeline in Legacy Code (Summary)

Phase 2: System Level Tests in Legacy Code

  1. E2E Testable Architecture in Legacy Code

  2. Smoke Tests in Legacy Code

  3. E2E Tests in Legacy Code

  4. Maintainable E2E Tests in Legacy Code

  5. Acceptance Testable Architecture in Legacy Code

  6. Acceptance Tests in Legacy Code

  7. Maintainable Acceptance Tests in Legacy Code

  8. External System Contract Tests in Legacy Code

  9. Maintainable External System Contract Tests

  10. Backlog Refinement

  11. ATDD - User Stories (coming up soon)

  12. ATDD - User Stories - System DSL

  13. ATDD - User Stories - External System DSL

  14. ATDD - Bugs

  15. ATDD - System UI/API changes

  16. ATDD - External System API changes

  17. Comprehensive Acceptance Tests in Legacy Code

  18. Comprehensive External System Contract Tests in Legacy Code

Phase 3: Component Level Tests in Legacy Code

  1. Component Tests in Legacy Code

  2. Maintainable Component Tests in Legacy Code

  3. Contract Tests in Legacy Code

Phase 4: Unit Level Tests in Legacy Code

If choose to stay with Big Ball of Mud:

  1. Unit Tests in Big Ball of Mud

  2. Integration Tests in Big Ball of Mud

Else if choose to move to Hexagonal Architecture:

  1. Hexagonal Architecture in Legacy Code

  2. Unit Tests in Hexagonal Architecture

  3. Narrow Integration Tests in Hexagonal Architecture

Else if choose to move to Clean Architecture

  1. Clean Architecture in Legacy Code

  2. Unit Tests in Clean Architecture

  3. Narrow Integration Tests in Clean Architecture