CS9D2-15 Software Reliability and Testing
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 | Eligible for self-certification | |
---|---|---|---|
Software Testing Project | 100% | 30 hours | No |
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.