Reformulação de Testes de Software nos diferentes contextos da Indústria

Existem vários tipos de testes de software conceituados academicamente e que são utilizados amplamente na Indústria. Para cada tipo de teste, temos uma forma de fazer, um foco e um contexto diferentes. Podemos nos apoiar em alguns exemplos: um software de controle industrial de segurança crítica não deve ser testado da mesma forma que um aplicativo móvel comercializado em lojas virtuais. O teste em um projeto que mantém um ciclo de vida sequencial é diferente de um teste executado em um projeto ágil.

Dentro do conceito de testes funcionais (testes que avaliam as funções que o sistema deve executar), o contexto continua sendo muito importante. Dependendo das habilidades e conhecimentos específicos envolvidos no projeto industrial, o planejamento e a execução dos testes funcionais podem requisitar a inserção de profissionais especializados e conhecimentos especiais embasados nos conceitos do problema de negócios que o software resolve, como por exemplo, um software de modelagem geológica para as indústrias de petróleo e gás.

Ainda se tratando de testes funcionais, o foco da atualização pode estar no papel específico que o software desempenha, envolvendo assim habilidades e conhecimentos especiais no momento do projeto de testes e depois na sua execução. Um exemplo de projeto de software que requer um conhecimento especial na própria função do software seria um sistema que fornece entretenimento interativo.

Componentes ou sistemas industriais, de maneira geral, podem responder de maneira diferente a um estímulo, dependendo das condições atuais ou do histórico anterior. O teste de transição de estado é um tipo de teste que verifica estes comportamentos dos componentes ou sistemas a cada evento ocorrido. Testes de transição de estado são bastante utilizados na indústria de software de prateleira, especificamente em aplicativos baseados em menus.

A técnica de testes de transição de estado também é adequada para diagramar um cenário de negócios com estados específicos e para testar a navegação na tela. Estados, neste caso, podem representar de linhas de código até um processo de negócios inteiro. A cobertura é medida como o número de estados alcançados ou transições testadas, dividido pelo número total de estados ou transições identificadas no objeto de teste, geralmente representada por uma porcentagem.

Seja qual for a área de atuação industrial, a disciplina de testes de software pode ser utilizada e adaptada, buscando assim uma melhor garantia de qualidade do projeto desenvolvido. A ideia de identificar o quanto antes o contexto do projeto industrial trará benefícios no momento de serem levantados os testes específicos para o projeto, reduzindo custos e potencializando a qualidade.

 

Por Hugo Almeida
Pesquisador Industrial do ISI-TICs
https://www.linkedin.com/in/hugolnalmeida/

Deixe uma resposta