Course syllabus for Quality assurance and testing

Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding).

Overview

  • Swedish nameKvalitetssäkring och testning
  • CodeDAT321
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24111
  • Maximum participants80
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0116 Written and oral assignments 3 c
Grading: TH
3 c
0216 Examination 4.5 c
Grading: TH
4.5 c
  • 13 Jan 2023 am L
  • 05 Apr 2023 pm L
  • 17 Aug 2023 pm L

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for this course the student should have a bachelor degree in Software Engineering, Computer Science or equivalent. In addition, the student should have completed courses in:
  • programming (e.g. DAT042, DAT050, DAT055, DAT170, TDA545, TDA550 or equivalent) and
  • practical software development or software engineering project (e.g. DAT257 Agile software project management).

Aim

Software is prevalent in our society and mistakes or issues in software systems can lead to severe economic, environmental or even safety consequences. Therefore, identifying those issues and ensure quality in our software products is an imperative part of software engineering. The purpose of this course is to teach the fundamental and practical aspects of quality management and software testing in software development projects.

Learning outcomes (after completion of the course the student should 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
Skills and abilities
  • 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.

    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.

    Organisation

    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.

    Literature

    Course literature will be announced at the latest 8 weeks prior to the start of the course.

    Examination including compulsory elements

    The course is examined by an written report and an individual written examination carried out in an examination hall. The report is graded individually.

    The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.