Conceito: Teste de Estrutura
A chave para estruturar os testes é que todos os resultados de decisão devem ser exercidos independentemente durante os testes e que o número de testes requeridos para um módulo de software é igual à complexidade cíclica desse módulo.
Relacionamentos
Elementos Relacionados
Descrição Principal

O conceito de teste estrutural é utilizado em dois contextos principais. Embora diferentes na natureza, o conceito raiz ou a idéia por trás do teste de estrutura é praticamente o mesmo nos dois casos.

Teste de Estrutura de Itens Internos do Código

A referência mais antiga e talvez a utilização mais estabelecida do termo "teste de estrutura" está relacionada ao teste da estrutura interna do código fonte do software. Freqüentemente, essa forma de teste de estrutura é desempenhada como um teste "estático" em oposição a um teste "dinâmico", em que o software propriamente dito não é executado para desempenhar o teste. As ferramentas de diagnóstico analisam o código fonte, procurando erros estruturais e os pontos fracos, normalmente fornecendo uma lista para ativar a ação corretiva subseqüente a ser realizada. Esse tipo de teste e de avaliação é conduzido por desenvolvedores, em vez de testadores de sistema.

Teste de Estrutura de Web Sites

Os aplicativos com base na Web, que estão empregando tecnologia de aplicativos da Internet, são predominantes. Esse movimento foi encorajado pelo fato de que esse desenvolvimento de software e método de implementação oferecem às organizações a habilidade de obter vantagens de vários benefícios de negócios ativados pela tecnologia, como:

  • Desenvolvimento de um público composto por clientes, prospectos e parceiros de negócios sem enviar um único documento ou uma parte do software. Qualquer um com um navegador e acesso à "rede" (Internet ou Intranet) pode simplesmente apontar seu navegador para a URL publicada e imediatamente executar o aplicativo.
  • Controle centralizado e manutenção. O modelo "cliente thin/servidor fat" dos aplicativos com base na Web coloca os componentes de aplicativo e a lógica no servidor Web que centraliza e simplifica o controle e a manutenção. Isso também permite que os desenvolvedores distribuam o software automaticamente. Uma vez que o aplicativo está no servidor, ele está imediatamente disponível para todos os usuários.

Embora isso ofereça vantagens para os que empregam essa tecnologia, os aplicativos com base na Web aumentam as demandas de teste. Testar esses aplicativos com base na Web, como seus parceiros fora da Web (cliente/servidor, legado e assim por diante), requer que o teste aborde as características de função e de desempenho dos aplicativos. Além disso, os aplicativos com base na Web incluíram a necessidade de testes que enfatizam a estrutura do aplicativo, assegurando que esteja bem formado e que todos os links sejam válidos.

Normalmente os aplicativos com base na Web são construídos utilizando uma série de documentos (ambos documentos de texto HTML e gráficos GIF/JPEG) conectados por muitos links estáticos e poucos ativos ou controlados por programas. Esses aplicativos também podem incluir o "conteúdo ativo", como formulários, scripts Java, conteúdo renderizado por plug-in ou aplicativos Java. Muitas vezes, esse conteúdo ativo é usado apenas para saída, como é o caso de apresentações de áudio ou de vídeo. No entanto, também pode ser utilizado como um auxílio de navegação para ajudar o usuário a navegar no aplicativo (Web site). A natureza de forma livre dos aplicativos com base na Web (por meio de seus links) é uma grande vantagem, mas também é um tremendo ponto fraco porque a integridade estrutural pode ser facilmente danificada.

O teste de estrutura é implementado e executado para verificar se todos os links (estáticos ou ativos) estão conectados corretamente. Esses testes incluem:

  • Verificar se o conteúdo apropriado (texto, gráficos e assim por diante) para cada link é exibido. Tipos diferentes de links são utilizados como referência para o conteúdo de destino nos aplicativos com base na Web, como marcadores, hyperlinks para outro conteúdo de destino (no mesmo ou em um Web site diferente) ou em pontos críticos. Cada link precisa ser verificado para garantir que o conteúdo de destino correto é apresentado ao usuário.
  • Assegurar que não há links quebrados. Os links quebrados são os links para os quais o conteúdo de destino não pode ser encontrado. Os links podem ser quebrados por muitas razões, incluindo mover, remover ou renomear os arquivos do conteúdo de destino. Os links também podem ser quebrados por causa da utilização da sintaxe inadequada, incluindo a falta de barras, dois pontos ou letras.
  • Verificar se não há conteúdo órfão. O conteúdo órfão é constituído de arquivos para os quais não há um link de "entrada" no Web site atual, ou seja, não há uma maneira de acessar ou apresentar o conteúdo. Deve-se tomar cuidado ao investigar o conteúdo órfão para determinar a causa:
    • É órfão porque não é mais necessário?
    • Ele é órfão devido a um link quebrado?
    • Ou é acessado por um link externo para o Web site atual?

Uma vez determinado, a ação apropriada deve ser realizada, como remover o arquivo de conteúdo, consertar o link quebrado ou ignorar o órfão respectivamente.