Oferta Formativa - Sinopse

Verificação e Validação de Software

Código: 425159
Ano Letivo: 2015/16
Departamento: Informática
ECTS: 6
Carga horária: T: 2:00 h; TP: 1:30 h; OT: 2:00 h;
Área Científica: Informática; 

Objetivos da Unidade Curricular

Saber conceber, analisar, e executar planos de verificação e validação (VV) de um projecto de software, incluindo o exame das condicionantes do projecto, o planeamento de uma estratégia de VV que inclua uma selecção de diferentes técnicas, o acompanhamento do progresso da actividade de VV, a avaliação da eficácia das técnicas utilizadas e do plano de VV em geral.


Pré-requisitos

  • Desenvolvimento Centrado em Objetos (26341)
  • Introdução à Programação (26722)
  • Programação Por Objetos (425221)

Conteúdos

- Fundamentos de testes de software.  Defeitos de software, testes e
cobertura de testes. Engenharia de testes e sua integração no processo de desenvolvimento de software.
- Metodologias: testes baseados em cobertura por grafos, lógica, partição do espaço de input e orientados à sintaxe.
- Aplicação a artefactos de software.  Testes unitários, de integração, e de regressão.
Uso de ferramentas de software para desenho, codificação e execução de testes.
 

Descrição detalhada dos conteúdos programáticos

Componente Teórica

1. Introdução ao teste de software: atividades de um engenheiro de testes; limitações ao teste de software; terminologia usada no teste de software; critérios de cobertura para testes.

2. Testes baseados em grafos: definições, critérios, cobertura por dependências estruturais e do fluxo de dados.

3. Testes baseadas em lógica: critérios de cobertura de expressões lógicas, lógica estrutural de programas, cobertura por cláusulas activas. 

4. Partição do espaço de input: modelação, critérios e restrições.

5. Testes baseados em sintaxe: cobertura BNF e testes de mutação.

6. Testes de integração.

 

Componente Teórica-Prática

Aplicação de conceitos teóricos a aplicações de software concretas, em aulas práticas e projectos de software (ver também componente prática).

 

Componente Prática

Uso de ferramentas de teste: JUnit, TestNG, Mockito, PESTT, HtmlUnit, Sellenium.

 

Bibliografia

Recomendada

"Introduction to Software Testing". Paul Ammann and Jeff Offutt, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008. 

 

Outros elementos de estudo

"Practical Software Testing". Ilene Burnstein. Springer 2003. ISBN: 0-387-95131-8

"JUnit in Action". Petar Tahchiev, Felipe Leme, Vincent Massol, and Gary Gregory. Manning 2010. ISBN: 978-1-935-18202-3.

"Pragmatic Unit Testing In Java with JUnit". Andrew Hunt and David Thomas. The Pragmatic Bookshelf, 2004. ISBN 0-9745140-1-2.

"Next Generation Java Testing TestNG and Advanced Concepts". Cédric Beust and Hani Suleiman. Pearson Education, 2008. ISBN 978-0-321-50310-7.

 

Métodos de Ensino

Aulas teóricas de exposição da matéria, aulas teórico-práticas de resolução de exercícios, projectos de software a executar pelos alunos.

 

Métodos de Avaliação

Três trabalhos práticos: 7,5 valores.
Exame: 12,5 valores

 

Língua de ensino

Português ou Inglês