Esse artigo faz parte da revista Engenharia de Software 16 edição especial. Clique aqui para ler todos os artigos desta edição



Validação, Verificação e Teste

Perfil Operacional

Informação Estratégica para Testes de Software

 

De que se trata o artigo:

Apresenta o que é perfil operacional e mostra o passo a passo de como construir o perfil operacional de um sistema de software, que constitui informação essencial para as atividades de teste de software.

Para que serve:

Informar como e quando considerar o perfil operacional de um sistema no desenvolvimento de software, visando tornar mais eficientes os testes de software.

Em que situação o tema é útil:

Trata-se de uma prática de engenharia de software considerar o perfil operacional de um sistema de modo a melhor alocar recursos para atividades de teste de software, objetivando aumentar a confiabilidade de um software.

 

Teste de software é uma das atividades do processo de desenvolvimento de sistema de software que visa executar um programa de modo sistemático com o objetivo de encontrar falhas. Perceba que teste de software não é a última atividade do processo de desenvolvimento de software, conforme uma visão geral do processo RUP (Rational Unified Process) mostrado na Figura 1.  Observe que as atividades de teste ocorrem durante todo o processo.

                                     

 

Figura 1. Visão geral do RUP.

 

Agora, como o objetivo básico do teste do software é encontrar falhas, é necessário definir como o software será testado e quanto tempo será gasto com essa atividade. Em outras palavras, torna-se necessário estabelecer quanto de esforço será dedicado aos testes de software de modo a ter um resultado satisfatório.

Perceba aqui que é preciso ter uma estratégia que torne a atividade de teste de software mais eficiente. Nesse sentido, este artigo apresenta o perfil operacional (ou operational profile) como uma informação estratégica que objetiva auxiliar a atividade de teste de software.

Teste de Software

Software permeia nosso cotidiano e assegurar que ele funcione corretamente, entregando as funcionalidades (para as quais ele foi projetado) de modo confiável é função do engenheiro de software. No entanto, do ponto de vista prático, as questões abaixo surgem:

1.      É possível ter um software ‘perfeito’?

a.      Se sim, como?

b.      Se não, quando parar de testar?

 

Antes de responder às questões acima, deve-se lembrar que o componente hardware nos sistemas computacionais é considerado como confiável atualmente. Entretanto, não se pode dizer o mesmo do componente software. A confiabilidade de software tem papel relevante nos sistemas atuais e de suma importância nos sistemas críticos.

Ter o software como elemento essencial dos sistemas coloca sobre ele a necessidade de assegurar qualidade e, mais especificamente, sua capacidade de não apresentar falhas quando em uso, isto é, o software tem de ser confiável. A confiabilidade de software é definida como a probabilidade do software operar sem ocorrência de falhas durante um período especificado de tempo em um determinado ambiente.

Com esses conceitos em mente, já podemos responder às questões acima. A resposta para primeira pergunta é não. Para entender isso, você precisa lembrar que faltas podem ser introduzidas em qualquer uma das fases do desenvolvimento de software, ou seja, especificação, projeto, codificação, testes e manutenção. Vale lembrar que ...

Quer ler esse conteúdo completo? Tenha acesso completo