Course syllabus
Programvarutestning
Software Testing
ETSN20, 7,5 credits, A (Second Cycle)
Valid for: 2023/24
Faculty: Faculty of Engineering, LTH
Decided by: PLED C/D
Date of Decision: 2023-04-18
General Information
Elective for: C4, D4-se, E4-pv, F4, F4-pv, I4-pvs
Language of instruction: The course will be given in English
Aim
The objective of the course is to give basic and advanced
knowledge and skills within testing and reviews for large-scale
development of systems completely or partly based on software. The
course gives practical skills in methods and techniques for
software testing. Further, the course aims to train the student in
searching and assessing knowledge at the research front in software
testing.
Learning outcomes
Knowledge and understanding
For a passing grade the student must
- be able to define basic concepts and principles within software
testing
- give an account of the most common techniques for software
testing and reviews
- be able to describe the relation between the software testing
process and other processes in the product lifecycle, as well as
organizational issues
- be able to describe the relation between verification and the
requirements of a software system in terms of functionality and
quality
- be able to report an in-depth area of own choise, and
demonstrate theoretical depth or practical application, related to
the state-of-art of the area
Competences and skills
For a passing grade the student must
- be able to motivate the choise of test strategy and
organization for different types of software systems
- be able to analyse and create test cases for which box and
black box testing
- be able to perform a review
- be able to apply a systematic approach for software
testing
Judgement and approach
For a passing grade the student must
- understand the complexity of the task to perform tests and
reviews of a software system and be aware of the costs and the
impact of different testing activities during the development of a
software product
- be able to value and synthesize the information given in
published scientific articles about software testing
Contents
Verification and validation activities at different levels in
software development
- planning, design, execution/reporting, and analysis
Different types of verification and validation and trade-offs
between them
- Static – dynamic verification (test – review)
- Interface based – structure based verification (black-box –
white-box)
- Exploratory – Scripted
- Manual – automated
- Functional tests – quality tests
- Unit tests – Integration/regression/system tests
- Developer tests – Acceptance tests
Testing techniques
- Equivalence class partitioning
- Boundary value analysis
- Coverage-based testing
- Combinatorial testing
Test management
- Data collection during reviews and testing: reliability,
coverage
- Defect management
- Test organizations
- Social apsects in reviews and tests
Lectures give a theoretical overview and help for private
studies.
Lab sessions give practical training in applying different test
techniques and relate theory to practice through discussions of
problems and solutions.
Projects give practical skills and training in different areas of
software testing by literature search, analysis and
presentation.
Examination details
Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: Examination is based on both individual and group assessment. Project work is assessed in groups, lab sessions are assessed in pairs, and the written exam is assessed individually. For final mark the student must pass lab sessions, project and written exam. The final mark is a combination of written exam marking and project marking.
The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.
Parts
Code: 0119. Name: Software Testing.
Credits: 4,5. Grading scale: TH. Assessment: Written examination. Contents: Written exam
Code: 0219. Name: Project.
Credits: 3. Grading scale: UG. Assessment: Project in teams. Contents: Project in teams
Code: 0319. Name: Labs.
Credits: 0. Grading scale: UG.
Admission
Admission requirements:
- ETSA01 Software Engineering Process - Methodology
OR
ETSA05 Software Engineering Process - Soft Issues
OR
EDAN80 Coachning of Programming Teams
OR
ETSA02 Software Engineering - Methodology
OR
ETSF25 The Business of Software
OR
ETSN05 Software Development for Large Systems, performed course tasks
OR
ADAG05 Agile Software Development - Project
OR
ETSA03 Software Engineering - Methodology
- EDA016 Programming, First Course or EDA017 Programming, First Course or EDAA10 Computer Programming in Java or EDAA20 Programming and Databases or EDAA45 Introduction to Programming or EDAA50 Programming, First Course or EDAA55 Programming, First Course or EDAA65 Programming, First Course
The number of participants is limited to: No
The course overlaps following course/s: ETS200
Reading list
- K Naik and P Tripathy: Software Testing and Quality Assurance: Theory and Practice. Wiley, 2008, ISBN: 978-0-471-78911-6.
- Additional literature assigned by the department.
Contact and other information
Course coordinator: Prof. Per Runeson, Per.Runeson@cs.lth.se
Course homepage: http://cs.lth.se/etsn20
Further information: Compulsory items: project, lab sessions, presentations, reports.