Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay

2,983 views

Published on

Apresentação do Crowdtest no DevDay em Belo Horizonte em outubro de 2012.

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

No Downloads
Views
Total views
2,983
On SlideShare
0
From Embeds
0
Number of Embeds
169
Actions
Shares
0
Downloads
23
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay

  1. 1. Quando UtilizarCrowdsourcing em Testes
  2. 2. Boeing 787Passageiropodia acessara interface deadministraçãodo avião!
  3. 3. First National Bank of Chicago (Maio/1996)– Atualização do software dos caixas eletrônicos • Nova codificação das mensagens não foi testada em todos os protocolos utilizados nos caixas– Resultado: Crédito de aproximadamente U$ 925mi na conta de cada um dos 823 clientes;– Aproximadamente U$ 800bi representou o maior erro bancário da história dos EUA.
  4. 4. Royal Bank of Scotland/NatWest (Junho/2012)– Backup realizado devido a uma atualização do sistema computacional: • Apagou todos os dados e deixou 17 milhões de contas de clientes indisponíveis • 1.200 agências paradas durante quase 1 semana– Prejuízo estimado: • U$$ 77 mi à U$$ 160 mi
  5. 5. Gol (2010)– Problemas em software de escalas de tripulantes;– Gerou um colapso no atendimento nos aeroportos brasileiros;– Multa aproximada de 2 milhões de reais aplicada pela Anac.
  6. 6. Importância dos testes de software Estudos indicam uma US$ 60 bilhões são gastos economia potencial de 30% anualmente nos EUA para dessa despesa, caso exista resolver falhas de software. algum investimento prévio em testes. Uma pesquisa feita em 2010 50% do esforço do indicou que executivos desenvolvimento é gasto para entendem a importância de corrigir falhas imprevistas qualidade de software, mas de software. consideram um investimento caro.
  7. 7. Processo de testes de softwareEspecificaçãode Requisitos e Aplicação não Especificação Execução Objetivos Planejamento Automação sim Fechamento dos Testes e Análise Alcançados? Scripts de Relatório Plano de Desenho Relatório de Execução de Lições Testes dos Testes Incidentes de Testes Aprendidas
  8. 8. Processo de testes de software Gerente de Testes Analista de Programador Testes de Testes Arquiteto de Equipe Testador Testes de Testes
  9. 9. Como testar projetos com orçamento e/ou prazos apertados? Testes exploratórios Crowdsourcing em testes
  10. 10. Testes exploratóriosNão depende de scripts de testes • Livre de casos de testes formais e específicosO objetivo é utilizar o sistema como o usuário utilizaria • Exige pouca documentaçãoExemplos de técnicas • Testar links • Autenticação • Navegação • Campos obrigatórios • Datas inválidas
  11. 11. Crowdsourcing em testes Modelo baseado na utilização de mão-de-obradisponível na Internet para identificação de falhas em sistemas.
  12. 12. Crowdsourcing• O termo foi criado por Jeff Howe em artigo da revista Wired em 2006.• Crowdsourcing é um modelo de produção que utiliza a inteligência e o conhecimento coletivo para resolver problemas.
  13. 13. Exemplos de crowdsourcing 280 fãs R$ 56.000,00 de arrecadação
  14. 14. Exemplos de crowdsourcing • Projeto colaborativo de informações geoespaciais • Aproximadamente 500 mil colaboradores Verbetes em inglês: 4.000.000+ Verbetes em 285 idiomas Mais de 17.5 mi usuários na língua inglesa
  15. 15. Exemplos de crowdsourcing • Aproximadamente 170.000 projetos já realizados • 110 designers por projeto • Mais de R$ 3 mi pagos aos designers no último mês• 200.000+ tarefas disponíveis e finalizadas por dia• Mais de U$ 13.000,00 pagos por dia
  16. 16. Exemplos de crowdsourcing
  17. 17. Crowdsourcing em testesÉ um modelo que apresenta resultados rapidamente e com baixocusto.Equipes de qualquer tamanho e perfil podem ser mobilizadas edesmobilizadas rapidamente.Os testadores recebem pela produtividade. • Recebem por entrega, que na maioria dos casos são falhas encontradas nos sistemas; • Os melhores podem ser premiados, dependendo do projeto.Existem modelos nos quais o próprio cliente realiza a validação dasfalhas e modelos no qual existe a garantia de qualidade dosresultados.
  18. 18. Crowdsourcing em testes funcionapara qualquer projeto? Especificação de Requisitos e Aplicação não Especificação Execução Planejamento Automação Objetivos Alcançados? Fechamento dos Testes e Análise sim Scripts de Relatório Plano de Desenho Relatório de Execução de Lições Testes dos Testes Incidentes de Testes Aprendidas
  19. 19. Crowdsourcing x Modelo tradicional de testes • A mobilização de pessoas na Internet demonstrou ser uma ação Prazos apertados extremamente ágil. • Em poucos minutos, é possível contar com centenas de pessoas disponíveis para realização dos testes • No modelo tradicional, esse é um processo lento que muitas vezes envolve contratação de profissional. • A execução também é um processo mais lento no modelo tradicional. • Enquanto trabalhamos com dezenas de pessoas alocadas, no crowdsourcing é possível disparar os testes em paralelo com centenas de pessoas.
  20. 20. Crowdsourcing x Modelo tradicional de testes Confidencialidade • Manter sigilo de projetos no modelo crowdsourcing não é uma tarefa trivial. • Pessoas totalmente desconhecidas têm acesso ao sistema. Nada impede que essas pessoas divulguem, até mesmo para concorrentes, as informações envolvidas nos testes. • Existem mecanismos para amenizar o risco: • Acordo de confidencialidade com testadores mais confiáveis • Acesso à aplicação através de VPN’s • No modelo tradicional, os testadores são profissionais contratados e, desta forma, já comprometidos através de contratos de trabalho • Além do contrato, também atuam em ambientes com acesso controlado
  21. 21. Crowdsourcing x Modelo tradicional de testes • No modelo tradicional, existe o teste de Testes de usuário aceitação, porém é limitado a um pequeno grupo de usuários. • O crowdsourcing é o melhor caminho para entender efetivamente qual impacto da aplicação no ambiente do usuário. • Dezenas ou mesmo centenas de pessoas com o perfil de uso da aplicação podem ser consultadas para falar exatamente sobre suas impressões sobre o sistema
  22. 22. Crowdsourcing x Modelo tradicional de testes • Neste ponto, existe uma grande chance do modelo Conhecimento do negócio tradicional ser a melhor opção. • Sistemas especializados exigem um grande conhecimento da equipe de testes. Esse conhecimento só é criado dentro do ambiente do cliente. • No crowdsourcing, esse nível de envolvimento não é possível uma vez que os testadores não são alocados em um ambiente específico.
  23. 23. Crowdsourcing x Modelo tradicional de testes • O grande número de versão de SO’s, navegadores plataformas Múltiplas web e dispositivos móveis torna a montagem e manutenção de uma infraestrutura de testes um processo altamente caro no modelo tradicional. • No crowdsourcing, é possível contar com as plataformas distintas dos testadores, o que elimina o processo de montagem de infraestrutura.
  24. 24. Crowdsourcing x Modelo tradicional de testes • O modelo tradicional apresenta pequena vantagem neste Garantia de cobertura dos testes caso. • Equipe especializada consegue realizar uma análise de cobertura e executar exatamente os pontos críticos da aplicação • No crowdsourcing, os testadores em geral atuam realizando testes exploratórios, sem uma garantia de que determinados pontos da aplicação serão exercitados. • No entanto, essa limitação é facilmente sanada trabalhando com um modelo misto, no qual testadores mais experientes definem os caminhos a serem explorados e a comunidade de testadores executa exatamente o que é necessário, podendo inclusive explorar outros pontos.
  25. 25. Crowdsourcing x Modelo tradicional de testes • O Crowdsourcing possui ampla vantagem Disponibilidade 24x7 nesse contexto. Existem testadores disponíveis 100% do tempo. • No modelo tradicional, a empresa tem de trabalhar com horas extras ou contar com turmas de testadores alocadas em diversos turnos de trabalho.
  26. 26. Crowdsourcing x Modelo tradicional de testes • Assim como o domínio do negócio, a geração Exigência de documentação de documentação de testes é uma tarefa mais direcionada para equipes especializadas. • No crowdsourcing, é possível obter testadores que possuem competência para esse tipo de tarefa, mas como normalmente não há exigência para o perfil, o risco de não obter resultados satisfatórios é grande.
  27. 27. Crowdsourcing x Modelo tradicional de testes • Para projetos que contam com baixo orçamento, o restrito Orçamento crowdsourcing é a melhor opção, pois trabalha com investimento variável de acordo com a realidade de cada projeto. • O modelo tradicional envolve alocação de recurso por hora ou mesmo contratação de profissional • A desmobilização de equipe envolve muitas vezes acertos trabalhistas.
  28. 28. Considerações finaisQualidade de software é importante paraprojetos de qualquer natureza.O completo processo de testes é importantepara garantir a qualidade de sistemas.• Nem sempre é aplicável devido ao tamanho do projeto.É possível atender pequenos projetosutilizando testes exploratórios.• Porém, não apresenta muitas vezes a escalabilidade necessária.
  29. 29. Considerações finaisO crowdsourcing apresenta-se como uma soluçãointeressante para projetos de qualquer porte.É importante ressaltar que o modelo não é aplicávelem qualquer cenário.• Das características apresentadas, muitas podem estar combinadas.O mais comum é a adoção de soluções híbridas.
  30. 30. crowdtest.mefacebook.com/crowdtest @crowdtest

×