Teste de SoftwareAgileTesting<br />
Teste de Software<br />"É de conhecimento geral entre os analistas de software que nunca se elimina o último bug de um pro...
O que é Teste de Software?<br />Processo que procura garantir que um programa se adapte aos requisitos da especificação e ...
Por que Testar?<br />Não existe processo de desenvolvimento que garanta que um programa não tenha defeitos <br />Gasto com...
Por que Testar?<br />Usuários: Sempre surpreendendo.<br /><ul><li>Tentamacessar o mesmoaplicativoemdois browsers diferentes
Ignorammensagens de erros
Entram com datasinválidas, executamaçõesfora de ordem
Editam arquivos que não deveriam ser editados
Imprimem páginas que não foram configuradas para serem impressas
Tem idéias “incorretas” sobre o que software deveria ou não fazer.</li></ul>Usuáriosfazemtudoisso, porqueelesqueremusar o ...
Em todas as fases do desenvolvimento de software<br />Quantomaiscedomelhor<br /> <br />Hoje de 40 a 70 % do tempo do desen...
Custo da Identificação do Erro<br />Cost<br />Inception	Elaboration	Construction	Transition<br />
O que Testar?<br />Erros se escondem não só no código, mas nos requisitos, manuais, data sheets, etc<br />Não podemos test...
O queTestar?<br />
Como Testar?<br />Teste o código em seus limites: tente uma entrada vazia, um único item, um vetor cheio, etc.<br />Teste ...
Como Testar?<br />Teste incrementalmente (scrum);<br />Teste primeiro partes simples: tenha certeza que partes básicas fun...
Principais Tipos de Testes<br /><ul><li>TesteEstruturalou White box testing: testebaseado no código.
Executa todas as decisões lógicas para valores falsos ou verdadeiros
Executa todos os laços em suas fronteiras
Exercita as estruturas de dados internas</li></ul>TesteFuncionalou black box testing: Simula a experiência do usuário fina...
Erros de interface;
Acesso a bancos de dados externos;
Upcoming SlideShare
Loading in …5
×

Teste de Software

1,738 views

Published on

Apresentação sobre alguns conceitos iniciais de teste de software.

Fala sobre tipos de teste, agile testing, papéis envolvidos, cultura de testes.

Apresentação feita em conjunto por Roberto Espinha e Anelise Bastos.

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

  • Be the first to like this

No Downloads
Views
Total views
1,738
On SlideShare
0
From Embeds
0
Number of Embeds
44
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Teste de Software

  1. 1. Teste de SoftwareAgileTesting<br />
  2. 2. Teste de Software<br />"É de conhecimento geral entre os analistas de software que nunca se elimina o último bug de um programa. Os bugs são aceitos como uma triste realidade. Esperamos eliminá-los todos, um por um, mas nunca conseguiremos nos livrar deles."  DeMarco, Tom , Editora Campus, 91<br />Mas geralmente temos as seguintes situações:<br />“Depois eu escrevo o plano de testes...“<br />"Vamos deixar os testes para a próxima fase...“<br />"Na minha máquina funcionou...“<br />"Temos que entregar o produto na semana que vem..."<br />Então o que é teste de software ?<br />
  3. 3. O que é Teste de Software?<br />Processo que procura garantir que um programa se adapte aos requisitos da especificação e funcione em todos os casos em que se espere que funcione<br />Identificação de possíveis defeitos que possam vir a ocorrer após a finalização do software e posterior implantação<br />
  4. 4. Por que Testar?<br />Não existe processo de desenvolvimento que garanta que um programa não tenha defeitos <br />Gasto com retrabalho<br />Gasto de tempo na manutenção do software<br />Descontentamento do cliente<br />Divulgação negativa para futuros possíveis clientes <br />
  5. 5. Por que Testar?<br />Usuários: Sempre surpreendendo.<br /><ul><li>Tentamacessar o mesmoaplicativoemdois browsers diferentes
  6. 6. Ignorammensagens de erros
  7. 7. Entram com datasinválidas, executamaçõesfora de ordem
  8. 8. Editam arquivos que não deveriam ser editados
  9. 9. Imprimem páginas que não foram configuradas para serem impressas
  10. 10. Tem idéias “incorretas” sobre o que software deveria ou não fazer.</li></ul>Usuáriosfazemtudoisso, porqueelesqueremusar o software e nãoentendê-lo.<br />
  11. 11. Em todas as fases do desenvolvimento de software<br />Quantomaiscedomelhor<br /> <br />Hoje de 40 a 70 % do tempo do desenvolvimento do software é dedicado a identificação e remoção dos erros<br />Erros que não são detectados e geram falhas no campo geram sérias conseqüências financeiras/legais e na melhor das hipóteses gera um alto custo de manutenção para o sistema<br />Quando Testar?<br />
  12. 12. Custo da Identificação do Erro<br />Cost<br />Inception Elaboration Construction Transition<br />
  13. 13. O que Testar?<br />Erros se escondem não só no código, mas nos requisitos, manuais, data sheets, etc<br />Não podemos testar tudo, por isso precisamos administrar o RISCO<br />Devemos testar o que traz maiores conseqüências no caso de falha?<br />Devemos testar o que é mais utilizado?<br />Devemos testar o que já dá mais erro? Ou que foi escrito por programador júnior?<br />Deve ser garantida a qualidade do processo e depois do produto -> Verificação e Validação <br />
  14. 14. O queTestar?<br />
  15. 15. Como Testar?<br />Teste o código em seus limites: tente uma entrada vazia, um único item, um vetor cheio, etc.<br />Teste de pré e pós condições: verifique certas propriedades antes e depois de trechos de código;<br />Programe defensivamente;<br />Sempre verifique se ocorreram erros ao abrir, ler, escrever e principalmente fechar arquivos;<br />Sempre trate as possíveis exceções;<br />
  16. 16. Como Testar?<br />Teste incrementalmente (scrum);<br />Teste primeiro partes simples: tenha certeza que partes básicas funcionam antes de prosseguir;<br />Conheça as saídas esperadas;<br />Tester com grandes quantidades de dados;<br />Teste em várias máquinas e browsers.<br />
  17. 17. Principais Tipos de Testes<br /><ul><li>TesteEstruturalou White box testing: testebaseado no código.
  18. 18. Executa todas as decisões lógicas para valores falsos ou verdadeiros
  19. 19. Executa todos os laços em suas fronteiras
  20. 20. Exercita as estruturas de dados internas</li></ul>TesteFuncionalou black box testing: Simula a experiência do usuário final, semconhecimento do código.<br /><ul><li>Funções incorretas ou ausentes;
  21. 21. Erros de interface;
  22. 22. Acesso a bancos de dados externos;
  23. 23. Erros de desempenho;
  24. 24. Erro de inicialização e término</li></li></ul><li>Outros Tipos de Testes<br />Teste de Interface: navegação <br />Teste de Performance: tempo de resposta<br />Teste de carga: quantidade grande de usuários simultâneos. <br />Teste de aceitação do usuário ou usabilidade<br />Testes de stress: aplicação em situações inesperadas. <br />Testes de Configuração: diferentes ambientes de hardware ou de software.<br />Testes de Segurança: utilizar os diversos papéis, perfis, permissões, para navegar no sistema. <br />
  25. 25. Considerações sobre Testes<br />Nenhuma ferramenta que tem o propósito de teste pode garantir a inexistência de defeitos <br />Nenhum procedimento de teste é totalmente eficaz <br />A atividade de teste não pode mostrar a ausência de “bugs”, ela só pode mostrar se defeitos de software estão presentes<br />
  26. 26. O que é AgileTesting?<br />“Agile testing” é umaprática de teste de software que segue osprincípios do “agile manifesto”, enfatizando o testepelaperspectiva dos clientesqueirãoutilizar o sistema.<br />Cadaintegrantedaequipeestáfocadoemliberar um produto de altaqualidade e de valor agregado. Nãosãosomente “ostestadores” quesãoresponsáveispelaqualidade, mastodo o TIME.<br />
  27. 27. AgileTesting<br />Em times “Agéis”, o produto é bemconstruídodesde o início, utilizando testes parafornecer feedback sobre o desenvolvimento e se o mesmoestáatendendo as necessidades do negócio (PO)<br />
  28. 28. AgileTesting<br />Teste não é uma fase, em times Agéis é um “estilo de vida”<br />Testecontínuo é o únicomodo de garantir um progressocontínuo.<br />
  29. 29. AgileTesting<br />
  30. 30. AgileTesting<br />Times Agéisnãoconsideram “done” e pronto para ser aceitopelo Product Owner oucliente, se não for testado.<br />
  31. 31. AgileTesting<br />Foco em Testes é, antes de tudo, uma forma de Design de Software! <br />Seja adaptativo! Seja flexível: construa com qualidade!<br />Remova o estigma que testadores possuem em projetos: os chatos.<br />Automatize processos repetitivos!! <br />Testadores, designers e desenvolvedores devem eficientemente colaborar para o projeto. Torne-se comprometido!<br />
  32. 32. Referências<br />CRISPIN, Lisa; GREGORY, Janet. AgileTesting – A PracticalGuide for TestersandAgileTeams. 5 ed. Boston/USA: Addison Wesley, 2009<br />HENDRICKSON, Elisabeth. “AgileTesting – Nine PrinciplesandSixConcretePractices for TestingonAgileTeams”. Disponível em: http://testobsessed.com/wordpress/wp-content/uploads/2008/08/AgileTestingOverview.pdf<br />
  33. 33. OBRIGADO<br />Anelise Schlickmann Motta Bastos<br />anelise.bastos@euax.com.br<br />Roberto Gil Espinha<br />roberto.espinha@euax.com.br<br />www.euax.com.br<br />

×