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.

Updated: