Disciplina

Área

Área Científica de Metodologia e Tecnologias da Programação > Engenharia de Software

Activa nos planos curriculares

MMA 2006 > MMA 2006 > 2º Ciclo > Perfis > Matematica da Computação > Metodologia e Tecnologia da Programação > Opções - Mtp > Teste e Validação de Software

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Engenharia de Software > Teste e Validação de Software

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Engenharia de Software > Teste e Validação de Software

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Engenharia de Software > Teste e Validação de Software

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Engenharia de Software > Teste e Validação de Software

Nível

A avaliação da cadeira de Arquitecturas de Software é composta pelos seguintes elementos: Exame teórico: 40% da nota final, nota mínima de 8.5 valores (em 20) Mini testes: 40% da nota final, 4 mini testes realizadas durante as aulas práticas, são consideradas as 3 melhores notas Trabalhos práticos (em grupo): 20% da nota final A nota final é calculada de acordo com a fórmula NotaFinal = roundHalfUp(0.4 x E + 0.4 x MT + 0.2 x TP) em que "E", "MT" e "TP" correspondem às notas (de 0 a 20 valores) do Exame, Mini Testes e dos Trabalhos Práticos, respectivamente. A nota dos mini testes é calculada MT = ((MT1 + ... + MT4) - MIN(MT1, ... , MT4))/3. A nota dos trabalhos práticos "TP" é a média aritmética, sem arredondamentos, das notas obtidas em cada um dos trabalhos práticos realizados. Opção para trabalhadores estudantes: Os alunos que tiverem o estatuto de trabalhador-estudante realizam apenas exame final, cujo peso na nota final é de 100%. Em época especial será realizado um exame, cujo peso na nota final é de 100%.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

147.0 h/semestre

Objectivos

O tamanho e a complexidade de programas de software tem vindo a crescer, sendo por isso cada vez mais importante conseguir validar a correção dos programas. Um dos custos principais no desenvolvimento de software é a sua validação. Existem várias técnicas de validação, sendo a técnica de teste de software uma das técnicas mais utilizadas. A UC de Teste e Validação de Software (TVS) oferece formação avançada nas técnicas de teste de software, incluindo técnicas manuais, semi-automáticas e automáticas. A UC de TVS oferece também formação sobre técnicas adicionais de validação de software, incluindo a análise estática e a verificação de modelos. A UC proporciona também contacto com ferramentas académicas e industriais de validação de software.

Programa

Motivação para testes e validação de software. Testes de caixa branca baseados em análise de código: análise baseada em fluxo de dados e fluxo de controlo. Testar código orientado a objetos: a aproximação baseada no model/testes de caixa preta: teste dos valores fronteira, teste de classes de equivalência, teste baseado em tabela de decisão, teste de código recursivo, teste de máquinas de estado finitas; testes ao nível de método e de classe. Gestão do processo de teste: testes unitários, testes de sub-sistema, testes de integração, testes de sistema e testes de regressão. Ferramentas para testes automáticos. Testes não-funcionais: Carga, desempenho e segurança, Análise estática de código. Geração automática de testes: testes de mutação, testes concólicos, execução simbólica, verificação do modelo. Tópicos adicionais: “delta debugging”, instrumentalização de código e identificação de invariantes.

Metodologia de avaliação

A avaliação da cadeira de Arquitecturas de Software é composta pelos seguintes elementos: Exame teórico: 40% da nota final, nota mínima de 8.5 valores (em 20) Mini testes: 40% da nota final, 4 mini testes realizadas durante as aulas práticas, são consideradas as 3 melhores notas Trabalhos práticos (em grupo): 20% da nota final A nota final é calculada de acordo com a fórmula NotaFinal = roundHalfUp(0.4 x E + 0.4 x MT + 0.2 x TP) em que "E", "MT" e "TP" correspondem às notas (de 0 a 20 valores) do Exame, Mini Testes e dos Trabalhos Práticos, respectivamente. A nota dos mini testes é calculada MT = ((MT1 + ... + MT4) - MIN(MT1, ... , MT4))/3. A nota dos trabalhos práticos "TP" é a média aritmética, sem arredondamentos, das notas obtidas em cada um dos trabalhos práticos realizados. Opção para trabalhadores estudantes: Os alunos que tiverem o estatuto de trabalhador-estudante realizam apenas exame final, cujo peso na nota final é de 100%. Em época especial será realizado um exame, cujo peso na nota final é de 100%.

Pré-requisitos

Componente Laboratorial

Princípios Éticos

Componente de Programação e Computação

Componente de Competências Transversais

Bibliografia

Principal

Software Testing: A Craftsman's Approach, 4th edition.

Paul Jorgensen

2013

Auerbach Publications


Handbook of Model Checking

E. Clarke, T. Henzinger, H. Veith

2014

Springer


Testing Object-Oriented Systems: Models, Patterns, and Tools

Robert V. Binder

2000

Addison-Wesley