Study-Unit Description

Study-Unit Description


TITLE Fundamentals of Software Testing

LEVEL 03 - Years 2, 3, 4 in Modular Undergraduate Course


DEPARTMENT Computer Science

DESCRIPTION Testing plays a vital part in any scientific or engineering discipline. Civil engineers are able to guarantee that a bridge will withstand certain traffic and weather forces whilst chemical engineers are able to guarantee that certain chemicals will not destabilise each other if mixed together.

This study-unit will introduce students to the concepts of software testing, their use in industry and problems being addressed by academia. Although there is a substantial amount of theory involved, the study-unit aims to provide a heavy practical component whereby students will be wholly assessed on the application of theory and skills to practical problems. The study-unit is spread over two semesters so as to allow sufficient time for absorption and practical application of acquired knowledge and skills.

Throughout this period, student exposure will include (but not be limited to) fundamental testing concepts, test design techniques, testing processes, unit/integration/system testing, model based testing, web applications testing and non-functional testing.

Study-unit Aims:

At a high level, the study-unit aims to:

- Give students an overview of typical testing processes in the context of different development life cycles;
- Provide students with skills in test design, selection and execution;
- Cover the concepts of unit, integration and system testing in substantial detail;
- Introduce students to model based testing;
- Introduce students to web applications testing;
- Introduce students to non-functional testing.

Learning Outcomes:

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Recall and discuss the fundamental principles of software testing in order to frame the role, benefits and limitations of software within software engineering;
- Compare and contrast the various levels of testing whilst relating them to test design techniques, team roles and the types of problems they aim to uncover;
- Outline a number of black box test design techniques so as to be able to recommend (and justify) the use of particular techniques depending on the situation at hand;
- Discuss the testing process in the context of different development life cycles and explain test management and measurement concepts.

2. Skills:
By the end of the study-unit the student will be able to:

- Select and make use of a selection of black box and white box testing techniques to ensure sufficient test coverage of control and data aspects of an application;
- Design and implement a unit test suite and analyse its effectiveness through code coverage analysis;
- Given a system, applying appropriate formal techniques to model aspects of system behaviour, and use these models to extract effective test cases;
- Design and implement an automated web application system testing suite;
- Design and implement discuss a basic performance test.

Main Text/s and any supplementary readings:

• Foundations of Software Testing, Mathur Aditya P. ISBN: 978-81-317-1660-1, Addison-Wesley Professional, 2008

Supplementary Texts:

• The Art of Software Testing, 2nd Edition, Glenford J. Myers, Corey Sandler (Revised by), Tom Badgett (Revised by), Todd M. Thomas (Revised by), ISBN: 978-0-471-46912-4., Wiley, 2nd Edition, 2004
• xUnit Test Patterns: Refactoring Test Code, Gerard Meszaros, ISBN: 978-0131495050, Addison-Wesley, 2007

STUDY-UNIT TYPE Lecture and Tutorial

Assessment Component/s Assessment Due Resit Availability Weighting
Assignment SEM1 Yes 100%

LECTURER/S Christian Colombo
Mark Micallef

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2020/1. It may be subject to change in subsequent years.