Objectives
- To understand the concepts of black-box , white-box and gray box testing
- To understand the concept of test coverage and test adequacy.
- To understand automated test case generation.
- To understand property-based testing.
- To understand mutation-based testing.
- To understand fault localization.
- To understand automated program repair.
- To use software testing tools and frameworks.
Program
- Black/White/Gray Box Testing
- Testing Layers
- Unit, Integration, Regression, Beta and Acceptance Testing
- Test Coverage and Test Adequacy
- Paths, Statements, Conditions Coverage
- Automated Test Case Generation
- Property-Based Testing
- Model-Based Testing
- Mutation-based Testing
- Gamification in Software Testing
- Mobile and Web-Based Testing
- Fault Localization
- Coverage-based Fault Localization
- Automated Program Repair
Bibliography
- Introduction to Software Testing, J. Offutt and P. Amman. Cambridge University Press, 2008. (ISBN: 978-0521880381)
- Foundations of Software Testing, Aditya P. Mathur. Addison-Wesley 2008. (ISBN: 978-8131794760)
- Practical Model-Based Testing: A Tools Approach, M. Utting and B. Legeard. Morgan Kaufmann, 2006. (ISBN: 978-0123725011)
- Automated Program Repair, Claire Le Goues, Michael Pradel, Abhik Roychoudhury.Communications of the ACM, Vol. 62, No. 12, Pages 56-65, December 2019.