This roadmap helps you learn testing concepts in a structured and principled way.
It also allows you to evaluate yourself — to see what you're already familiar with and where you might need improvement.
- A clear structure to learn testing step by step
- A self-assessment guide to track your strengths and weaknesses
- A mix of concepts and tools to give you a complete view of the testing world
With just one glance, you’ll be able to revisit and review all essential testing topics.
To expand and improve this repository, we need your help!
If you know useful tools, resources, or have experience in testing that others can benefit from, feel free to share them.
You’re welcome to open a Pull Request or create an Issue — every contribution makes a difference!
📌 Start from wherever you are — move forward with clarity!
- White Box
- Gray Box
- Black Box
- Criteria Base
- Equivalence Partitioning
- Boundary Value Analysis
- State Transition Diagrams
- Decision Table Testing
- Graph Coverage
- Human Base
- MethodName_StateUnderTest_ExpectedBehavior
- MethodName_ExpectedBehavior_StateUnderTest
- test[Feature being tested]
- Feature to be tested
- Should_ExpectedBehavior_When_StateUnderTest
- When_StateUnderTest_Expect_ExpectedBehavior
- Given_Preconditions_When_StateUnderTest_Then_ExpectedBehavior
- AAA Pattern
- Arrange
- Act
- Assert
- .NET
- JS
- Python
- PHP
- Four Phase Test
- Setup
- Exercise
- Verify
- Teardown
- TLD
- TDD
- Read
- Green
- Refactor
- BDD
- Gherkin
- Given
- When
- Then
- Tools
- Gherkin
- Functional
- Unit Test
- Terminologies
- Isolated
- Repeatable
- Test Doubles
- Dummy
- Fake
- Stub
- Spy
- Mock
- Internal Functions Testing
- Frameworks
- Mock Tools
- .NET
- JS
- Python
- PHP
- Terminologies
- Integration Test
- Types
- Non Incremental
- Big Bang Integration
- Incremental
- Top - Down
- Bottom - Up
- Non Incremental
- Third party Integration
- Database Sandbox
- EFCore InMemoryDatabase
- SQLite
- Container Integration
- Database Sandbox
- Mock Server
- Tools
- White Box
- Black Box
- Playwright
- Postman
- Types
- End-to-end
- headless
- headed
- Tools
- System Test
- Acceptance Test
- Unit Test
- Non-Functional
- Performance Testing
- Types
- Load testing
- Stress testing
- Volume testing
- Spike testing
- Soak testing
- Tools
- Types
- Usability Testing
- Compatibility Testing
- Reliability testing
- Failover
- Fault tolerance
- Architecture Testing
- .NET
- PHP
- Performance Testing
- Other Test Types
- Smoke Testing
- Smoke Testing
- K8S readiness
- K8S liveness
- A/B Testing
- Snapshot Testing
- .NET
- JS
- Python
- PHP
- Canary Testing
- Smoke Testing
- .NET
- JS
- Python
- PHP
- CLI
- Visual
- IDE Tools
- dotCover
- Test Logic
- Magic strings
- Slow Tests
- Multiple Act
- Stub static references
- DateTime
- System.IO
- Flaky
- Test Duplication in test levels
- Test code is as important as production code
- Duplication is okay, if it improves readability
- Use the Rule of Three to decide to refactor
- Test one condition per test
- Manual
- Automate
- Without Pipeline
- Git Hooks
- With Pipeline
- CI
- CD
- Without Pipeline
- Plugin
- External
- The art of unit testing - Roy Osherov
- TDD by Example - Kent Beck
- XUnit Test Patterns by Gerard Meszaros
If you have any ideas, I’d be happy to receive them as a PR. The raw file for this roadmap is available, so feel free to use it and apply your own changes.
Idea from: AspNetCore Developer Roadmap