Trate o seu processo de desenvolvimento e teste de software com o rigor necessário.

Trate o seu processo de desenvolvimento e teste de software com o rigor necessário.

Publicado em: 22 de Maio de 2020

Sidney Galeote

Sócio Fundador da ExSeed - Excellence in Software Engineering Education;
Professor Universitário

No último dia 7 de fevereiro de 2020 foi publicado no site Canaltech uma matéria com o título de: Nave da Boeing que falhou em teste para a NASA teve erro de software.
Segue o link: https://canaltech.com.br/espaco/nave-da-boeing-que-falhou-em-teste-para-a-nasa-teve-falha-de-software-160142/.

Abaixo faço um recorte da matéria com os principais pontos de interesse, quando estamos tratando de um processo de desenvolvimento e teste de software para um projeto crítico:

“No final de dezembro de 2019, a Boeing fez o primeiro voo de sua nave Starliner rumo à Estação Espacial Internacional (ISS), mas ela não conseguiu chegar ao destino —devido a uma falha que resultou na falta de combustível.”

“Mas esse não era o único problema.A Starliner apresentou um erro em seu software, que poderia ter sido “catastrófico” caso não tivesse sido corrigido em tempo. O problema do software foi identificado durante os testes no solo após o lançamento da Starliner. Se não tivesse sido corrigido a tempo, o erro teria interferido na separação do módulo de serviço e da cápsula Starliner.”

“A Boeing corrigiu um erro de código de software apenas duas horas antes de o veículo entrar na atmosfera. Se o erro não tivesse sido detectado, os propulsores adequados não abririam durante o processo de reinserção e o veículo se perderia.”

Pausa – Espera! Quer dizer que uma empresa como a Boeing aparentemente não testou o software o suficiente, corrigiu um problema do software “em produção ?”

“Assim há uma “preocupação maior com o rigor dos processos de verificação da empresa”. Deve-se buscar não apenas a causa raiz dessas anomalias específicas do software de voo, mas também uma avaliação e ações corretivas da Boeing para os processos de integração e teste da Boeing””.

“Foi recomendado que a NASA conduza uma avaliação “ainda mais ampla” dos processos de engenharia e integração de sistemas da Boeing. Somente após essas avaliações a NASA deve determinar se a sonda Starliner realizará um segundo voo de testes.”

Conclusão – Se você tem em mãos um projeto crítico, o seu processo de desenvolvimento e de testes de software não pode ser subestimado. Note como nesse recorte da matéria, aparecem termos tão comuns no nosso cotidiano do desenvolvimento de software – processo de verificação (revisão de software); processo de integração e testes (integração contínua); análise de causa raiz (aprenda com os erros cometidos, para que não se repitam); avaliação dos processos de engenharia e integração de sistemas (metodologia de desenvolvimento, e o tão sofrido teste de integração de sistema).

Veja como aparentemente um teste insuficiente pode colocar em risco o projeto, eventualmente vidas de pessoas e a imagem da empresa. Certamente testar mais e melhor nesse contexto, sai muito barato.