Disciplina Curricular
Teste e Validação de Software TVS
Mestrado Bolonha em Engenharia Informática e de Computadores - Taguspark - MEIC-T 2021
Contextos
Grupo: MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Engenharia de Software
Período:
Peso
6.0 (para cálculo da média)
Pré-requisitos
Conhecimentos básicos de programação orientada a objectos
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 parte teórica da disciplina é avaliada com um exame final que vale 50% da nota final. Depois temos um projecto feito durante a primeira parte da disciplina e que avalia o desenho e concretização de testes de softare para um dado sistema (vale 25%). A componente final do método de avaliação corresponde à apresentação de um artigo, nas últimas semanas de aulas, sobre a realização automática de testes. A nota da apresentação oral tem em conta a presença dos alunos nas várias aulas de apresentações de artigos. Cada aula de apresentação em que um aluno não participa implica uma penalização de 10%/A (A representa o número de aulas de apresentações) da nota da apresentação oral. Existe uma nota mínima de 9.5 no exame e de 9,5 na média da apresentação oral e do projecto. Os alunos trabalhadores-estudantes só precisam de comparecer na aula de apresentação do seu artigo sem terem qualquer penalização na nota da apresentação oral.
Componente de Competências Transversais
Nesta disciplina exercita-se a capacidade de apresentação oral por parte dos alunos. Esta capacidade é avaliada na componente de apresentação oral de um artigo que cada aluno tem que realizar. Cada apresentação é feita durante uma aula teórica ou de laboratório. Esta componente de avaliação vale 25% da nota final da disciplina.
Componente Laboratorial
A componente laboratorial pretende desenvolver as competências de desenho e concretização de testes de software dos alunos por forma a exercitar os conceitos lecionados nas aulas teóricas. Na parte final da disciplina, os alunos terão que fazer uma apresentação oral sobre um artigo que descreve uma solução para a realização de testes automáticos.
Componente de Programação e Computação
No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.
Princípios Éticos
Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.