- Defeito: Ocorre quando há instrução ou comando incorreto.
- Falha: É comportamento inconsistente (consegue funcionar de forma precária).
- Erro: È um desvio da especificação.
Figura 1 – Defeito, Falha e Erro
Esses conceitos são importantes, pois sabendo a diferença de cada um e colocando seu software a prova, conseguiremos construir um software de qualidade.
O que é um teste de software?
Segundo Presmman:
Teste é um conjunto de atividades que podem ser planejadas antecipadamente e conduzidas sistematicamente. Um gabarito de testes de software, que é um conjunto de passos no qual podem-se incluir técnicas de projetos de casos de teste e métodos de teste específicos, deve ser definido para o processo de software sendo utilizado no projeto. Fonte: [PRESSMAN, 2010].
Segue uma lista de questões sobre teste de software:
Quem faz?
O gerente de projeto, os engenheiros de software, devem desenvolver uma estratégia de testes de forma que um projeto tenha um plano formal de testes.
Porque é importante?
È importante que se tenha uma estratégia para teste de software, se não for bem conduzido implica em perda de tempo e de esforço, além de abrir brechas para erros.
Quais são os passos?
Iniciamos testando os componentes do software, depois os componentes são integrados até que todo o sistema seja contruído. Realiza-se uma série de testes de alto nível, para descobrir erros relativos ao requisitos do cliente.
O que é uma especificação de Teste?
È um documento que relata: abordagem da equipe que realiza os testes, descreve estratégias e procedimentos que definem os passos específicos dos testes.
Como ter certeza se os testes foram realizados corretamente?
Realiza-se uma revisão na especificação do teste antes de realiza-lo.
Estratégias de Testes:
A estratégia deve definir:
- As ferramentas e técnicas de teste a serem empregadas.
- Os critérios de conclusão e êxito do teste a serem usados.
Uma estratégia para testes de software pode ser vista no contexto da espiral mostrada na figura 2.
Figura 2 - Espiral de Estratégia de Testes
Analisando a figura acima, os teste iniciam apartir do teste de unidade, cada etapa de teste pode ser resumida em:
- Teste de Unidade: Avalia a menor unidade do código. Seu objetivo é verificar as falhas de funcionamento em pequenas partes independentes do software.
- Teste de integração: Avalia diferentes componentes que são desenvolvidos separadamente mas trabalham em conjunto.
- Teste de Avaliação: Avalia o software em ambiente específico, considerando os requisitos definidos pelo cliente em uma situação próxima á realidade.
- Teste de sistemas: Este teste tenta impor a visão do cliente, dando normalmente uma perspectiva diferente ao testador.
- Teste de Recuperação: Este procedimento avalia a recuperação de uma falha dentro de um tempo especificado em caso de falha.
- Teste de Segurança: Neste caso o testador tenta penetrar no sistema provocando ações que prejudiquem alguém.
- Teste de estresse: Este procedimento cria ambientes extremos para utilização do software.
- Teste de Desempenho: Todo sistema desenvolvido tem em suas especificações de requisitos o desempenho adequado de funcionamento e após a integração dos componentes uma avaliação é indispensável para se obter o seu desempenho real.
Todo sistema desenvolvido tem em suas especificação de requisitos o desempenho adequado de funcionamento e após a integração dos componentes uma avaliação é indispensável para se obter o seu desempenho real.
De acordo com Pressman (2010), o teste é uma série de 4 passos que são implementados sequencialmente, conforme a figura abaixo:
Conclusão:
Vimos que Defeito, erro e falha são diferentes. Defeito(universo físico), erro(universo da informação), Falha (Universo do Usuário).
Os testes de software são importantes, pois quanto mais rápido acharmos, os defeitos, mais rápido a equipe pode agir, logo acarretará menos custo e mais confiabilidade terá o nosso sistema.
Nenhum comentário:
Postar um comentário