Crowdsourcing é o processo de solicitar a um grande grupo da comunidade, uma multidão (crowd, em inglês), que execute uma tarefa que é tradicionalmente realizada por um grupo seleto de uma organização, muito provavelmente empregados ou contratantes. Crowdsourced testing é a poderosa combinação da economia da web e cloud com a efetividade e eficiência do crowdsourcing. Isso poderia ser mudar a forma que fazemos hoje?
Israel Gat mencionou que o processo de teste de software pode ser dividido em duas partes
- Testes de unidade pelo time de desenvolvimento
- Todas as outras formas de teste, incluindo funcional, carga, regressão, usabilidade, etc.
De acordo com Israel, a segunda parte é na qual o jogo está mudando e há companhias especializadas em testes que estão fazendo uso eficiente da web e da multidão. Ele mencionou que, pela definição de teste, crowdsourced testing se adequa muito bem a um processo como o Kanban.
Por definição, teste como um serviço envolve entregar tarefas de um grupo a outro. Não importa o quão próximo um time de desenvolvimento trabalha do grupo que cuida dos testes, é um fluxo de um estágio a outro. Tal fluxo se adequa às técnicas de Kanban naturalmente.
Bob Walsh sugeriu como o crowdsourced testing pode ser útil para as organizações. De acordo com ele,
Os membros de uma multidão comprometida com a garantia da qualidade irão dividir uma paixão por testes. Para você isso é um ganho! Por exemplo, pode ser que um testador em Hong Kong rodando Windows Server 2003 descubra que sua aplicação quebra quando tenta ler arquivos contendo caracteres cantoneses em unicode. Ou pode ser que um testador no Brasil rodando Red Hat Enterprise Linux 3 descubra que sua aplicação depende de funcionalidades do glibc encontradas somente a partir da versão 4.
Do mesmo modo, Yvette Francino mencionou a razão para o serviço de crowdsourced testing existir. De acordo com ele,
É virtualmente impossível testar o vasto número de dispositivos e configurações que um software baseado na web pode rodar atualmente. Adicione a isso as diferenças que podem ocorrer se o software é feito para rodar em qualquer lugar e você tem um grande obstáculo para os métodos de teste tradicionais. Como é possível testar o código de forma efetiva em todas as regiões geográficas? A melhor alternativa seria que as pessoas nativas do país, que são mais parecidas com o usuário final, testassem o software.
Stanton Champion esboçou alguns benefícios de crowdsourced testing. Incluindo,
- Acesso a diversas plataformas, línguas e pessoas
- Conhecimento do mundo real, não somente resultados inventados de casos de teste
- Teste realizado por centenas de pessoas ao mesmo tempo
- Feedback rápido
De maneira similar, Fred Beringer mencionou que ele é um grande fã de crowdsourcing e que crowdsourced testing ajuda muito a combater,
- A necessidade de um ambiente de hardware mais amplo, flexível e heterogêneo usado primariamente para compilação e testes de performance.
- A necessidade de assegurar capacidade de teste adequada e flexível para ser capaz de lidar com prazo de entrega agressivo.
Assim, crowdsourced testing parece ser um conceito interessante, que ajudaria organizações a utilizar o poder heterogêneo da multidão. Como Israel coloca,
Se crowdsourced testing realmente deslanchar, irá acelerar a desconstrução e reformulação do processo de entrega do produto.