E se os softwares não fossem testados?
Postado por Roberto de Carvalho, Chief Revenue Officer da Prime Control em 12/03/2021 em ArtigosImagine que, por algum motivo, você precise chegar com urgência em um hospital. Para isso, abre o aplicativo de transporte, solicita uma viagem e aguarda.
Ao perceber a demasiada demora da plataforma em prestar o serviço, você decide realizar uma verificação e percebe que o motorista foi erroneamente direcionado para o outro lado da cidade. Este é um tipo de situação que ocorre quando softwares não são testados.
Agora, vamos supor que você tenha conseguido chegar ao hospital. Porém, logo de início repara uma movimentação diferenciada: altíssima concentração de pacientes nas salas de espera, médicos ansiosos andando pelos corredores, familiares muito nervosos e funcionários pedindo calma.
O problema? Uma falha generalizada no sistema deixou os arquivos de todos os pacientes inacessíveis, forçando a interrupção de atividades no local. Que bom seria se o software tivesse sido testado, não é mesmo?!
Segundo o estudo The Cost of Poor Software Quality in the US: A 2020 Report, os últimos dois anos foram marcados pelas maiores falhas de software da história recente. Dentre os lapsos, ataques de ransomware e ataques de cibersegurança. De acordo com dados disponibilizados pela Fortinet, até setembro de 2020, só a América Latina e o Caribe sofreram 20 bilhões de tentativas de ciberataques.
No ano passado, segundo o relatório divulgado recentemente pelo Consortium for Information & Software Quality (CISQ), apenas nos Estados Unidos o custo total da má qualidade de software (CPSQ) foi de US$ 2,08 trilhões. Em conformidade com o estudo, entre as principais causas deste valor estão projetos mal sucedidos e as falhas operacionais de softwares.
Tais dados são resultados da carência de testes, seja na fase de concepção ou de manutenção dos sistemas. Nos últimos anos, o mundo pôde observar as consequências da exiguidade de testes de software ao acompanhar o caso das aeronaves fabricadas pela Rockwell Collins Aerospace que, por conta de uma falha de sistema, efetuavam curvas para o lado errado em aproximações perdidas.
Diante dos fatos apresentados, fica evidente que se os softwares não forem testados e os procedimentos forem tratados sem a devida importância e como processos dispensáveis, os prejuízos serão cada vez maiores e não apenas financeiros.
Uma observação que tenho feito, por meio de testes práticos, é que a implementação de cobertura mínima de testes automatizados nos primeiros 30 dias de trabalho permite que erros sejam encontrados mais rapidamente, evitando crises de produção ou processos.
De forma geral, o teste de software tem como objetivo garantir a qualidade do sistema. Além de auxiliar o alinhamento de expectativas iniciais com o que está sendo produzido, os testes de software são responsáveis pela localização de problemas, detecção de imperfeições de design e estabilidade do sistema, diminuindo significativamente potenciais riscos nas operações dos mais variados setores.