Search for contacts, projects,
courses and publications

Software Quality & Testing


Pezzè M.

Course director

Heydarov R.




Software quality is a paramount element of software systems, and software testing and program analysis are the core approaches to assess the quality of software systems. This course aim to provide the core background for organizing and executing a thorough quality process. The course provide technical and organizational capabilities for software quality manager and quality scientists.


Avoiding failures in software systems by construction is impossible. This course is about methodologies, techniques and tools to check the quality of software systems, identify and remove faults before software deployment to reduce the possibility of runtime failures. Students will see the many facets of the problem and will learn methodologies, approaches and techniques to check the quality of complex software systems. Students will see the different approaches to testing and analysis and will understand the interplay of testing and analysis within the software development process.


The course is organized in a flip learning fashion: students start working on each topic by studying materials (book chapter or papers) and practicing with some homework. The results of the homework are discussed in class. The topic is completed with lectures on topics that emerge as difficult from the homework, and the topic ic completed with an assignment that is graded with alias presentations.


The grading of the course is based primarily on the assignments that are presented individually in class, on the participation to the tram activities in the class, and marginally to the homework that is assigned in preparation to the lectures.



  • Pezzè Young, Software Testing and Analysis, The book is given to students for free.
  • papers and handouts provided on iCorsi3