Software Quality Process
Persone
Descrizione
This course studies in detail methodologies, techniques, and tools to check the quality of software systems, identify and remove faults. Students learn methodologies, approaches, and techniques to check the quality of complex software systems, and learn how to organize, plan, and monitor a software quality process. Students see the different approaches to testing and analysis and understand the interplay of testing and analysis within the software development process. The course provides a complete background for a testing engineer.
The course studies the following topics.
- A Framework for Test and Analysis
- Basic Principles
- Dependence and Data Flow Models
- Symbolic Execution and Proof of Properties
- Dynamic Symbolic Execution
- Test case Selection and Adequacy
- Data Flow Testing
- Fault-Based Testing
- Test Execution
- Program Analysis
- Dynamic Program Analysis
- Planning and Monitoring)
Obiettivi
Software quality is a paramount element of software systems, and software testing and program analysis are the core approaches to asses software systems. This course provides the core background for organizing and executing a thorough quality process. It provides technical and organizational capabilities for software quality managers and quality scientists.
Modalità di insegnamento
In presenza
Impostazione pedagogico-didattica
The course is organized according to the flip learning teaching style: students are provided with material to study and homework to check their learning. The homework is discussed in class, where students share questions, solutions, and problems. The lectures focus on the issues that emerge in the discussion of the homework. The learning of the students is assessed with assignments on the topics of the course.
Modalità d’esame
The learning of the students is assessed with weekly assignments on the topics of the course.
Programma
- Bachelor of Science in Informatics, Lezione, 2° anno