Your SlideShare is downloading. ×
0
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Técnicas de Teste
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Técnicas de Teste

9,524

Published on

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

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

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,524
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Técnicas de Teste no Ciclo de Vida<br />de Desenvolvimento de Software<br />Camilo Ribeiro<br />TheBugBangTheory<br />
  • 2. Camilo Falcão Ribeiro<br /><ul><li>Analista de Teste e Engenheiro de Processos na Squadra Tecnologia;
  • 3. Mais de quatro anos atuando em Teste de Software e Processos;
  • 4. Participação em mais de 40 projetos de Software;
  • 5. Participação em projetos de implantação do CMMi (todos os níveis);
  • 6. Graduado em Sistemas para Internet pela Faculdade Pitágoras;
  • 7. Pós graduando em Engenharia de Software pela UFMG;
  • 8. Certificado como especialista em Teste de Software pelo ISTQB e ALATS;
  • 9. Membro do comitê de inovação em Teste de Software ALATS;
  • 10. Mantedor do blog técnico www.bugbang.com.br;
  • 11. Especialista em implementação e customização da ferramenta TestLink.</li></li></ul><li>Bug?<br />
  • 12. Defeitos!<br />
  • 13. Custo do Defeito<br />Custo relativo para corrigir um defeito. Adaptado de (BOEHM, 1981).<br />Distribuição do retrabalho pelas atividades de desenvolvimento de software. Adaptado de (WHEELER et al., 1996).<br />
  • 14. Desenv. Cascata (1970)<br />Requisitos<br />Desenho<br />Implementação<br />Testes<br />Manutenção<br />
  • 15. Desenv. Cascata Realimentada<br />Requisitos<br />Desenho<br />Implementação<br />Testes<br />Manutenção<br />
  • 16. Ciclo de Vida em Espiral (XP, SCRUM)<br />Requisitos<br />Desenho<br />Implementação<br />Testes<br />Produto completo?<br />Não<br />Sim<br />
  • 17. Entrega Evolutiva<br />Requisitos<br />Análise<br />Desenho Arquitetônico<br />Desenho Detalhado<br />Implementação<br />Testes<br />Não<br />Produto completo?<br />Sim<br />
  • 18. Ciclo de Vida Quase Espiral<br />RUP, Mbase, Praxis<br />Conceito Inicial<br />Requisitos<br />Análise<br />Desenho<br />Implementação<br />Testes<br />Não<br />Produto completo?<br />Sim<br />Implantação<br />
  • 19. Como resolver esse problema?<br />
  • 20.
  • 21. Teste de Software<br />Inspeções<br /> -De requisitos<br /> -De casos de uso<br /> -De código fonte<br />Testes de unidade<br />Testes de integração<br /> -Entre classes<br /> -Entre sistemas<br />Elaboração de Casos de Teste<br /> -Baseados em requisitos / Casos de Uso<br /> -Baseados em valores limites<br /> -Baseados em partições de equivalência<br /> -Baseado em cenários de negócio<br />Testes de Sistema<br /> -A partir de casos e procedimentos de teste<br /> -Manual<br /> -Execução automática<br /> -Exploratórios<br />Testes de Aceite<br /> -Baseado em cenários de negócio<br />Testes de Requisitos não Funcionais<br /> -Carga<br /> -Estresse<br /> -Segurança<br />
  • 22. Modelos “V” De Desenvolvimento<br />Requisitos<br />Teste de Aceite<br />Análise<br />Teste de Sistema<br />Desenho<br />Teste de Integração<br />Teste de Unidade<br />Implementação<br />Verificação e Validação – Áreas de Processos do CMMi<br />
  • 23. Inspeções<br />
  • 24. Inspeções<br />
  • 25. Teste de Unidade<br />Classe Java<br />Requisito<br />Gera<br />Métricas<br />Especifica<br />Classe de Teste<br />Acessa<br />Defeitos<br />Acessa<br />Implementa<br />Dados(DB, XML)<br />Bibliotecas<br />(Junit)<br />Cobertura de Código<br />
  • 26. Caso de Teste<br />ID - Nome<br />Pré condições<br />Procedimentos<br />Entradas e Saídas<br />CT <br />SIS65<br />Resultados esperados<br />Pós Condições<br />
  • 27. Elaboração de Casos de Teste<br />Leitura do caso de uso<br />Desenho dos fluxos do caso de uso<br />
  • 28. Elaboração de Casos de Teste<br />Identificação das regras e dos momentos em que essas regras são ativadas<br />
  • 29. Elaboração de Casos de Teste<br />Identificação dos cenários de Teste<br />
  • 30. Elaboração de Casos de Teste<br />Identificação dos cenários de Teste<br />CT01<br />CT02<br />CT03<br />CT04<br />Cenários e Procedimentos de Teste<br />CT05<br />CT06<br />CT07<br />CT08<br />CT09<br />CT10<br />CT11<br />CT12<br />CT14<br />CT15<br />CT16<br />CT13<br />
  • 31. Valores Limites<br />Baseado em intervalos matemáticos, onde, devemos testar pelo menos os valores nas extremidades dos intervalos.<br />Pode ser representado por gráficos, por conjuntos de valores ou por expressões matemáticas.<br />
  • 32. Valores Limites<br />Todos veículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall:<br />14/01/2009 – false15/01/2009 – true16/01/2009 – true <br />19/04/2009 – true <br />20/04/2009 – true<br />21/04/2009 – false <br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />Todos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall:<br />WAUZZZ44ZGN082818 – false <br />WAUZZZ44ZGN082819 – true <br />WAUZZZ44ZGN082820 – true <br />WAUZZZ44ZGN095820 – true <br />WAUZZZ44ZGN095821 – false <br />WAUZZZ44ZGN095822 – false <br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />CT0N<br />
  • 33. Partição de Equivalência <br />Baseado no princípio matemático dos conjuntos, onde, devemos testar pelo menos um elemento de cada conjunto distinto.<br />Pode ser representado por gráficos, por conjuntos de valores ou por expressões de álgebra relacional.<br />CT01<br />“A”<br />CT02<br />“AB”<br />CT03<br />“B”<br />
  • 34. Partição de Equivalência <br />Qualquer veículo pode ser alugado:<br />CT01<br />Carro<br />Veículos<br />CT02<br />Pick-up<br /> Caminhão<br />Carro<br />Pick-up<br />CT03<br />Caminhão<br />1 de cada subconjunto<br />CT04<br />Ônibus<br />Ônibus<br />Ciclomotores<br />Motoneta<br />Motocicleta<br />CT05<br />Motocicleta<br />Helicóptero<br />CT06<br />Motoneta<br />CT07<br />Helicóptero<br />
  • 35. Testes de Sistema<br />CT01<br />Carro<br />Leitura dos casos de teste<br />Registro manual dos resultados<br />CT02<br />Pick-up<br />Manual<br />IBM Rational Quality Manager<br />CT03<br />Caminhão<br />CT04<br />Ônibus<br />Programação dos casos de teste<br />em ferramenta de automação e<br />Record and replay<br />CT05<br />Motocicleta<br />Automatizado<br />CT06<br />Motoneta<br />*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)<br />CT07<br />Helicóptero<br />
  • 36. Testes de Aceite<br />Os testes de aceite são os testes executados pelo cliente, baseados nos requisitos.<br />Abstração<br />Caso de Teste de Aceite<br />. . .<br />Caso de Teste de Negócio<br />Cenário de Teste<br />Caso de Teste<br />
  • 37. Testes de Aceite<br />Cadastre o item X a R$80,00<br />Cadastre o item Y a R$90,00<br />Cadastre a promoção Z (Frete Gratuito em compras acima de 150,00)<br />Cadastre-se como cliente João da Silva (joao@silva.com.br)<br />Pesquise pelo item X<br />Inclua o item X no carrinho<br />Consulte o valor do frete para CEP 30626-000 (Frete R$15,00)<br />Sistema informa Total = R$95,00<br />Sistema recomenda o item Y com economia de R$15,00<br />Selecione o Item Y<br />Inclua o item Y no carrinho<br />Consulte o valor do frete para CEP 30626-000 (Frete R$00,00)<br />Sistema informa Total = R$95,00<br />Confirme a compra<br />Sistema solicita endereço baseado no CEP<br />Informe o número e complemento (123, A)<br />Sistema informa as condições de pagamento <br />Informe “Visa a vista”<br />. . .<br />N . Cliente confirma recebimento do produto.<br />
  • 38. Testes de Aceite<br />Protótipos:<br />1 – Acesse a tela principal<br />2 – Acione o menu Livros<br />3 – Selecione livro “O Símbolo Perdido” no banner de promoções<br />4 – Sistema exibe descrição do livro<br />5 –Solicite Comprar<br />6 – Informe a Quantidade<br />7 – Solicite Continuar<br />8 – Sistema Solicita Login<br />
  • 39. Testes de Requisitos Não Funcionais<br />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. <br />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.<br />Os testes desses requisitos são normalmente executados com ajuda de ferramentas especializadas, com grande planejamento, avaliação arquitetural, aplicando técnicas avançadas.<br />
  • 40. Eficiência<br />Pesquisa<br />Arquitetura e Rede<br />Requisitos <br />Funcionais<br />Outros Requisitos <br />Não Funcionais<br />Recursos <br />Algoritmo<br />Acessos / Usuários<br />
  • 41. Eficiência<br />Medidores por servidor<br />Registradores por página<br />Sumário com as médias de resposta<br />
  • 42. Personalize o seu modelo “V”<br />Teste de Aceite<br />Elaboração de Testes de Aceite<br />Requisitos<br />Teste de Sistema<br />Elaboração de Casos de Teste<br />Análise<br />Automação de testes<br />Análise Arquitetural<br />Desenho<br />Teste de Integração<br />Teste de Unidade<br />Elaboração de Testes de Unidade<br />Implementação<br />Revisão ou Inspeção<br />Validação com o cliente<br />
  • 43. E assim por diante . . .<br />•Desempenho:<br /> -Carga;<br /> -Estresse;<br /> -Maturidade.<br />•Segurança:<br /> -XSS;<br /> -SQL Injection.<br />•Usabilidade:<br />- Acessibilidade;<br /> -Facilidade de uso.<br />•CaixaBranca:<br /> -Cobertura de comandos;<br /> -Cobertura de decisão.<br />•CaixaPreta:<br /> -Transição de Estado;<br /> -Tabela de decisão;<br /> -BaseadoemHistórias do usuário.<br />E muitomais!<br />
  • 44. Esse material foi inspecionado!<br />Obrigado:<br />• Amanda Magalhães<br />• Elias Nogueira<br />• Fabíola Lara<br />• Ricardo Antunes<br />• Vanessa Vaz<br />E aindadeveteralguns bugs . . . <br />
  • 45. Dúvidas?<br />camilo@camiloribeiro.com.br - www.bugbang.com.br<br />
  • 46. Bibliografia<br />•Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons. ISBN 0-471-04328-1.<br />•BOEHM, B.W., 1981, Software Engineering Economics, Prentice Hall.<br />•WHEELER, D.A., BRYKEZYNSKI, B., MEESON, R.N., 1996, Software Inspections: AnIndustry Best Practice, IEEE ComputerSociety.<br />• PRESSMAN, R.S., 2001, Software Engineering: A Practitioner´s Approach, Fifth Edition, McGraw Hill.<br />•[ISO9126] ISO/IEC 9126-1:2001, Software Engineering – Software Product Quality<br />•ISQTQB Glossário de termosusados no Teste de Software Versão 1.0<br />•FoundationLevel ISTQB Syllabus, ISTQB<br />•PÁDUA FILHO (2003), Wilson. Engenharia de Software– Fundamentos, Métodos e Padrões. 3ª Edição. LTC Editora, 2009.<br />•RIOS, E., MOREIRA, T., SOUZA, A., CRISTALLI, R . Base de Conhecimento em Teste de Software 2ª Edição. Martins, 2007.<br />•IEEE Std 829-2008.<br />•Kirner, T. G., Davis, A. M. (1996) “Nonfunctional Requirements of Real-Time Systems; Advances in Computers”, vol. 42<br />•Cysneiros, L. M., Leite, J.C.S.P (2004) “A Framework for IntegratingNon-FunctionalRequirementsinto Conceptual Models”, IEEE<br />transactions on software engineering, Vol. 30, No. 5.<br />•CBT-TST110, Principles of Test Automatization for GUI Testing. IBM.<br />
  • 47. Muito Obrigado!<br />

×