O conceito de shift-right testing (também chamado de “testing in production”) é simples, mas envolve uma certa ousadia: envolve realizar testes continuamente quando o software já está em ambiente de pós-produção. É um complemento à tradicional prática do shift-left testing, que consiste em incorporar testes o mais cedo possível no desenvolvimento, prevenindo problemas ao invés de detectá-los.
E onde está a “ousadia” na abordagem do shift-right testing? No fato de que sai do ambiente “seguro” do desenvolvimento e coloca a aplicação em contato com usuários, podendo trazer insights que dificilmente seriam obtidos de outra maneira.
Há uma série de técnicas de shift-right testing. Vamos falar das mais comuns.
Testes canários
Envolvem enviar atualizações a um pequeno grupo de usuários finais, sem que eles sejam notificados formalmente. Normalmente são alterações pequenas, que podem ser facilmente revertidas se necessário.
A ideia é monitorar a resposta dos usuários às mudanças na aplicação. Se a resposta for positiva, a atualização pode ser disponibilizada a todos; caso contrário, os desenvolvedores revertem a mudança e usam o feedback dos usuários para melhorar a atualização.
O nome do teste deriva de uma prática antiga, em que mineradores levavam canários para alertá-los sobre a presença de gases perigosos. No contexto dos testes, os usuários alertam sobre problemas nas alterações.
Testes A/B
Também conhecido como split testing, o teste A/B é muito comum em desenvolvimento para web. Consiste em criar uma versão alternativa de um produto (como uma landing page, por exemplo) e exibi-la para parte dos usuários. Normalmente altera-se apenas um tipo de elemento na versão alternativa, para poder testar isoladamente seu desempenho.
Uma empresa conhecida que utiliza testes A/B com frequência é a Netflix: com ajustes no algoritmo, na ordem dos filmes e séries e até nas imagens de capa dos produtos. Seus desenvolvedores conseguem encontrar variações mais efetivas a partir do feedback dos usuários.
User acceptance testing (UAT)
O UAT (termo em inglês para “teste de aceitação do usuário”) é talvez o que melhor incorpora a “ousadia” da qual falamos no início do artigo, pois coloca a aplicação em contato com o usuário final e deixa claro que se trata de um teste (ao contrário dos métodos anteriores, que são feitos de maneira velada).
Nesta abordagem, usuários escolhidos podem testar o software antes de seu lançamento oficial, para ver se está de fato pronto para ser lançado. Pode ser feito in-house, com voluntários ou usuários pagos para isso; ou por meio de versões de teste disponibilizadas ao público geral.
Existem diversos tipos de UAT, como beta testing (em que o feedback do usuário servirá como base para finalizar o desenvolvimento); black box testing (no qual o usuário testa funções específicas sem poder ver o código interno); e regulation acceptance testing (em que o foco está em descobrir se o software cumpre regulamentações legais).
Os benefícios do shift-right testing
Em essência, a grande vantagem da abordagem shift-right testing é fornecer insights a partir da experiência de usuários reais, que, por não estarem inseridos no ambiente de desenvolvimento, podem avaliar a aplicação de maneira mais objetiva e realista.
Esse tipo de feedback ajuda a reduzir certos riscos inerentes à entrega contínua, facilitando a detecção de bugs e dando base para alterações realmente efetivas. Além disso, favorece uma maior colaboração entre desenvolvedores, profissionais de QA e usuários.
A Prime Control oferece uma gama de opções de teste para a sua aplicação, incluindo práticas de shift-right testing. Clique aqui e agende sua conversa com um dos nossos especialistas.