Quality Assurance and Testing
Mjukvarukvalitetsäkring och testning
About the Syllabus
Grading scale
Course modules
Position
The course is compulsory within Software Engineering and Management, Master's Programme (N2SOF).
The course can be part of the following programmes:
- Computer Science, Master's Programme (N2COS)
- Game Design & Technology, Master's Programme (N2GDT)
The course is a also a single-subject course at Gothenburg University.
Main field of study with advanced study
Entry requirements
To be eligible for the course, the student should have a bachelor´s degree in Software Engineering, Computer Science, Computer Engineering, Information Technology, Information Systems, or equivalent. In addition, the student should have completed courses in:
- Programming (e.g. DIT042 Object-oriented Programming, DIT012 Imperative Programming with Basic Object-orientation, DIT143 Functional Programming or equivalent) and
- Practical software development or software engineering project (e.g. DIT212 Objectoriented programming project, or DIT543 Software Engineering Project).
Applicants must prove knowledge of English: English 6/English level 2 or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
Content
The course addresses the following content:
- Definitions of software quality assurance, quality attributes, software metrics and models in quality management, internal quality and external quality;
- Definitions and differences between software verification and validation approaches;
- Definitions and practical application of software testing techniques and approaches related to test planning, design, execution and analysis.
The course prepares the students to work as quality or test engineers (or managers) in software development organizations.
Objectives
After completion of the course, the student is expected to be able to:
Knowledge and understanding
- Explain fundamental concepts in software quality (e.g., internal / external quality, as well as quality in use) and quality assurance models
- Describe how sustainability can be seen as a quality attribute in software products
- Describe and explain definitions and activities related to software testing, such as faults, failures levels of testing and test automation
- Explain current research trends within software quality and testing (e.g., test flakiness, search-based software testing)
- Explain the distinction between software verification and software validation
- Name and describe different testing techniques and approaches, such as mutation testing, automated test prioritisation, test case generation, exploratory testing, etc
- Explain the concept of continuous integration and relate them to software development processes
Competence and skills
- Define metrics required to monitor and analyse different quality attributes of software products
- Measure quality of software products based on the data from development environments and tools
- Explain and implement test activities in connection to different levels of testing (e.g., system, integration or unit level tests)
- Define and implement a test plan or a test scope based on quality goals
- Design appropriate and meaningful tests
- Apply automated testing technologies on realistic examples using relevant tools (e.g., automated regression testing on continuous integration pipelines)
- Use automated measurement systems for measuring quality of software products based on the data from the modern development tools
- Use modern tools for visualisation of trends in software quality
Judgement and approach
- Assess the importance of software quality in relation to time and costs in software development projects
- Assess the quality of sets of tests using software artefacts (e.g., execution logs, test scripts, history of test executions)
- Relate software quality to societal aspects of software development
Sustainability labelling
Form of teaching
The course consists of lectures where theory is explained and practical assignments that focus on the use of testing tools and approaches to enable cost-effective testing.
Language of instruction: English
Examination formats
The course is examined by an written report and an individual written examination carried out in an examination hall. The report is graded individually.
If a student who has been failed twice for the same examination element wishes to change examiner before the next examination session, such a request is to be granted unless there are specific reasons to the contrary (Chapter 6 Section 22 HF).
If a student has received a certificate of disability study support from the University of Gothenburg with a recommendation of adapted examination and/or adapted forms of assessment, an examiner may decide, if this is consistent with the course’s intended learning outcomes and provided that no unreasonable resources would be needed, to grant the student adapted examination and/or adapted forms of assessment.
If a course has been discontinued or undergone major changes, the student must be offered at least two examination sessions in addition to ordinary examination sessions. These sessions are to be spread over a period of at least one year but no more than two years after the course has been discontinued/changed. The same applies to placement and internship (VFU) except that this is restricted to only one further examination session.
If a student has been notified that they fulfil the requirements for being a student at Riksidrottsuniversitetet (RIU student), to combine elite sports activities with studies, the examiner is entitled to decide on adaptation of examinations if this is done in accordance with the Local rules regarding RIU students at the University of Gothenburg.
Grades
Sub-courses
- Report, 3 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
The sub-course is a report based on statistical analysis to evaluate trade-offs between different techniques in software quality. The purpose of the sub-course is to assess students practical skills taught during the course.
- Written hall examamination, 4.5 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
The sub-course is an individual, written hall exam with both theoretical and practical questions. The purpose of the questions is to assess the students knowledge of definitions and relevant research within the field.
The grading scale comprises: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U).
To pass the course, all mandatory components must be passed. To earn a higher grade than Pass, a higher weighted average from the grades of the components is required.
Course evaluation
The course is evaluated through meetings both during and after the course between teachers and student representatives. Further, an anonymous questionnaire is used to ensure written information. The outcome of the evaluations serves to improve the course by indication which parts could be added, improved, changed or removed.
Other regulations
The course is a joint course together with Chalmers.
The course replaces the course DIT847, 7.5 credits. The course cannot be included in a degree which contains DIT847. Neither can the course be included in a degree which is based on another degree in which the course DIT847 is included.