Page 1 of 1

Module Code - Title:

CS4004 - SOFTWARE TESTING AND INSPECTION

Year Last Offered:

2024/5

Hours Per Week:

Lecture

2

Lab

1

Tutorial

1

Other

0

Private

6

Credits

6

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