Software Testing and Debugging
A comprehensive study of software testing principles, methodologies, tools, and techniques: coverage criteria, unit and higher-order testing, white-box and black-box testing, property-based and mutation testing, test doubles, GUI and load testing, and debugging.
Johns Hopkins · EN.601.422 · Spring 2023
Foundations
Introduction and the Psychology of Testing
Testing Principles and Test Automation
Black-Box Testing
White-Box Testing
Test Automation with JUnit 5
Test Adequacy
Coverage Criteria
Logic Coverage
Property-Based Testing
Mutation Testing
- RIPR Model · Mutation Coverage · Mutation Operators · Ways to Improve Mutation Testing Efficiency · Integration Mutation Testing · Object-Oriented Mutation · Summary