CODE | CPS3230 | ||||||||||||
TITLE | Fundamentals of Software Testing | ||||||||||||
UM LEVEL | 03 - Years 2, 3, 4 in Modular Undergraduate Course | ||||||||||||
MQF LEVEL | 6 | ||||||||||||
ECTS CREDITS | 5 | ||||||||||||
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. 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 runtime verification. 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 runtime verification. 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 basic runtime monitoring. 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: - Software Testing and Analysis: Process, Principles and Techniques, M. Pezze, M. Young, John Wiley & Sons, 2008. - Unit Test Patterns: Refactoring Test Code, Gerard Meszaros, ISBN: 978-0131495050, Addison-Wesley, 2007. |
||||||||||||
STUDY-UNIT TYPE | Lecture and Tutorial | ||||||||||||
METHOD OF ASSESSMENT |
|
||||||||||||
LECTURER/S | Robert Abela (Co-ord.) 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 2024/5. It may be subject to change in subsequent years. |