Software Quality Assurance

linfo2251  2023-2024  Louvain-la-Neuve

Software Quality Assurance
5.00 credits
30.0 h + 15.0 h
Q2
Teacher(s)
Pecheur Charles;
Language
Main themes
  • Software quality concepts
  • Program specification and correctness
  • Software testing
  • Software verification and validation
  • Software reviewing and audit
  • Software metrics and measurement
  • Software reliability
Learning outcomes

At the end of this learning unit, the student is able to :

1 Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • INFO2.3-5
  • INFO6.3
Given the learning outcomes of the "Master [120] in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • SINF1.M3
  • SINF2.3-5
  • SINF6.3
Students completing this course successfully will be able to:
  • Define software quality and describe the role of quality assurance activities in the software process. '
  • Describe how a contract can be used to specify the behavior of a program component. '
  • Describe and distinguish among the different types and levels of testing (unit, integration, systems, and 'acceptance). 
  • Apply a variety of strategies to the testing and debugging of simple programs.
  • Describe how available static and dynamic verification tools can be integrated into the software development 'environment. '
  • Apply formal specification and analysis techniques to software designs and programs with low complexity. '
  • Undertake an inspection of a medium-size code segment.
  • Compare simple software measurement techniques. '
  • Describe approaches for fault estimation. '
  • Explain the problems that exist in achieving high levels of software reliability. '
 
Content
  • Principles Of Software Quality
  • Models Of Software
  • Functional Testing
  • Structural Testing
  • More Testing
  • Test Execution
  • Program Analysis
  • Finite State Analysis
  • Software Reliability
  • Software Measurement
Teaching methods
  • Weekly lectures
  • Exercise sessions
  • Assignments (performed conjointly by two students)
The exercise sessions are closely related to the assignments and prepare students to perform their assignments.
Due to circumstances,all or part of the lectures and exercises may be streamed and recorded for distance learning.
Evaluation methods
The course includes assignments, counting for 40% of the grade, and an exam, counting for 60% of the grade.  Assignments cannot be redone for the September session; the grade remains acquired in September.
Other information
Background:
  • LINFO1104, LEPL1108 : mathematical logic
  • LINFO1121 : mastery of object-oriented programming, algorithms and data structures
  • LEPL1509 : participating in a small-size software project
Having prior or simultaneous experience with the development of a medium- to large-scale software system.
Bibliography
  • Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement.  Jeff Tian. 2005, Wiley-IEEE Computer Society Press.
  • M. Pezzè and Michal Young, Software Testing and Analysis: Process, Principles, and Techniques, Wiley, 2008.
  • J. Laski, W. Stanley.  Software Verification and Analysis.  Springer 2009.
  • N.E. Fenton and S.L. Pfleeger. Software Metrics: A Rigorous and Practical Approach. 2nd edition, Thomson Computer Press, 1996.
Teaching materials
  • Les diapositives de cours ainsi que d'autres informations pertinentes et pratiques relatives au cours seront accessibles sur Moodle.
  • Lecture slides and other relevant information pertaining to the course are available on Moodle.
Faculty or entity
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Master [120] in Biomedical Engineering

Master [120] in Computer Science and Engineering

Master [120] in Computer Science