Testes de software orientados a riscos

A atividade de testes pode ter um custo bastante elevado.  Há estimativas de que ela chega a custar até 45% do valor inicial do projeto.  Além disso, sabemos que testes exaustivos não são viáveis, como é definido no 2ºprincípio fundamental do teste de sofware.

Como garantir o máximo de qualidade possível no seu produto, com o menor esforço de tempo e gastando menos dinheiro possível? Essa é uma pergunta difícil de se responder objetivamente. Há métodos e técnicas que contribuem positivamente para a execução mais objetiva e otimizada dos testes.

Uma técnica interessante é a RBT ( Risk-Based-Testing) ou Teste baseado em riscos.  Basicamente, ela minimiza a dificuldade de priorizar o esforço e a dificuldade de teste.

O processo se divide basicamente em 3 etapas:

Cálculo do risco

A parte inicial do processo de teste baseado em riscos é justamente fazer a análise do risco de cada funcionalidade. Não é uma etapa fácil, por ser uma análise subjetiva. São necessários experiência e conhecimentos técnicos para poder calcular de maneira satisfatória os riscos.

Elaboração e execução de casos de teste

Os casos de teste são elaborados de acordo com a análise de risco, dando prioridade do esforço de teste para as funcionalidades de maior risco.

Acompanhar e gerenciar os riscos

A medida que os riscos são eliminado, novos riscos surgem e os esforços devem ser reajustados para tratar os riscos de maior importância.

Para exemplificar, observe esse exemplo muito simples de um cálculo de riscos:

 Funcionalidade

Impacto

Probabilidade

Risco

Cadastro de produto

5

5

25

Exclusão de produto

1

3

3

Consulta

3

3

9

Pagamento com cartão de crédito

5

5

25

Cadastro de cliente

5

3

15

Acompanhamento de pedido

1

3

3

 

 

 

 

 

Nesse exemplo, Impacto e Probabilidade podem variar de 1 a 5 e Risco = Impacto x Probabilidade. O Impacto é o grau do dano que um erro naquela funcionalidade pode gerar. A Probabilidade é a chance de que um erro naquela funcionalidade ocorra.

Portanto, temos nesse cenário fictício as funcionalidade de Cadastro de produto e Pagamento com cartão de crédito como sendo as de maior risco. Deve-se então dedicar maior esforço de teste para essas duas funcionalidades, levando em consideração a criação de casos de testes e a execução dos testes. As funcionalidades com menor risco devem ser testadas também, mas não é necessário dedicar muito tempo nem escrever muitos casos de teste para elas.

Mais uma vez, a parte de análise dos riscos é a mais importante nesse modelo, pois é a partir dela que serão tomadas as decisões na elaboração dos testes. Deve ser feito também um acompanhamento contínuo para reavaliar os riscos à medida que os testes vão sendo executados.

Não há dúvidas de que, se bem aplicada, a técnica de testes orientados a riscos é uma ótima estratégia para conseguir agilidade e precisão na garantia da qualidade do software.

Gostou? Compartilhe!

About Pedro Costa