STA
Software Testing and Analysis
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
1- Introduction to Software Testing, J. Offutt and P. Amman. Cambridge University Press, 2008. (ISBN: 978-0521880381) 2- Foundations of Software Testing, Aditya P. Mathur. Addison-Wesley 2008. (ISBN: 978-8131794760) 3- Practical Model-Based Testing: A Tools Approach, M. Utting and B. Legeard. Morgan Kaufmann, 2006. (ISBN: 978-0123725011) 4- Automated Program Repair, Claire Le Goues, Michael Pradel, Abhik Roychoudhury.Communications of the ACM, Vol. 62, No. 12, Pages 56-65, December 2019.