Skip to main content Skip to navigation

CS9D2-15 Software Reliability and Testing

Department
Computer Science
Level
Taught Postgraduate Level
Module leader
Andrew Hague
Credit value
15
Module duration
1 week
Assessment
100% coursework
Study location
University of Warwick main campus, Coventry
Introductory description

Students will study techniques for testing programs and engineering reliable software solutions.

Module aims

To understand how to devise valid testing plans for the system under test, and subsequently the impacts of failures in the system. Students will also gain an insight into how monitoring and telemetry may be built into systems to provide useful diagnostics and forewarning of issues.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Testing of software is essential to ensure that it is fit for purpose. Software failures can have real impacts on an organisation, both in terms of revenue but also in more subtle ways such as reputation.

This course will cover:

  • Types of testing (e.g. unit, integration, end-to-end)
  • Characteristics of good test cases and suites
  • Metrics around testing (code coverage)
  • Consideration for testing in the software development life cycle
  • Site reliability principles
  • Monitoring and telemetry
  • Reliability metrics
Learning outcomes

By the end of the module, students should be able to:

  • Understand the role of testing in the software development life cycle (SDLC)
  • Embed testing in the requirements analysis to make them meaningful for the system under test.
  • Appreciate the potential hard impacts (revenue) and soft impacts (repetitional damage) of system failures.
  • Develop effective tests that cover a code base.
  • Understand the role that continuous integration and continuous deployment play in the SDLC
  • Understand key software reliability metrics.
Subject specific skills

Software Development
Software Testing
Technical Documentation
System Engineering

Transferable skills

Report Writing
Analytical thinking
Problem Solving

Study time

Type Required
Lectures 20 sessions of 1 hour (13%)
Practical classes 10 sessions of 1 hour (7%)
Work-based learning 30 sessions of 1 hour (20%)
Online learning (independent) 30 sessions of 1 hour (20%)
Assessment 60 hours (40%)
Total 150 hours
Private study description

No private study requirements defined for this module.

Costs

No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group A
Weighting Study time
Software Testing Project 100% 30 hours
Feedback on assessment

Written feedback will be provided by the module organiser.

There is currently no information about the courses for which this module is core or optional.