Please enable JavaScript.
Coggle requires JavaScript to display documents.
Prova 2 - Engenharia de Software - Coggle Diagram
Prova 2 - Engenharia de Software
Testes de Software
Tipos de Testes
Testes de Interface de Componentes
São formulados casos de testes que voltem para a interface e interações de componentes
Tipos
Interface de Parâmetros
Dados passados de um método ou procedimento para o outro
Interface de Memória Compartilhada
Blocos de memória são compartilhados entre os procedimentos ou funções
Interface de Procedimentos
Subsistemas sintetizam um conjunto de procedimentos para serem chamados por outros subsistemas
Interface de Passagem de Mensagem
Subsistemas solicitam serviços de outros subsistemas
Erros
Mau uso da Interface
Mau entendimento de Interface
Erros de Timing
Testes de Sistema
Integração de componentes e criação de casos de testes para avaliar a composição entre eles
Avaliam comportamento emergente
Diferentemente dos outros testes, esse aborda um equipe para lidar com todo o sistema
Caso de Teste
Modelos de casos de teste
Teste Funcional
Caixa Branca
Teste Estrutural
Caixa Preta
Preparar os dados de testes
Obtêm-se os resultados
Compara os resultados estimados e os resultados obtidos
Testes de Validação
Validação do sistema ao usar um conjunto controlado de dados de maneira correta
Testes de Defeito
São criados casos de uso onde o objetivo é verificar e corrigir o sistema, muitas vezes não impacta o real processo do programa
Testes Automatizados
Sempre que possível é melhor automatizar os testes de unidade de software para que elas sejam executadas e verificadas sem intervenção manual
Etapas
Setup / Configuração
Configuração base de dados para a execução do programa
Call / Chamada
Execução
Assert / Afirmação
Comparação do resultado esperado e do obitod
Definição
Execução do programa com dados artificiais em busca de validar funcionalidades e verificar erros
Verificação & Validação
Verificação = O software deve estar em acordo com sua especificação
Estática
Inspeção de Software
Análise da representação estática do sistema para descobrir problemas
Dinâmica
Teste de Software
Examina e observa o comportamento do programa
Validação = O software deve fazer o que o usuário realmente necessita
Estratégias de Teste
Testes de Partição
Define diferentes grupos que devem ser processados de forma similar
Identifica a partição e trabalha no limite dela para avaliar os casos de teste
Testes baseados em Diretriz
Cria uma diretriz que reflete os erros anteriormente verificados e/ou comumente encontrados
Escolher entradas que forcem o sistema a gerar todas as mensagens de erro
Projetar entradas que causem o transbordamento dos buffers de inputs.
Repetir a mesma entrada ou uma série de entradas inúmeras vezes
Politicas de Teste
É impossível obter um programa que não tenha nenhum erro e, além disso, dessa forma, é inviável fazer testes exaustivos
Políticas de teste que definem a cobertura necessária dos testes do sistema devem ser desenvolvidas
Exemplo: Onde a entrada do usuário é fornecida, todas as funções devem ser testadas com entradas corretas e incorretas
Desenvolvimento dirigido a Testes (TDD)
Testes são escritos antes do código e devem ser validados nos testes de forma adequada antes de avançar no projeto
Utiliza uma abordagem similar aos Métodos Ágeis
Benefícios
Cobertura de Código
Testes de Regressão
Depuração Simplificada
Documentação de Sistema
Passos
Identificar nova funcionalidade
Escrever código
Executar teste
Verificação do teste
Atingiu os resultados esperados
Não atingiu os resultados esperados
Implementações e refatorações
1 more item...