CROWD TESTING
O poder da multidão em prol da qualidade de software
Moisés Armani RamírezSão Leopoldo
2012
Agenda• Motivação da pesquisa
• Objetivos do trabalho
• Contextualização
• Desenvolvimento
• Resultados
• Diferenciação e contribuição
• Conclusão
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
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
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
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).
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).
Crowd testing
• Participação dos testadores amadores
• A comunidade de teste e o meio corporativo
• A inteligência coletiva e a diversidade de testadores
Crowd testing
• A experiência do testador como técnica de teste
• Regras de utilização do crowdsourcing aplicadas no crowd testing
• Tendências
Outros:- Analista de implantação- Analista de sistemas- Assistente de suporte ao usuário- Desenvolvedor- Empresário- Estudante
Resultados
• Sobre os participantesPerfil do cargo dos participantes
Experiência dos entrevistados na área de testes
Outros:- Aplicação desktop
Resultados
• Sobre os participantesTipo de sistema testado pelos participantes
Atuação dos participantes em empresas de crowd testing
Outros:- 99tests
- BugFinders- CEVIU- Hoplon
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 seo produto for vendido
Desconto nacompra do produto
Pagamento pordefeito encontrado
Premiação para osmelhores colocados
Nenhum
Motivações financeiras para participar do Crowdtest
Motivações NÃO financeiras para participar do Crowdtest
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
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
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
Resultados
• Opinião sobre o crowd testingContribuição da distribuição
geográfica dos testes
Integrando o crowd testing com o processo de teste de software tradicional
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
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