Go to:
Logótipo
You are here: Start > M.EIC045

Software Testing, Verification and Validation

Code: M.EIC045     Acronym: TVVS

Keywords
Classification Keyword
OFICIAL Software Engineering

Instance: 2024/2025 - 1S Ícone do Moodle

Active? Yes
Web Page: https://moodle2425.up.pt/course/view.php?id=5057
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EIC 48 Syllabus 2 - 6 39 162

Teaching Staff - Responsibilities

Teacher Responsibility
José Carlos Medeiros de Campos

Teaching - Hours

Recitations: 3,00
Type Teacher Classes Hour
Recitations Totals 2 6,00
José Carlos Medeiros de Campos 6,00

Teaching language

English

Objectives

The objective of this curricular unit is: familiarization with the terminology used in software testing; raising awareness of issues related to software quality; and exploring and practicing different Verification and Validation (V&V) techniques necessary for building quality software systems.

Learning outcomes and competences

At the end of the course, students should be able to design and execute a Verification and Validation (V&V) plan. More specifically, students are expected to be able to:
- Plan a Verification and Validation strategy.
- Select the best software testing techniques and tools for a given context.
- Design and develop tests at different levels (e.g., unit, integration, system and acceptance).
- Test exceptional situations (e.g., boundary value analysis).
- Reflect on the limitations and quality of the tests developed.
- Use metrics to assess test quality (e.g., instruction coverage).
- Write maintainable test code, avoiding known issues (e.g., flakiness, unreadable, dependent, fat testing, etc.).

Working method

Presencial

Program

1. Introduction to Software Verification and Software Validation
2. Equivalence Class Partitioning / Category Partition and Boundary Value Analysis
3. Model-based Testing
4. Structural Testing (Line and Decision coverage) and Logical Coverage (Condition coverage and Modified Condition/Decision Coverage (MC/DC))
5. Mutation Testing
6. Test-Driven Development (TDD), Behavior-Driven Development (BDD) Testing, e Property-Based Testing (PBT)
7. Automatic test case generation with random, fuzzing, and search-based approaches
8. Automatic test case generation with artificial intelligence
9. Integration Testing, System Testing, Acceptance Testing, Performance Testing, Security Testing, and Regression Testing
10. Test management and documentation
11. Static Testing

Mandatory literature

Maurício Aniche; Effective software testing, 2022. ISBN: 978-1-633-43993-1
Paul Ammann; Introduction to software testing, 2016. ISBN: 978-1-107-17201-2
Paul C. Jorgensen; Software Testing A Craftsman's Approach, 2013. ISBN: 978-1-466-56069-7
Dorothy Graham, Rex Black, Erik van Veenendaal; Foundations of Software Testing: ISTQB Certification, 2020. ISBN: 978-1-473-76479-8
Ilene Burnstein; Practical Software Testing, 2003. ISBN: 978-0-387-95131-7
Gordon Fraser and José Miguel Rojas; Software Testing, 2019. ISBN: 978-3-030-00262-6
Mark Utting; Practical Model-Based Testing, 2007. ISBN: 978-0-12-372501-1
Tomek Kaczanowski; Bad Tests, Good Tests, 2013. ISBN: 978-8-393-84713-6

Complementary Bibliography

Kent Beck; Test Driven Development: By Example, 2002. ISBN: 978-0-321-14653-3
Petar Tahchiev, Felipe Leme, Vincent Massol, and Gary Gregory; JUnit 4.8 In Action, 2010. ISBN: 978-1-935-18202-3
Tomek Kaczanowski; Practical Unit Testing with JUnit and Mockito, 2019. ISBN: 978-8-393-48939-8
Chak Shun Yu, Christoph Treude, Maurício Aniche; Comprehending Test Code: An Empirical Study, 2019. ISBN: 978-1-7281-3095-8
Michal Young and Mauro Pezzè; Software testing and analysis: process, principles, and techniques, 2008. ISBN: 978-0-471-45593-6

Teaching methods and learning activities

This curricular unit promotes the continuous involvement of students through the study, discussion and practical application of the topics presented. In order to contribute to continuous and autonomous learning, students carry out assignments throughout the semester. In addition to these assignments, students have to carry out a project where they apply the concepts presented, in particular, different V&V strategies and tools.

Theoretical classes are used to formally explain the concepts and fundamental aspects of V&V. Whenever possible, theoretical concepts are accompanied by the presentation and discussion of real practical cases.

Theoretical-practical classes are used to carry out exercises, apply V&V techniques, use/experiment various testing tools and to support the implementation of the final project.

keywords

Technological sciences > Engineering > Computer engineering
Technological sciences > Technology > Computer technology > Software technology

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 60,00
Trabalho prático ou de projeto 40,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 100,00
Frequência das aulas 39,00
Trabalho laboratorial 23,00
Total: 162,00

Eligibility for exams

To successfully complete this curricular unit, students must obtain:
- minimum grade of 47.5% in the project (P)
- minimum grade of 47.5% in the final exam (E)

Calculation formula of final grade

The final ranking is calculated as follows: P x 40% + E x 60%

P: project
E: final exam

Special assessment (TE, DA, ...)

Students with a special status (e.g., part-time, athletic, etc) which are allowed to not attend classes, must complete all components successfully as any other regular student.

Classification improvement

- The classification of the final project can be improved in the next edition of the course.
- The classification of the final exam can be improved in the appeal exam.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-14 at 03:30:12 | Acceptable Use Policy | Data Protection Policy | Complaint Portal