Com uma boa equipe de programação, com certeza os desenvolvedores já estarão testando o produto antes de entregá-lo de fato ao cliente final. Por qual motivo então precisamos de testadores?

Os desenvolvedores vão traduzir as ideias criativas apresentadas para linguagens de programação, enquanto os testadores vão mapear os desvios de comportamento e melhorias que podem ser implementadas para que o aplicativo, software ou site chegue ao usuário com uma ótima experiência. O Android Developers, por exemplo, oferece dicas para pelo menos oito áreas diferentes que podem ser levadas em consideração, como as diferentes plataformas de uso possíveis dos apps. A Apple também oferece dicas diretas sobre áreas em que devemos ter atenção.

O trabalho oferecido pelos testadores é um acompanhamento e uma avaliação de aspectos do projeto ou serviço: verificar se o produto se adequa à finalidade pretendida e indicar todas as oportunidades de melhoria, de forma que toda a equipe entregue o melhor resultado final possível, dentro do prazo estimado. Logo, ainda que os desenvolvedores também façam testes nos seus códigos antes de entregar, alguns pontos precisam ser vistos por uma terceira pessoa. Por quê? Confira alguns motivos:

Visão de fora

É como quando um revisor lê um texto de um jornalista, ou um advogado confere uma argumentação produzida pelo seu sócio. Não quer dizer que o trabalho inicial não esteja bom – apenas que uma visão de alguém que não produziu o material pode encontrar algum ponto que deixamos passar, por estarmos muito envolvidos com o projeto.

Não quer dizer que o trabalho inicial não esteja bom – apenas que uma visão de alguém que não produziu o material pode encontrar algum ponto que deixamos passar, por estarmos muito envolvidos com o projeto.

O teste de software é sobre olhar para o produto de diferentes ângulos, com diferentes perspectivas e testá-lo com diferentes expectativas. Assim, quando a pessoa que testa não é a mesma que desenvolveu, ela tem uma visão diferenciada e pensa fora da caixa e de maneira neutra, imparcial, sem deixar para trás os pontos cegos que temos ao avaliar aquilo que nós mesmos fizemos. Em algumas palestras, gosto de utilizar a metáfora de uma floresta: enquanto os desenvolvedores se preocupam em construir/cuidar muito bem de cada árvore, o testador está preocupado em analisar a floresta inteira, incluindo a interação entre as inúmeras árvores.

floresta

Neste outro artigo, dei exemplos do que pode acontecer se você não fizer testes de software e a influência negativa de um olhar viciado.

O que deve funcionar e o que não deve funcionar

Em geral, a primeira impressão que temos de um testador é de que ele deve validar que o que criamos faça exatamente o que deveria fazer. Sim, isso é importante. Mas considere também que a missão dele vai além: significa ainda garantir que o sistema não esteja executando tarefas que não deveria e testar várias possibilidades de combinação de teclas e comandos que o usuário possa vir a utilizar. Sempre há uma chance de um usuário usar combinações inesperadas, mesmo que pareça absurdo.

lupa

Outra questão é que algo que funciona quando uma pessoa está usando pode não funcionar adequadamente quando centenas de pessoas estão usando. O app pode travar, pode levar mais tempo para executar uma pesquisa, pode ter dificuldades para conectar ao GPS e chamar uma corrida de táxi, gerando impactos negativos no seu negócio e insatisfação dos clientes. O teste é a chave para descobrir essas falhas de forma antecipada para que a equipe de desenvolvimento possa consertá-las.

Adaptação às particularidades de cada plataforma

Considere também que existem muitos dispositivos, navegadores e sistemas operacionais diferentes. Às vezes, o desenvolvedor que programa a versão Android do seu aplicativo não é o mesmo que programa a versão iOS. E o que dá certo em um sistema não tem garantia de dar certo no outro.

Flat design concept icons for web and mobile services. Apps icons for internet advertising responsiv

Equipes de teste já estão preparadas para esse tipo de peculiaridades, têm ferramentas disponíveis e poderão avaliar cada aplicativo em cada dispositivo. Além disso, quanto mais cedo for encontrado um bug no produto, menor será o custo de consertar. Em uma pesquisa realizada em 2013 pela Judge Business School da Universidade de Cambridge, foram relatados custos de 312 bilhões de dólares por ano derivados de falhas encontradas em softwares no mundo todo.

O teste não é só a execução mecânica, mas é também entender a importância do que está sendo desenvolvido. Assim, o resultado final do trabalho é a satisfação e o sucesso dos clientes.

E aqui na One Day Testing, nós podemos te oferecer de uma forma mais rápida do que você imagina todos os testes necessários para garantir a qualidade do seu aplicativo ou software. Entre em contato comigo pelo e-mail bruno.abreu@sofist.com.br ou ligue (19) 3291-5321. Será um prazer ajudar!