Software testing is one of the phases of software development and is believed to be the most time consuming phase of development. The importance of software testing is increasing steadily with software becoming ubiquitous and controlling several systems and applications. In addition, agile development methodologies focus on developers unit testing their code exhaustively with not much of a difference in the roles of a software developer and a tester.
12 weeks of coursework, weekly online assignments, 3 in-person invigilated quizzes, 1 in-person
end term exam. For details of standard course structure and assessments, visit
Introduction, testing in software development life-cycle, software testing process levels, testing terminology.
Techniques and algorithms for test case design:
Open source tools and frameworks for testing.
Testing of applications: Testing OO-applications, web applications,
GUI and mobile applications.
Agile testing, Test driven development.
Non-functional testing: Overview of non-functional testing techniques.
The following are the suggested books for the course:
Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cam-
bridge University Press, 2008.
Glenford J. Myers, The Art of Software Testing, Second edition, 2008.
Paul C. Jorgensen, Software Testing: A Craftsman’s Approach, Fourth
edition, CRC Press, 2014.
Lisa Crispin and Janet Gregory, Agile Testing: A Practical Guide for
Testers and Agile Teams, Addison-Wesley, 2009.
Appropriate research papers on testing techniques, information regard-
ing testing tools, as applicable.
About the Instructors
Associate Professor, Department of Computer Science and Engineering,
Meenakshi D'Souza is an Associate Professor at IIIT-Bangalore and has been with the institute for the past ten years. Prior to joining IIIT-Bangalore, Meenakshi worked for Honeywell Technology Solutions, Bangalore. Meenakshi is a council member of ACM India and an Associate Editor of Sadhana, a journal of Indian Academy of Sciences.
Her research interests are in the areas of software testing and formal verification of embedded software. Meenakshi teaches courses on Theory of Computation, Software Testing (in NPTEL too), Design and Analysis of Algorithms and Graph Theory. Meenakshi is also interested in gender diversity and accessibility in STEM and IT.