6 points, SCA Band 2, 0.125 EFTSL
Postgraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
- First semester 2017 (Day)
This unit covers the core software engineering disciplines concerned with managing and delivering quality software. Topics include processes, tools and techniques for system validation and verification, including major commercial tools used in industry. It shows how to detect, analyse and control defects in complex software systems. Inspection and testing methodologies, analysis of artefacts, robustness, quality assurance, and advanced software validation and verification methods are covered.
On successful completion of this unit, students should be able to:
- explain the importance of quality assurance in software engineering;
- articulate the role of validation and verification methods in the system development life cycle; key issues in software testing, testing levels and testing techniques;
- categorise and apply selection and combination of techniques and test related measures;
- measure, evaluate and analyse software under test using different quality and complexity metrics;
- develop adequate test cases to help detect software system defects using industry-strength IDEs, unit testing frameworks such as JUnit, code coverage tools such as Cobertura, and other similar products;
- implement continuous integration (CI) at unit, integration & system testing level using a CI server such as Jenkins to automatically run regression test suites on the system under test.
In-semester assessment: 50%; Examination (2 hours): 50%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hours of lectures
- One 2-hour tutorial
- Additional requirements (all students):
- A minimum of 8 hours independent study per week for completing tutorial and project work, private study and revision.
See also Unit timetable information
This unit applies to the following area(s) of study
Advanced programming in Java; Object-oriented software engineering: UML notation, method and SE process; Basic discrete mathematics: sets, relations, functions, graphs; Project management.