Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Técnicas de Teste como parte do Ciclo de Desenvolvimento de Software

Imprimir
Avaliação do Usuário: / 2
PiorMelhor 

Abordagens de Testes

As duas abordagens de testes são: caixa preta e caixa branca. As duas diferenciam-se no nível e na forma de realização dos testes. Ambas são importantes e devem fazer parte de qualquer planejamento de testes de software.

Caixa preta (funcional): Os testes funcionais, ou teste de caixa preta, são gerados a partir de uma análise entre os dados de entrada e de saída, não se preocupando com a estrutura interna do software (código).

Caixa branca (estrutural): Testes de estrutura baseiam-se na no código-fonte do software. As ferramentas de diagnóstico analisam sintaticamente o código-fonte, procurando pontos fracos e erros estruturais e, normalmente, fornecem uma lista que permite tomar uma ação corretiva subsequente.

Estágios de Testes

Os principais estágios de testes são: unidade, integração, sistema e aceitação. Todos eles são importantes no processo de maturação do sistema.

Unidade: O teste de unidade verifica os menores elementos testáveis do software, sendo normalmente aplicado a componentes do modelo de implementação para verificar se os fluxos de controle e de dados estão cobertos e funcionam conforme o esperado.

Integração: O teste de integração é uma técnica sistemática para a construção de estruturas do programa realizando testes para descobrir erros ligados a interface. O teste de integração detecta imperfeições ou erros nas especificações da interface do pacote. Ao mesmo tempo em que as interfaces entre os módulos são testadas, sistematiza a atividade de integração dos módulos já submetidos ao teste de unidade.

Sistema: O Teste de sistema tem por objetivo comparar o sistema com seus requisitos iniciais. Não é o processo de testar as funções do sistema completo, porque isso seria redundante com o processo de teste funcional. O teste de sistema é o processo de tentar demonstrar como o programa, em um todo, não preenche os seus objetivos.

Aceitação: O teste de aceitação do "usuário" normalmente é a ação de teste final anterior à implantação do software. O objetivo do teste de aceitação é verificar se o software está pronto e pode ser usado pelos usuários finais para executar as funções e as tarefas para as quais o software foi criado. Eles são divididos em dois itens principais, os testes funcionais e os testes não funcionais.

Tipos de Testes

Com a necessidade de se criar software cada vez mais confiáveis, surgem a cada dia nova técnicas, como as de verificação e validação de sistemas. Existem vários tipos de testes, sendo eles:

Teste funcional: Este tipo de teste serve para verificar se todos os requisitos funcionais foram implementados de acordo com as regras do negócio. Assim, garantem que não haja diferença entre requisitos funcionais e o comportamento do software construído.

Teste de desempenho: Também chamado teste de performance, tem como principal objetivo verificar se o desempenho está consistente com os requisitos definidos, empregando um volume de transações nas situações previstas de pico máximo de acesso e concorrência, e tempo de resposta obtidos nos testes, e assim, compará-los com os valores limites especificados.

Carga: Verifica a aceitabilidade do comportamento de desempenho do objetivo do teste em condições operacionais variáveis enquanto a configuração permanece constante. Este teste submete o sistema à variação de carga de trabalho para avaliar e medir os comportamentos de performance e a sua capacidade de continuar funcionando sob diferentes cargas de trabalho com grandes quantidades de dados.

Stress: A ideia deste teste é “Estressar” o sistema ao ponto de encontrar erros. Ele verifica a aceitabilidade do comportamento de desempenho do objetivo do teste quando condições anormais ou extremas forem encontradas, como a redução dos recursos ou um número extremamente alto de usuários.

Teste de código: Este tipo de teste verifica se o código está de acordo com padronizações de linguagens, estruturação, endentação, nomes de arquivos, variáveis, funções, enfim, tem como objetivo deixar o código mais legível, reusável e bem estruturado.

Usabilidade: São testes que enfatizam fatores humanos, estética, consistência na interface do usuário, ajuda on-line e contextual, assistentes e agentes, documentação do usuário e material de treinamento. Seu objetivo é verificar a facilidade que o software possui de ser facilmente compreendido e manipulado pelo usuário.

Teste de segurança e controle de acesso: Estes testes são realizados para garantir segurança ao usuário efetuar login no sistema, limitar acessos aos dados disponíveis, assegurando que somente pessoas autorizadas poderão ter acesso a informações restritas.

Integridade dos dados: Testes destinados a avaliar a robustez do objetivo do teste (resistência a falhas) e a compatibilidade técnica em relação a linguagem, sintaxe e utilização de recursos. Esse teste é implementado e executado em vários objetivos do teste, como unidades e unidades integradas.

Teste de interface do usuário: O teste de interface do usuário verifica a interação do usuário com o sistema, tendo por intuito assegurar que a interface irá fornecer ao usuário o acesso e navegação adequados, além disso, o teste deve assegurar que os objetos contidos na interface funcionem como esperado.

Teste de instalação e configuração: O teste de instalação é efetuado para garantir que o sistema poderá ser instalado sob diversas circunstancias (instalação completa, atualização, etc.) e em diferentes plataformas verificando se logo após a instalação este funcionará corretamente.

Planejamento de Testes

O planejamento dos testes de produtos não triviais é complexo, envolvendo muitos aspectos técnicos e gerenciais. Neste é onde é definida uma proposta de testes baseando-se em custos, qualidade esperada, tempo, etc. Pode-se definir, assim, a equipe e o esforço que será colocado nos testes realizados neste sistema.

O plano de recursos é composto, neste caso, de dois papéis:

1. O analista de testes, tendo como suas funções identificar as ideias do teste, definir detalhes dos testes, determinar os resultados dos testes, documentar solicitações de mudança, avaliar a qualidade do produto, apresentar relatórios, defender os interesses do teste, verificar as técnicas de testes e definir os elementos de testabilidade;

2. O testador, que é o executor dos testes, registrando os resultados, analisando as falhas dos testes e possibilitando a recuperação posterior e documentando incidentes.

Os casos de testes tem o objetivo de identificar possíveis cenários dos quais necessitam ser testados. Essa análise pode ser feita de duas formas, sendo elas:

  1. A partir da decomposição de requisitos e estrutura interna.
  2. A partir do método de análise de documentos.

 

Adicionar comentário


Código de segurança
Atualizar

You are here: