Verificação e Validação de Software
Ano Letivo: 2015/16
Departamento: Informática
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
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