Introdução aos conceitos de Teste de Software Prof. Wolley W. Silva
Agenda Definições de Teste de software Níveis de Teste de Software – Teste de Unidade – Teste de Integração – Teste de Sistema
Definições: O que é Teste de Software? Teste de Software – Trata do planejamento, preparação e avaliação do sistema, e produtos relacionados ao trabalho para verificar se essas atividades satisfazem aos requisitos especificados, para demonstrar que estão de acordo com o objetivo e para detectar defeitos.
Revelar defeitos Definições: Objetivo do Teste Modelo de entrada e saída de teste de programa. Sommerville, 2011
Definições: O que é Teste de Software? Caso de Teste: – Um conjunto de valores de entrada, pré-condições e pós condições de execução, e resultados esperados, desenvolvidos para um objetivo particular ou condição de teste, tais como para exercitar um caminho em particular em um sistema ou para verificar a conformidade a um requisito específico.
Definições: O que é Teste de Software? Caso de Teste – Exemplo
O ciclo de vida e o Teste de Software Modelo em V. Pressman, 2011
Teste de Unidade ou Unitário: – Explora a menor unidade do projeto, procurando provocar falhas ocasionadas por defeitos de lógica e de implementação. Testar todos os caminhos possíveis de execução; Testar as fronteiras (limites); – Uma ferramenta muito utilizada é o Junit. Níveis de teste de Software
Teste de Integração: – Visa provocar falhas associadas às interfaces entre os módulos quando esses são interligados para construir a estrutura do software. Níveis de teste de Software
Teste de Sistema: – Avalia o software em busca de falhas por meio da utilização do mesmo, como um usuário final; – Valida os requisitos em ambiente de produção; Níveis de teste de Software
Técnicas de Teste de Software Técnica Funcional – Teste de Caixa Preta Técnica Estrutural – Teste de Caixa Branca
Caixa Branca – Essa técnica trabalha diretamente sobre o código fonte do componente de software para avaliar aspectos tais como: teste de condição, teste de fluxo de dados, teste de ciclos e teste de caminhos lógicos (PRESSMAN, 2005). Técnicas de Teste de Software
Caixa Preta – Dados de entrada são fornecidos, o teste é executado e o resultado obtido é comparado a um resultado esperado previamente conhecido. Ex. Testes em Interfaces Web com Selenium webdriver. Técnicas de Teste de Software
Teste de usabilidade: Experiência do Usuário; Acessibilidade; Teste de carga Volume de dados que consegue processar sem falhas Teste de stress Atente grande volume de clientes e transações Teste de segurança Tentativas ilegais de acesso, possíveis vulnerabilidades Outras técnicas de teste de Software
Conclusões O teste de software é uma das atividades mais custosas do processo de desenvolvimento de software, entre 30 e 50 % (Pressman e Sommerville). O rigor e o custo associado a esta atividade dependem principalmente da criticidade da aplicação a ser desenvolvida.
Apoio ferramental para qualquer atividade do processo de teste é importante como mecanismo para redução de esforço associado à tarefa em questão, seja ela planejamento, projeto ou execução dos testes. Conclusões
Links para consulta... engenharia-de-software-introducao-a-teste- de-software/8035