Module Code - Title:
CS4004
-
SOFTWARE TESTING AND INSPECTION
Year Last Offered:
2024/5
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
CS4013
Rationale and Purpose of the Module:
To introduce students to software testing and inspection such that when given a specification and an implementation of a program, the student would be able to write the tests, run them, and report on the errors found.
Syllabus:
- Key Terminology: testing, debugging, error, bug, defect, quality, risk, mean-time between failures, regression testing, limitations of testing;
- Test types and their place in the software development process;
- Black-box and white-box testing;
- Program reading and comprehension;
- Refactoring code;
- Inspections, walkthroughs and desk-checking;
- Programming with assertions;
- Using a debugger for white-box testing;
- Reporting and analysing bugs: content of the problem report, analysis of a reproducible bug, making a bug reproducible;
- Test case design: characteristics of a good test, equivalence classes and boundary values;
- Expected outcomes, test case execution and regression testing;
- Requirements for white-box and black-box testing tools;
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
On successful completion of this module, students will be able to:
1. Explain the key terminology in software testing and inspection.
2. Given a program specification, design and specify black box test cases by applying techniques such as equivalence classes and boundary value analysis.
3. Given the source code of a program implementation, design and specify appropriate white box test cases by drawing a suitable control-flow graph or using other appropriate techniques.
4. Analyse a program specification or a program to identify test cases.
5. Report relevant information associated with a bug using appropriate tools.
6. Assess software quality via inspections and code walkthroughs.
Affective (Attitudes and Values)
On successful completion of this module, students will be able to:
1. Acknowledge the professional responsibility of software practitioners to produce reliable software
Psychomotor (Physical Skills)
N/A
How the Module will be Taught and what will be the Learning Experiences of the Students:
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
C. Kaner, J. Falk and H. Nguyen (1993)
Testing Computer Software (2nd edition)
, Wiley, New York
E. van Veenendaal (2002)
The Testing Practitioner
, Uitgeverij Tutein Nolthenius (UTN)
B. Beizer (1990)
Software Testing Techniques, (2nd edition)
, Van Nostrand Reinhold
D. P. Freedman and G. M. Weinberg (1990)
Handbook of Walkthroughs, Inspections, and Technical Reviews, (3rd edition)
, Dorset House, New York
Other Relevant Texts:
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Module Leader:
Faeq.Alrimawi@ul.ie