# ๐งช Software Testing
Validating that software is correct is a large and complex field; the more time you spend on it, the more issues you can find - automation is important, but so is test strategy, and resource allocation.
# In this section
- Why test?
- Unit testing
- Integration testing
- Schema tests
- Contract testing
- API testing
- Smoke tests
- Test Driven Development
- Behaviour Driven Development
- TDD and BDD the same thing?
- When to manually test
- When to automate testing
โ Non-functional requirements Why test? โ