Analise de riscos em projetos de teste, deve seguir as mesmas regras e metodologias aplicadas a projetos de softwares em geral.
Nem sempre é possível aliar um risco a uma perda – um risco presente nem sempre vai gerar uma perda.
Risco é a “Probabilidade de insucesso, de malogro de determinada coisa, em função de acontecimento eventual, incerto, cuja ocorrência não depende da vontade dos interessados”.
A analise de riscos é o processo de avaliar riscos, ameaças, controles e vulnerabilidades.
Alguns conceitos usados no gerenciamento de riscos.
Risco – O risco é uma perda em potencial para a organização.
Analise de risco – A analise de risco é uma avaliação dos recursos de informação de uma organização, seus controles e suas vulnerabilidades.
Ameaça – Existe risco de um meteoro cair na cidade onde você mora. Isso é uma ameaça a sua vida? Não, pois a probabilidade é quase zero. Podemos dizer que ameaça é a capacidade de alguém explorar a vulnerabilidade de um sistema de computador ou aplicação.
Vulnerabilidade – A vulnerabilidade é uma falha de desenho, implementação ou operação que permite a concretização de uma ameaça.
Controle – O controle é a maneira de tentar reduzir as causas dos riscos, evitando, desse modo, sua ocorrência ou, pelo menos, reduzindo a freqüência de ocorrência.
Ao fazer a analise de riscos, devemos levar em conta o seguinte:
-> A probabilidade de ocorrência do risco.
-> O impacto e a perda associada a esse risco.
Identificação dos potenciais riscos ao processo de teste.
*Orçamento – Orçamento é insuficiente. O gerente é obrigado a estabelecer algumas prioridades.
*Qualificação da equipe técnica de teste – A equipe deve estar preparada para novos tipos de tecnologia.
*Ambiente de teste – O ambiente de teste deve estar o mais próximo possível do ambiente de produção.
*Ferramentas – A escolha correta para utilização de ferramentas.
*Metodologias – A falta de metodologia adequada condizente com o processo de desenvolvimento pode acarretar riscos para o sucesso do teste.
*Testware – Deve haver uma metodologia que permita guardar a documentação para uso futuro.
Custo X Benefício
É necessário fazer uma analise Custo versus Beneficio para determinar se vale a pena investir em algum controle de risco.
O QAI estabelece que um risco pode ser determinado de quatro maneiras:
- Intuição ou Discernimento – Área de teste utiliza de sua intuição aliada a sua experiência.
- Consenso – Consenso na equipe de que o risco tem um nível elevado de severidade.
- Formula de Risco – Existem dados financeiros que permitem medir o curso da perda pela ocorrência do risco.
- Estimativas de Perdas Anuais – Combinação de consenso com a formula de risco.
Um software mal testado pode ocasionar ocorrência de defeitos.
A norma ISO/IEC 9126-1 estabelece as características de qualidade que todo software deve ter:
Funcionalidade – Capacidade do software de fornecer funcionalidades que atendam a necessidades definidas quando usado sob determinadas condições preestabelecidas.
Confiabilidade – Capacidade do software de manter um nível especifico de desempenho quando usado sob determinadas condições preestabelecidas.
Usabilidade – Capacidade do software de ser entendido, aprendido, usado e atrativo quando empregado sob determinadas condições especificas.
Eficiência – Capacidade do software de manter o desempenho, em relação aos recursos disponíveis, quando usado sob determinadas condições especificas.
Manutenibilidade – Capacidade do software de ser mantido.
Portabilidade – Capacidade do software de ser transferido de um ambiente para outro.
Alguns tipos de teste necessários para que uma característica de qualidade seja atendida.
Funcionalidade: Teste de funcionalidade
Confiabilidade: Teste de estresse
Usabilidade: Teste de usabilidade;
Eficiência: Teste de desempenho;
Manutenibilidade: Teste caixa-branca etc.;
Portabilidade: Teste de produção, teste alfa, etc.
Outros riscos:
Datas finais dependentes da execução dos testes.
Baixa Qualidade da base dos testes.
Falta de métrica adequada para medir o sistema.
Seguindo o QAI, os riscos associados a instalação de um novo software ou sistema de aplicação são, basicamente, os seguintes:
- Geração de resultados incorretos;
- Aceitação, por parte do sistema, de transações erradas;
- Perda de integridade de arquivo;
- Dificuldades de reprocessamento em caso de necessidade;
- Perda da continuidade do processamento;
- Degradação inaceitável do serviço prestado ao usuário;
- Comprometimento da segurança do serviço;
- Resultados não confiáveis;
- Dificuldade de usar o sistema;
- Dificuldade de prover a manutenção ao sistema;
- Falta de portabilidade;
- Problemas de conectividade com outros sistemas;
- Desempenho ruim;
Passei um pouco correndo sobre este assunto.. Falei no proximo topico sobre o Planejamento dos Testes.