Priorizar. Essa palavra é muito importante quando você testa o seu projeto. Sabe quando você precisa testar uma aplicação, mas pode demorar mais que o esperado ou o custo fica fora do seu orçamento? A ordem é priorizar: assim, você consegue focar no que realmente importa e não abrir mão da qualidade.

Uma ótima analogia é quando você compra um carro. Do jeito que o veículo vem de fábrica, ele já resolve o seu problema — locomover-se pela cidade, transportar coisas, pessoas, etc. Mas geralmente ele é vendido com opcionais, como ar condicionado, freio abs e vidros automáticos.

Atenção ao nome: adicionais. Se você optar por não acrescentá-los, talvez por baixo orçamento ou falta de necessidade, seu carro vai andar do mesmo jeito.

Com a priorização dos testes, o produto ficará com a qualidade desejada, cobrindo o risco principal.

Teste de software é gestão de risco

Afinal, qual é o risco de que estamos falando? Simples: o risco do seu cliente ter uma experiência ruim com o seu produto e você perder negócios. Em alguns casos o risco é maior; em outros, nem tanto. Por isso é importante  priorizar. Essa é a filosofia da One Day Testing: vamos cobrir os maiores riscos. Você pode optar por priorizar ou deixar de lado:

Testes em vários dispositivos

Às vezes, um teste bem feito em um Android e um iPhone já está bom o suficiente para alguns projetos. Mas, quanto mais esse universo de testes é expandido, menor a chance de algum usuário ter uma experiência negativa. Se você traçar um universo de usuários que usam certos dispositivos que são mais comuns no seu site, normalmente já é o suficiente para oferecer uma boa experiência.

devices-traffic

Teste de front e back end

Para quem não está familiarizado, o front-end é a parte visual e funcional, que você vê do site, enquanto o back-end é o que está por trás de tudo, no servidor. É bem mais completo testar os dois. Problemas no front-end incluem erros na disposição de elementos ou de falhas que prejudicam a experiência do usuário. Já no back-end, são verificadas as coisas que estão acontecendo por baixo dos panos. Ou seja: será que quando o usuário envia uma mensagem em um aplicativo ela realmente chega? Sempre?

No entanto, por questões de tempo (o back-end leva bastante tempo para ser analisado, assim como o front-end, se forem muitas páginas) e dinheiro (mais testes custam mais dinheiro), pode ser mais desejável testar apenas o front ou apenas o back-end.

Os mais variados tipos de testes

O teste de funcionalidade é essencial para garantir o funcionamento básico de aplicações orientadas para consumidores. Será que tudo está funcionando dentro do esperado?

Testes de usabilidade servem para garantir que  boas práticas de experiência de uso foram implementadas. Será que sua aplicação é amigável, fluida, intuitiva e clara para um usuário comum?

Outro tipo de análise que pode ajudar bastante a melhorar a qualidade do seu produto é o teste em conexões lentas. A ideia é analisar como a sua aplicação se comporta quando a conexão do usuário é mais lenta. Todos nós temos, em algum momento, uma conexão ruim, seja num Wi-Fi compartilhado ou em uma região que só pega 3G ruim.

Por fim, o teste de portabilidade analisa o comportamento do seu aplicativo nos mais diferentes aparelhos de celular (ou em navegadores, no caso de sites). A ideia é garantir o funcionamento correto para todos os usuários, em qualquer ambiente.

Como priorizar os testes

Normalmente, o próprio cliente pode ver como priorizar os testes ou perguntar para a One Day Testing o que é importante para aquele tipo de aplicação. Eis algumas dicas para você não dar nenhum tiro no escuro:

Leia o Google Analytics

A maioria dos sites e aplicações já usam o Google Analytics, ferramenta que, entre outras coisas, serve para contar as visitas no site. Se configurada corretamente, ela também analisa vários padrões e informações de visita dos usuários que podem ser muito bem aproveitados pelo gestor de projetos.

Seguindo o exemplo acima, é possível ver quais são os navegadores que os usuários mais usam para acessar o site, de forma a priorizar os testes onde os seus usuários estão. Por exemplo: por padrão, testaríamos os navegadores Chrome e Firefox (no Windows) e Safari (no Mac). Mas vimos que o seu site tem 20% dos acessos provenientes do Internet Explorer e apenas 1% do Firefox. Concorda que, nesse caso, é bem mais vantajoso focar no Internet Explorer?

teste-software-capa

Isso também vale para dispositivos: se o seu site é muito acessado pelo iPad, talvez seja legal incluir esse tablet no lugar de um dispositivo Android com menos acessos.

Complemente com informacões de mercado

Caso as informações do Analytics sejam imprecisas, ou você gostaria de ir mais longe, também é legal procurar, por exemplo, os 10 Androids mais usados no Brasil para ter uma ideia de quem pode acessar o seu site.

Amostragem

Também faz parte de manter uma boa imagem do produto checar que ele esteja escrito em bom português. Testes que analisam a qualidade do conteúdo são demorados, ainda mais se há muito conteúdo.

Esse tipo de checagem pode ser despriorizado caso você queira focar na experiência do usuário, por exemplo, ou feito por amostragem. Ou seja: uma amostra é escolhida como base para analisar um todo. Às vezes, vale mais a pena assumir o risco do usuário encontrar um erro de ortografia em um portal de mil páginas do que você pagar bem mais caro e esperar muito tempo para validar tudo o que está lá dentro.

Pode parecer estranho falar que vale a pena assumir esse risco. Mas, como eu disse, é uma questão de priorizar. Pode ser que você faça o teste de ortografia em detrimento de um teste de funcionalidade, por exemplo, e o site esteja com tudo escrito corretamente, mas na hora de fazer login, o cliente não consiga nem acessar a conta.

Leve em conta a fase do projeto

Acontece muito de alguns projetos estarem no começo, mas o cliente já querer fazer testes de portabilidade ou de conexões lentas. Altamente compreensível, afinal, quando lançar, já é bom estar tudo certo. Né?

Sim. Mas acontece que alguns projetos, principalmente no começo, precisam mais de um teste de funcionalidade ou de validação do projeto do site, da arquitetura da informação, e uma série de revisões técnicas antes do desenvolvedor meter a mão na massa.

Por quê? Imagina que tenha um erro no projeto do seu site, vamos supor que um botão não está em um lugar adequado, algo que passou despercebido por quem desenhou. Mas a execução foi impecável, e o botão ficou ali, funcionando, mas no lugar errado. Não seria melhor ter detectado esse erro desde o começo?

Em uma escala mais alta, pode acontecer do desenvolvedor ter que programar várias coisas novamente para consertar um erro. A timeline dos testes normalmente prioriza a funcionalidade, depois a usabilidade, depois alguns testes de segurança e desempenho. Todos são muito importantes. Mas, dependendo da fase do projeto, o investimento pode ser melhor aplicado no que você precisa para este momento.

Outro caso comum, é no lançamento de produtos novos. É comum gestores de projeto e empreendedores quererem adiar o lançamento de um produto novo, para deixar ele “perfeito”. Contudo, em se tratando de inovação, um dos maiores riscos é adoção pelos usuários e, mesmo que o produto esteja técnicamente perfeito, ele pode falhar. Para reduzir esse risco, é possível reduzir o escopo, fazendo lançamentos menores, ou mesmo fazer testes “Beta”, com usuários que estão dispostos e interagir com um produto “não acabado”.

A One Day Testing pode ajudar nesse processo de definir a melhor estratégia para o seu projeto e priorizar os riscos a serem tomados, de forma a tornar os testes mais eficientes e conseguir um plano dentro do seu orçamento.

Se você ficou com alguma dúvida ou precisa de ajuda, fico à disposição para conversarmos sobre o seu caso. Me mande um e-mail em julio.viegas@sofist.com.br ou ligue em (19) 3291-5321. Será um prazer ajudá-lo! =)