Apps e Websites: Falhas de sistema podem destruir a reputação da sua empresa, por Roberto de Carvalho*
/ Em 2019, o relatório Global App Trends apontou o Brasil como o segundo maior mercado de aplicativos do mundo. Em 2020, mesmo com a pandemia, um estudo da APPFlyer, indicou aumento de 15% nas receitas de aplicativos no país.
Recentemente, a empresa especialista em consumo digital, App Annie, divulgou uma pesquisa que revelou que, só no primeiro trimestre de 2021, o Brasil foi o segundo país com a maior média de horas por dia utilizando aplicativos e que, até o final do ano, o mercado global de apps deve atingir a marca dos US$ 6,3 trilhões.
Outro setor que também tem mostrado crescimento considerável no Brasil desde o início da pandemia é o de e-commerce, que de acordo com a Associação Brasileira de Comércio Eletrônico (Abcomm), registrou, em apenas dois meses, 107 mil novas lojas online.
Apesar dos números positivos, os últimos dois anos foram evidenciados pelas maiores falhas de sistema da história recente. Tal fato resulta da escassez de processos e camadas de testes que asseguram a qualidade desses softwares, o que, além de acarretar prejuízos financeiros para as empresas, também gera frustrações nos clientes e denigre a reputação das marcas.
Mas, se já é sabido que os testes de qualidade podem diminuir o número de falhas, por que, em pleno momento de ascensão do setor, muitas organizações ainda não os realizam? Bom, há diversas respostas para esta questão, porém, existem alguns motivos que podem ser destacados, entre eles:
• A crença de que os desenvolvedores são responsáveis por testar o próprio código e entregá-lo livre de erros;
• A convicção de que a realização de testes é uma etapa posterior ao desenvolvimento;
• O costume de acumular muitas modificações em sistemas para liberá-los de uma única vez;
• Redução da cobertura de testes executados para apressar a liberação.
Outro motivo que podemos citar é a pressão em termos de custo e prazo. Fazer mais rápido e mais barato é sempre um imperativo. Nesse contexto, é comum que as empresas acabem sacrificando algumas etapas. Porém, quando se trata de segurança e funcionalidade de sistemas, isso não deveria ser uma prática. Assim como é inadmissível um engenheiro civil reduzir a segurança de um prédio, uma equipe de desenvolvimento de software jamais deveria permitir o comprometimento da segurança das informações, da privacidade dos usuários, assim como colocar a reputação da empresa em risco.
Embora as consequências da insuficiência de testes em aplicativos e websites variem de acordo com a gravidade do problema, é possível afirmar que em um nível operacional, a primeira decorrência direta é o aumento exagerado nos esforços de suporte ao usuário. A segunda, um gasto significativamente maior com manutenções corretivas. Em casos mais sérios, as complicações podem provocar atrasos nas operações, erros em emissões de documentos, retrabalhos, entre outros. Se a aplicação contiver uma brecha de segurança, os prejuízos podem ser inimagináveis.
As empresas precisam compreender que é necessário realizar testes de qualidade em todo o processo de desenvolvimento do sistema, inclusive no início com provas de conceito e com behavior-driven development. Durante a elaboração, com testes unitários e ao final do desenvolvimento com testes automatizados e exploratórios, além de outras práticas. Após a liberação, também é necessário testar em ambiente de produção, com uma abordagem shift-right testing.
A melhor maneira de assegurar que um app ou website funcione bem em diversos aparelhos, é utilizando Device Farms que, além de possibilitar a execução de uma bateria de testes automatizados em dezenas de equipamentos de uma só vez, facilitam o acesso e a gestão de dispositivos, tornando-os acessíveis remotamente para times de desenvolvedores e testadores.
Uma última questão crucial é as organizações entenderem que apesar de diminuírem significativamente os números de falhas, os testes nunca serão suficientes para zerar os bugs de um sistema. Portanto, além de transformar crenças, convicções e costumes nocivos, as empresas devem ter uma estratégia de cobertura que assegure o total funcionamento das funções mais críticas, podendo ser mais flexível em relação às funções periféricas ou menos essenciais.