Departamento de Informática (UM)

Página de Unidade Curricular

DesignaçãoCódigoCursoRegimeRegente

Análise e Teste de Software

[J306N7]

Licenciatura em Engenharia Informática [ENGINF]

S2

João Alexandre Baptista Vieira Saraiva

Objetivos

- Perceber o conceito de Teste de Software: black-box , white-box e gray box testing
- Compreender o conceito de adequação dos casos de teste e sua cobertura.
- Compreender o conceito de geração automática de casos de teste.
- Compreeder o conceito de teste de propriedade.
- Compreedender o conceito de análise de teste baseado em mutações
- Compreender o conceito localização de falhas.
- Compreender o conceito de reparação automática de programas
- Utilizar ferramentas para testar software.

Programa

-- Teste Caixa Preta, Branca e Cinzenta.
-- Níveis de Teste,
-- Testes Unitários, Integração, Regressão, Beta e Aceitação.
-- Cobertura e Adequação dos Testes,
-- Cobertura de Caminhos, Isntruções e Condições.
-- Geração Automática de Casos de Teste.
-- Teste de Propriedades.
-- Teste Baseado em Modelos.
-- Teste Baseado em Mutações,
-- Teste de Software como um jogo.
-- Teste para aplicações Mobile e Web.
-- Localização de Falhas,
-- Localização de falhas baseada na cobertura.
-- Reparação Automática de Programas.

Bibliografia

1- Introduction to Software Testing, J. Offutt and P. Amman. Cambridge University Press, 2008. (ISBN: 978-0521880381)
2- Foundations of Software Testing, Aditya P. Mathur. Addison-Wesley 2008. (ISBN: 978-8131794760)
3- Practical Model-Based Testing: A Tools Approach, M. Utting and B. Legeard. Morgan Kaufmann, 2006. (ISBN: 978-0123725011)
4- Automated Program Repair, Claire Le Goues, Michael Pradel, Abhik Roychoudhury. Communications of the ACM, Vol. 62, No. 12, Pages 56-65, December 2019.

Resultados da aprendizagem

A metodologia de ensino da UC em Teste de Software tem duas componentes: uma onde os conceitos e técnicas são apresentadas em detalhe, e uma outra componente mais laboratorial onde esses conceitos são consolidados através da resolução de exercícios na própria aula. Alguns destes exercícios serão ainda resolvidos utilizando ferramentas de software que dão suporte a essas técnicas. De modo aos alunos adquirirem experiência prática de Teste de Software, terão ainda de realizar um projeto em grupo ao longo de todos o semestre.
Esta vertente mais experimental da UC contribuirá também para uma consolidação dos conteúdos programáticos leccionados.

Método de avaliação

Metodologia de avaliação – A avaliação terá em conta duas componentes de avaliação: um teste individual e um projeto em grupo. A nota final terá em conta estas duas componentes bem como uma avaliação contínua ao longo das aulas onde a motivação e interesse do aluno serão considerados na avaliação. O aluno está aprovado a esta disciplina quando a média das várias componentes atingir a nota 10.

Funcionamento

Turno: T 1; Docente: João Alexandre Baptista Vieira Saraiva; Dep.: DI; Horas: 30.
Turno: PL 1; Docente: José Nuno Castro Macedo; Dep.: DI; Horas: 30.

[ Outras UCs do Departamento ]