An introduction about how software testing implemented in a modern software development environment. The purpose of the course is to develop a working sensation of testing and software development practices in preparation for “real world” software testing.
Testing Techniques:
- Specification-based testing
- Boundary Testing(Min-Max coverage)
- Structural Testing (and Measuring Coverage)
- Property-based Testing
Pragmatic Software Testing:
- The Testing Pyramid
- Unit Testing Frameworks
- Test-Driven Development ("Test-First") and Refactoring
- Mock Objects
- Design for Testability
- Test Code Quality and Engineering
Test Organization and Environment:
- Developer Testing Workflow
- Principles of Software Testing and Test Properties
- Software Defect Tracking
- Agile Development
Testing in Context (and Non-Functional Testing):
- Web Testing using Selenium scripts
- Load Testing using ApacheJMeter
- Database Testing
- Mobile Testing
- Security Testing
- Mutation Testing