A practical introduction to testing in a modern software development environment. The purpose of the course is to develop a working knowledge of testing and software development practices to prepare for “real world” software testing.
Testing Techniques:
- Specification-based testing
- Boundary Testing
- Structural Testing (and Measuring Coverage)
- Design-by-Contracts
- Property-based Testing
Pragmatic Software Testing:
- The Testing Pyramid
- Unit Testing Frameworks
- Test-Driven Development ("Test-First") and Refactoring
- Mock Objects and Test Doubles
- 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 and DevOps(Jira)
Testing in Context (and Non-Functional Testing)
- Web Testing using Selenium scripts
- Load Testing using ApacheJMeter
- Database Testing
- Mobile Testing
- Security Testing
- Mutation Tesing