SOFTWARE QUALITY ASSURANCE - 2018/9

Module code: COM2036

Module Overview

In the traditional project management triangle, the vertices of that triangle are usually labelled scope, time and money with quality being in the centre. As technical progress continues to advance at a rapid pace, time to market is usually critical for most companies, including software companies. Due to the time constraint, quality is usually one of the first casualties of the software development process as it tends to happen towards the end of the development process leaving precious little time to assure the quality of the deliverables.

This module puts forward the view that quality is something that mustn’t be marginalised and needs to be embedded throughout the software development cycle. Rather than fearing quality control, software developers and project managers responsible for the delivery of a software product should embrace it and ensure that at each stage of the life cycle numerous quality checks are used to ensure an overall “fit for purpose” solution. The main mantra is that finding and fixing bugs early is much cheaper than doing it later.

Module provider

Computer Science

Module Leader

WESEMEYER S Dr (Computer Sci)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 5

JACs code:

Module cap (Maximum number of students): N/A

Module Availability

Semester 2

Prerequisites / Co-requisites

COM1027 Programming Fundamentals and COM1028 Software Engineering COM2027-Software Engineering Project is a co-requisite

Module content

Indicative content includes:



The need for software quality


Unit, System, Integration, Functional, Non-Functional, Usabiliy, Acceptance Testing


Frameworks and standards (ISO9001, Six Sigma, CMMI)


Test plans and testing artefacts


Bugtrackers (BugZilla, Trac, Jira)


Continuous Integration:CruiseControl, Jenkins, Apache Continuum


Software Quality and software development methodologies


Assessment pattern

Assessment type Unit of assessment Weighting
Oral exam or presentation Group presentation on the software quality assurance frameworks/standards 20
Coursework Individual project: Create a test environment 40
Coursework Individual report: Develop a test plan and testing documentation 40

Alternative Assessment

A short report(1000 words) comparing two different software quality assurance frameworks/standards Qualifying Condition(s) A weighted aggregate mark of 40% is required to pass the module.

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate



Their understanding of the pros and cons of using a software quality assurance framework/standard like ISO9001, CMMI, Six Sigma


Their ability to set up, configure and use a bugtracker together with a continuous integration and testing package


Their ability to produce a test plan and various testing artefacts for a small-scale application



 

Thus, the summative assessment for this module consists of:



A group presentation describing a software quality assurance framework/standard highlighting its pros and cons as well as its applicability to various project sizes (during week 4 and 5). This addresses LO1 and LO2.





An individual test environment that consist of a bugtracker and continuous build environment (for week 8). This addresses LO1 and LO3.


An individual report providing a test plan and testing documentation for a small-scale project together with a justified recommendation of the necessary software tools to be used (for week 10). This addresses LO1 and LO4.

 

Formative assessment and feedback:

Individual formative feedback is provided as part of the first two summative assessments as well as in the lab sessions and during lectures.

 


Module aims

  • Describe the role of quality as part of a “fit-for-purpose” solution
  • Show the importance of embedding software quality throughout the software development lifecycle
  • Introduce different software tools to help with quality
  • Investigate the challenges that different software development methodolgies pose with respect to software quality assurance
  • Review different Software Quality Assurance standards and associated certifications, eg ISO 9001, Six Sigma, CMMI

Learning outcomes

Attributes Developed
001 Discuss the benefits of embedding software quality throughout the software development process KC
002 Evaluate the pros and cons of a number of software quality assurance frameworks & standards like ISO9001, Six Sigma, CMMI KCP
003 Demonstrate the ability to set up, configure and use a bugtracker together with a continuous integration and testing package PT
004 Produce the necessary testing plan and testing artefacts for a small-scale application KCPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Overall student workload

Methods of Teaching / Learning

The learning and teaching strategy is designed to:



Help students understand the importance of software quality assurance as part of the overall software development lifecycle


Provide students with the opportunity to install, configure and use a number of tools used in software quality assurance


Provide the students with sample test plans and testing documents that they can use in other modules (eg COM2027)


Encourage students to research software quality assurance frameworks and standards



 

The learning and teaching methods include:



Lectures (11 weeks @ 2h) with class discussions to introduce the theoretical background


Labs (9 weeks @ 2h) to put the theory into practice


Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

Reading list for SOFTWARE QUALITY ASSURANCE : http://aspire.surrey.ac.uk/modules/com2036

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Software Development for Business BSc (Hons) 2 Compulsory A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2018/9 academic year.