| Designação | Código | Curso | Regime | Regente |
|---|
Análise e Teste de Software | 17021 [J306N7] | Licenciatura em Engenharia Informática [ENGINF] | S2 | João Alexandre Baptista Vieira Saraiva |
Objetivos | Os conteúdos programáticos incluídos nesta UC seguem diretamente a bibliografia recomendada que é a referência na área de Teste de Software. Cada um dos conteúdos aborda uma área específica de Teste de Software e está diretamente relacionado com cada um dos objetivos de aprendizagem. A apresentação dos conteúdos será ainda apoiada por ferramentas de software que implementam os conceitos apresentados e que os alunos terão de utilizar no desenvolvimento de um projeto prático. |
Programa | 1. Teste Caixa Preta, Branca e Cinzenta. 2. Níveis de Teste, 3. Testes Unitários, Integração, Regressão, Beta e Aceitação. 4. Cobertura e Adequação dos Testes, 5. Cobertura de Caminhos, Instruções e Condições. 6. Geração Automática de Casos de Teste. 7. Teste de Propriedades. 8. Teste Baseado em Modelos. 9. Teste Baseado em Mutações, 10. Teste de Software como um jogo. 11. Teste para aplicações Mobile e Web. 12. Localização de Falhas, 13. Localização de falhas baseada na cobertura. 14. Reparação Automática de Programas. |
Bibliografia | Introduction to Software Testing, J. Offutt and P. Amman. Cambridge University Press, 2008. (ISBN: 978-0521880381). Foundations of Software Testing, Aditya P. Mathur. Addison-Wesley 2008. (ISBN: 978-8131794760). Practical Model-Based Testing: A Tools Approach, M. Utting and B. Legeard. Morgan Kaufmann, 2006. (ISBN: 978-0123725011). 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 | - 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. - Compreender o conceito de teste de propriedade. - Compreender 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. |
Método 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: Sofia Guilherme Rodrigues Santos; Dep.: DI; Horas: 30. |