Apresentação usada por Camilo Ribeiro para a Palestra "Técnicas de Teste no Ciclo de Desenvolvimento de Software" para o Centro Universitário UNA de Belo Horizonte em 25 de Março de 2010
13. Custo do Defeito Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981). Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).
21. Teste de Software Inspeções -De requisitos -De casos de uso -De código fonte Testes de unidade Testes de integração -Entre classes -Entre sistemas Elaboração de Casos de Teste -Baseados em requisitos / Casos de Uso -Baseados em valores limites -Baseados em partições de equivalência -Baseado em cenários de negócio Testes de Sistema -A partir de casos e procedimentos de teste -Manual -Execução automática -Exploratórios Testes de Aceite -Baseado em cenários de negócio Testes de Requisitos não Funcionais -Carga -Estresse -Segurança
22. Modelos “V” De Desenvolvimento Requisitos Teste de Aceite Análise Teste de Sistema Desenho Teste de Integração Teste de Unidade Implementação Verificação e Validação – Áreas de Processos do CMMi
25. Teste de Unidade Classe Java Requisito Gera Métricas Especifica Classe de Teste Acessa Defeitos Acessa Implementa Dados(DB, XML) Bibliotecas (Junit) Cobertura de Código
26. Caso de Teste ID - Nome Pré condições Procedimentos Entradas e Saídas CT SIS65 Resultados esperados Pós Condições
27. Elaboração de Casos de Teste Leitura do caso de uso Desenho dos fluxos do caso de uso
28. Elaboração de Casos de Teste Identificação das regras e dos momentos em que essas regras são ativadas
30. Elaboração de Casos de Teste Identificação dos cenários de Teste CT01 CT02 CT03 CT04 Cenários e Procedimentos de Teste CT05 CT06 CT07 CT08 CT09 CT10 CT11 CT12 CT14 CT15 CT16 CT13
31. Valores Limites Baseado em intervalos matemáticos, onde, devemos testar pelo menos os valores nas extremidades dos intervalos. Pode ser representado por gráficos, por conjuntos de valores ou por expressões matemáticas.
32. Valores Limites Todos veículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall: 14/01/2009 – false15/01/2009 – true16/01/2009 – true 19/04/2009 – true 20/04/2009 – true 21/04/2009 – false CT0N CT0N CT0N CT0N CT0N CT0N Todos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall: WAUZZZ44ZGN082818 – false WAUZZZ44ZGN082819 – true WAUZZZ44ZGN082820 – true WAUZZZ44ZGN095820 – true WAUZZZ44ZGN095821 – false WAUZZZ44ZGN095822 – false CT0N CT0N CT0N CT0N CT0N CT0N
33. Partição de Equivalência Baseado no princípio matemático dos conjuntos, onde, devemos testar pelo menos um elemento de cada conjunto distinto. Pode ser representado por gráficos, por conjuntos de valores ou por expressões de álgebra relacional. CT01 “A” CT02 “AB” CT03 “B”
34. Partição de Equivalência Qualquer veículo pode ser alugado: CT01 Carro Veículos CT02 Pick-up Caminhão Carro Pick-up CT03 Caminhão 1 de cada subconjunto CT04 Ônibus Ônibus Ciclomotores Motoneta Motocicleta CT05 Motocicleta Helicóptero CT06 Motoneta CT07 Helicóptero
35. Testes de Sistema CT01 Carro Leitura dos casos de teste Registro manual dos resultados CT02 Pick-up Manual IBM Rational Quality Manager CT03 Caminhão CT04 Ônibus Programação dos casos de teste em ferramenta de automação e Record and replay CT05 Motocicleta Automatizado CT06 Motoneta *Desenvolver testes automatizados leva cerca de 3 a 10 vezes mais tempo que executá-los manualmente. O ganho está na redução do tempo de execução.(CBT-TST110) CT07 Helicóptero
36. Testes de Aceite Os testes de aceite são os testes executados pelo cliente, baseados nos requisitos. Abstração Caso de Teste de Aceite . . . Caso de Teste de Negócio Cenário de Teste Caso de Teste
37. Testes de Aceite Cadastre o item X a R$80,00 Cadastre o item Y a R$90,00 Cadastre a promoção Z (Frete Gratuito em compras acima de 150,00) Cadastre-se como cliente João da Silva (joao@silva.com.br) Pesquise pelo item X Inclua o item X no carrinho Consulte o valor do frete para CEP 30626-000 (Frete R$15,00) Sistema informa Total = R$95,00 Sistema recomenda o item Y com economia de R$15,00 Selecione o Item Y Inclua o item Y no carrinho Consulte o valor do frete para CEP 30626-000 (Frete R$00,00) Sistema informa Total = R$95,00 Confirme a compra Sistema solicita endereço baseado no CEP Informe o número e complemento (123, A) Sistema informa as condições de pagamento Informe “Visa a vista” . . . N . Cliente confirma recebimento do produto.
38. Testes de Aceite Protótipos: 1 – Acesse a tela principal 2 – Acione o menu Livros 3 – Selecione livro “O Símbolo Perdido” no banner de promoções 4 – Sistema exibe descrição do livro 5 –Solicite Comprar 6 – Informe a Quantidade 7 – Solicite Continuar 8 – Sistema Solicita Login
39. Testes de Requisitos Não Funcionais Para Kirner e Davis (1996), requisitos não-funcionais são declarações que definem as qualidades globais ou atributos a serem atendidos pelo sistema resultante. Segundo Cysneiros (1997), os requisitos não-funcionais, ao contrário dos requisitos funcionais, não expressam nenhuma função a ser realizada pelo software, e sim comportamentos e restrições que este software deve satisfazer. Os testes desses requisitos são normalmente executados com ajuda de ferramentas especializadas, com grande planejamento, avaliação arquitetural, aplicando técnicas avançadas.
40. Eficiência Pesquisa Arquitetura e Rede Requisitos Funcionais Outros Requisitos Não Funcionais Recursos Algoritmo Acessos / Usuários
42. Personalize o seu modelo “V” Teste de Aceite Elaboração de Testes de Aceite Requisitos Teste de Sistema Elaboração de Casos de Teste Análise Automação de testes Análise Arquitetural Desenho Teste de Integração Teste de Unidade Elaboração de Testes de Unidade Implementação Revisão ou Inspeção Validação com o cliente
43. E assim por diante . . . •Desempenho: -Carga; -Estresse; -Maturidade. •Segurança: -XSS; -SQL Injection. •Usabilidade: - Acessibilidade; -Facilidade de uso. •CaixaBranca: -Cobertura de comandos; -Cobertura de decisão. •CaixaPreta: -Transição de Estado; -Tabela de decisão; -BaseadoemHistórias do usuário. E muitomais!
44. Esse material foi inspecionado! Obrigado: • Amanda Magalhães • Elias Nogueira • Fabíola Lara • Ricardo Antunes • Vanessa Vaz E aindadeveteralguns bugs . . .
46. Bibliografia •Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1. •BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall. •WHEELER, D.A., BRYKEZYNSKI, B., MEESON, R.N., 1996, Software Inspections: AnIndustry Best Practice, IEEE ComputerSociety. • PRESSMAN, R.S., 2001, Software Engineering: A Practitioner´s Approach, Fifth Edition, McGraw Hill. •[ISO9126] ISO/IEC 9126-1:2001, Software Engineering – Software Product Quality •ISQTQB Glossário de termosusados no Teste de Software Versão 1.0 •FoundationLevel ISTQB Syllabus, ISTQB •PÁDUA FILHO (2003), Wilson. Engenharia de Software– Fundamentos, Métodos e Padrões. 3ª Edição. LTC Editora, 2009. •RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007. •IEEE Std 829-2008. •Kirner, T. G., Davis, A. M. (1996) “Nonfunctional Requirements of Real-Time Systems; Advances in Computers”, vol. 42 •Cysneiros, L. M., Leite, J.C.S.P (2004) “A Framework for IntegratingNon-FunctionalRequirementsinto Conceptual Models”, IEEE transactions on software engineering, Vol. 30, No. 5. •CBT-TST110, Principles of Test Automatization for GUI Testing. IBM.