O documento discute o conceito de crowd testing e como ele pode ser integrado ao processo tradicional de teste de software para melhorar a qualidade. Ele apresenta pesquisas com 58 testadores que revelaram que a maioria encontrou defeitos comuns e a motivação financeira é a principal razão para participar. O documento conclui que o crowd testing é viável e pode fornecer qualidade ao transformar o teste em um serviço.
Crowd Testing - Defesa do Trabalho de Conclusão de Curso
1. CROWD TESTING
O poder da multidão em prol da qualidade
de software
Moisés Armani Ramírez
São Leopoldo
2012
2. Agenda
• Motivação da pesquisa
• Objetivos do trabalho
• Contextualização
• Desenvolvimento
• Resultados
• Diferenciação e contribuição
• Conclusão
3. Motivação da pesquisa
• Desafio de utilizar um conceito totalmente
novo
• A principal motivação foi a ausência de
referências bibliográficas sobre o tema
4. Objetivos do trabalho
• Objetivo geral
– Descrever, baseando-se em conceitos, como
e onde o crowd testing pode ser inserido no
processo de teste de software tradicional e
como uma multidão pode contribuir para a
qualidade de software
5. Objetivos do trabalho
• Objetivos específicos
– Analisar o crowdsourcing
– Analisar o processo de teste de software
– Analisar o crowd testing
– Combinar todos os conceitos
– Identificar como uma multidão pode contribuir
para a qualidade de software
6. Contextualização
• Crowdsourcing
– “Representa o ato de uma empresa tomar uma
função, uma vez realizada por funcionários, e externá-
la a uma rede indefinida (e, geralmente, grande) de
pessoas sob a forma de uma chamada pública. Isso
pode assumir a forma de peer-production (quando o
trabalho é realizado colaborativamente), mas também
é frequentemente realizado por um único indivíduo. O
pré-requisito crucial é o uso do formato da chamada
pública e da grande rede de trabalhadores potenciais”
(HOWE, 2006).
7. Contextualização
• Crowd testing
– “É o uso de pessoas (des)conhecidas, a
multidão, para testar software”
(ROODENRIJS; PRINS, 2009, p. 9).
– “Crowd testing é uma comunidade de
testadores que usam a sua própria
infraestrutura e recursos, proporcionando
flexibilidade, economia de custos e tempo de
resposta rápido”
(FORTE CONSULTING GROUP, 2012, p.2).
8. Crowd testing
• Participação dos testadores amadores
• A comunidade de teste e o meio
corporativo
• A inteligência coletiva e a diversidade de
testadores
14. Outros:
- Analista de implantação
- Analista de sistemas
- Assistente de suporte ao usuário
- Desenvolvedor
- Empresário
- Estudante
Resultados
• Sobre os participantes
Perfil do cargo dos participantes
Experiência dos entrevistados
na área de testes
15. Outros:
- Aplicação desktop
Resultados
• Sobre os participantes
Tipo de sistema testado pelos participantes
Atuação dos participantes em
empresas de crowd testing
Outros:
- 99tests
- BugFinders
- CEVIU
- Hoplon
16. Resultados
• Motivação dos testadores no Crowdtest
33%
17%
83%
55%
7%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
Ganhar uma taxa se
o produto for vendido
Desconto na
comprado produto
Pagamento por
defeito encontrado
Premiação para os
melhorescolocados
Nenhum
Motivações financeiras para
participar do Crowdtest
Motivações NÃO financeiras
para participar do Crowdtest
17. Resultados
• Experiência como testador do Crowdtest
– 72% afirmaram que a maioria dos defeitos
encontrados eram comuns
– 34% responderam que a maioria dos defeitos
encontrados eram duplicados
– 83% costumam realizar testes utilizando
diferentes ambientes
– 36% costumam realizar testes utilizando
dispositivos móveis
18. Resultados
• Experiência como testador do Crowdtest
– 60% prefere testar individualmente
– 83% afirmaram que cenários de teste críticos
ou específicos podem ser testados
19. Resultados
• Opinião sobre o crowd testing
– 69% acreditam que a indisponibilidade de
documentação pode reduzir a qualidade
dos testes
– 69% afirmaram que usar uma multidão para
testar software faz com que um maior número
de testes seja coberto
20. Resultados
• Opinião sobre o crowd testing
Contribuição da distribuição
geográfica dos testes
Integrando o crowd testing com o processo
de teste de software tradicional
21. Diferenciação e contribuição do trabalho
• Trabalho de referência no assunto
• Pode ser utilizado por qualquer
profissional da área de TI
• Existem oportunidades para trabalhos
futuros
• Palestra para o GUTS-RS, em Outubro de
2012 na PUC-RS
22. Conclusão
• O trabalho científico consolida diversos
conhecimentos adquiridos
• O crowd testing é...
– Viável
– Qualidade
– Teste como serviço
• As soluções precisam mais de pessoas e
menos de tecnologia