Saltar para:
Logótipo
Você está em: Início > MESW0004

Teste, Verificação e Validação de Software

Código: MESW0004     Sigla: TVVS

Áreas Científicas
Classificação Área Científica
CNAEF Ciências informáticas

Ocorrência: 2024/2025 - 1S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle.up.pt/course/view.php?id=5157
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado em Engenharia de Software

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
MESW 51 Plano Oficial a partir do ano letivo 2016/17 1 - 6 42 162

Docência - Responsabilidades

Docente Responsabilidade
Ana Cristina Ramada Paiva Regente

Docência - Horas

Teórico-Práticas: 3,00
Tipo Docente Turmas Horas
Teórico-Práticas Totais 2 6,00
Ana Cristina Ramada Paiva 6,00

Língua de trabalho

Inglês

Objetivos

O objetivo desta unidade curricular é: a familiarização com a terminologia usada em testes de software; a sensibilização com as questões relacionadas com a qualidade de software; e exploração e prática de diferentes técnicas de Verificação e Validação (V&V) necessárias para a construção de sistemas de software de qualidade.

Resultados de aprendizagem e competências

No final da Unidade curricular os estudantes devem ser capazes de projetar e executar um plano de Verificação e Validação (V&V). Mais especificamente, espera-se que os estudantes sejam capazes de:

- Planear uma estratégia de Verificação e Validação.

- Selecionar as melhores técnicas e ferramentas de teste de software para um determinado contexto.

- Projetar e desenvolver testes em diferentes níveis (e.g., unidade, integração, sistema e aceitação).

- Testar situações excepcionais (e.g., "boundary value analysis").

- Refletir sobre as limitações e qualidade dos testes desenvolvidos.

- Usar métricas para avaliar a qualidade dos testes (e.g., cobertura de instruções).

- Escrever código de teste sustentável, evitando problemas conhecidos (e.g., flakiness, ilegível, dependente, fat testes, etc.).

Modo de trabalho

Presencial

Programa

1. Introdução à Verificação e Validação de Software
2. Teste estático
3. Partição em classes de equivalência / "Category Partition"
4. Análise de valores fronteira
5. Teste Baseado em Modelos
6. "Structural Testing (Line e Decision coverage)"
7. "Structural Testing (Path coverage) e Logical Coverage (Condition coverage)"
8. "Logical Coverage (Modified Condition/Decision Coverage (MC/DC))"
9. Teste de mutação
10. TDD, BDD, PBT
11. Geração automática de testes
12. Teste de integração, teste de sistema, teste de aceitação, e teste de regressão
13. Gestão e documentação de testes

Bibliografia Obrigatória

Aditya P. Mathur; Foundations of Software Testing, 2013. ISBN: 9789332517660
Maurício Aniche; Effective software testing, 2022. ISBN: 978-1-633-43993-1
Paul Ammann; Introduction to software testing. ISBN: 978-1-107-17201-2
Mark Utting; Practical Model-Based Testing, 2007. ISBN: 978-0-12-372501-1
Paul C. Jorgensen; Software Testing A Craftsman's Approach, 2013. ISBN: 978-1-466-56069-7

Bibliografia Complementar

Dorothy Graham, Rex Black, Erik van Veenendaal; Foundations of Software Testing: ISTQB Certification, 2020. ISBN: 978-1-473-76479-8

Métodos de ensino e atividades de aprendizagem

Esta unidade curricular promove o contínuo envolvimento dos estudantes através do estudo, discussão e aplicação prática dos temas apresentados. De forma a contribuir para uma aprendizagem contínua e autónoma, os estudantes realizam pequenos trabalhos ao longo do semestre. Para além destes trabalhos, os estudantes têm que realizar um projeto onde aplicam os conceitos apresentados, em particular, diferentes estratégias e ferramentas de V&V.

As aulas teóricas são usadas para exposição formal dos conceitos e aspetos fundamentais de V&V. Sempre que possível, os conceitos teóricos são acompanhados da apresentação e discussão de casos práticos reais.

As aulas teórico-práticas são usadas para realizar pequenos exercícios, aplicar técnicas de V&V, usar/experimentar diversas ferramentas de teste e para apoiar a realização do projeto prático.

Palavras Chave

Ciências Tecnológicas > Tecnologia > Tecnologia de computadores > Tecnologia de software
Ciências Tecnológicas > Engenharia > Engenharia de computadores

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 60,00
Trabalho prático ou de projeto 40,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 109,00
Frequência das aulas 39,00
Trabalho laboratorial 20,00
Total: 168,00

Obtenção de frequência

Para concluir com sucesso esta unidade curricular, os estudantes devem obter:

  • nota mínima de 47,5% no projecto (P)
  • nota mínima de 47,5% no exame final (E)

Fórmula de cálculo da classificação final

A classificação final é calculada da seguinte forma:

  •  P x 40% + E x 60%

P: projeto

E: exame final

Avaliação especial (TE, DA, ...)

Todas as componentes de avaliação são obrigatórias para todos os estudantes, mesmo para aqueles dispensados de frequência às aulas.

Melhoria de classificação

- As classificações obtidas no trabalho prático / projeto podem ser melhoradas na edição seguinte da unidade curricular.
- A classificação do exame pode ser melhorada em exame de recurso.
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2024-10-19 às 09:42:53 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias