Você está na página 1de 27

Abordagem Estratgica ao Teste de Software

A atividade de teste inicia-se no nvel de mdulos e prossegue para fora na direo da integrao de todo o sistema baseado em computador diferentes tcnicas de teste so apropriadas e diferentes pontos do tempo a atividade de teste realizada pela equipe de desenvolvimento ou por um grupo de teste independente atividades de teste e de depurao so diferentes, a depurao deve ser acompanhada de uma estratgia de teste

Uma Estratgia de Teste de Software


Uma estratgia de teste de software pode ser vista como uma espiral o teste unitrio inicia-se no vrtice da espiral e concentra-se em cada unidade do software de acordo com o que implementado no cdigo fonte teste de integrao - a ateno concentra-se no projeto e na construo da arquitetura do software

Estratgia de Teste
Engenharia de Sistema Requisitos Projeto Cdigo V ST Teste de Unidade Teste de Integrao Teste de Sistema Teste de Validao I S R D A U

Uma Estratgia de Teste de Software


Teste de validao - os requisitos estabelecidos como parte da anlise de requisitos de software so validados em relao ao software que foi construdo Teste de sistema - o software e outros elementos do sistema so testados como um todo

Verificao e Validao
Verificao - conjunto de atividades que garante que o software implemente corretamente uma funo especfica Estamos construindo certo o produto? Validao refere-se a um conjunto de atividades que garante que o software foi construdo de acordo com as exigncias do cliente Estamos construindo o produto certo?

Teste de Unidade
A interface com o mdulo testada para ter a garantia de que as informaes fluem para dentro e para fora da unidade de programa que se encontra sob teste
(testes de caixa branca)

estrutura de dados local examinada condies limites so testadas caminhos independentes so exercitados caminhos de tratamento de erros so testados

Erros mais comuns


Precedncia aritmtica incorreta inicializao incorreta erro de preciso representao simblica incorreta de uma expresso variveis de lao impropriamente modificadas

Erros mais comuns


Casos de teste devem descobrir erros de fluxo de controle e comparaes:
comparao de diferentes tipos de dados operadores lgicos ou precedncia incorreta expectativa de igualdade quando um erro de preciso torna a igualdade improvvel comparao ou varivel incorreta trmino de lao imprprio ou inexistente variveis de lao impropriamente modificadas

Erros mais comuns


Um bom projeto determina que as condies de erro sejam antecipadas e que caminhos de tratamento de erros sejam estabelecidos para reorientar ou terminar o processamento de forma clara quando um erro ocorrer.

No tratamento de erros deve ser testado:


ka descrio do erro inteligvel ko erro apontado no corresponde ao erro encontrado ka condio de erro provoca interveno no sistema antes do tratamento do erro ko processamento das condies de exceo incorreto ka descrio do erro no oferece nenhuma informao que ajude na localizao da causa do erro

Teste de Unidade
Driver
Interface Condies de limite Estrutura de dados locais Caminhos independentes Caminhos de manipulao de erros

Mdulo a ser testado

Casos de teste

Stub

Stub

Resultados

Teste de Integrao
Se todos os mdulos funcionam individualmente porque se tem dvida de que eles funcionaro quando colocados juntos?
Dados podem ser perdidos ao longo da interface um mdulo pode ter um efeito inesperado funes quando combinadas podem no produzir a funo principal esperada

Teste de Integrao
impreciso individualmente aceitvel pode ser ampliada at nveis inaceitveis estruturas de dados globais podem apresentar problemas so usados testes de caixa preta

Teste de Integrao
O objetivo do teste de integrao a partir dos mdulos testados no nvel de unidade construir a estrutura de programa que foi determinada pelo projeto.
Integrao big-bang o programa completo testado como um todo Integrao incremental o programa construdo e testado em pequenos segmentos, os erros so mais fceis de serem encontrados e corrigidos

Estratgias de Integrao Top-down


M1

M2

M3

M4

M5 M8

M6

M7 Os mdulos so integrados movimentandose de cima para baixo mdulos subordinados podem ser incorporados de uma maneira depth-first ou breadth-first

Estratgias de Integrao Top-down


O mdulo controle principal usado como driver de testes stubs subordinados so substitudos um de cada vez por mdulos reais testes so realizados a cada mdulo integrado testes de regresso

Integrao Bottom-up
M1 M2 D1 M3 D2 Cluster os mdulos so integrados movimentando-se de baixo para cima

Teste de Integrao
Quando o teste de integrao feito o analista deve identificar os mdulos crticos. O mdulo crtico se caracteriza por: abordar diversos requisitos do software tem elevados nveis de controle complexo ou propenso a erros tem requisitos de desempenho definidos

concentre testes de regresso em mdulos crticos

Estratgia de Teste
Depois da integrao os critrios de validao especificados na anlise de requisitos devem ser testados, ele garante exigncias funcionais, comportamentais e de desempenho. So usadas tcnicas de caixa preta. Aps a realizao do teste: as caractersticas de funo ou desempenho conformam-se as especificaes e so aceitas um desvio descoberto e uma lista de deficincias criada

Testes de Aceitao
Capacitam o cliente a validar todos os requisitos. Realizado pelo usurio final e no pelo desenvolvedor do sistema. Teste alfa - levado a efeito por um cliente nas instalaes do desenvolvedor. Erros e problemas sero registrados durante a interao. Teste beta - realizado nas instalaes do cliente pelo usurio final. A interao no controlada pelo desenvolvedor, problemas encontrados so relatados posteriormente ao desenvolvedor.

Estratgia de Teste - teste de sistema


O teste de sistema procura verificar se elementos como hardware, pessoas, bancos de dados, etc esto adequados em funo do desempenho global do sistema.

Projete casos de teste que simulem todas as entradas de dados de outros sistemas realize testes simulando dados ruins ou erros em potencial para a interface registre e documente o caso de testes participe do planejamento para garantir que o teste seja adequado

Estratgia de Teste - teste de


recuperao

Fora o software a falhar de diversas maneiras verificando se a recuperao adequadamente executada.

Estratgia de Teste - teste de segurana

Tenta verificar se todos os mecanismos de proteo embutidos em um sistema protegero, de fato, acessos indevidos.
O papel do projetista do sistema fazer com que o acesso custe mais do que o valor da informao que ser obtida

Estratgia de Teste - teste de estresse

Executa o sistema de forma a exigir recursos em quantidade, freqncia e volume anormais.

Exemplo: Casos de teste que exigem mxima memria

Estratgia de Teste - teste de desempenho

realizado para testar o desempenho de run-time do software dentro do contexto de um sistema integrado. Ocorre ao longo de todos os processos de teste, porm s quando todos os mdulos esto interligados que o desempenho real pode ser verificado.

Estratgia de Teste
Engenharia de Sistema Requisitos Projeto Cdigo V ST Teste de Unidade Teste de Integrao Teste de Sistema Teste de Validao I S R D A U

1. Descreva a diferena entre validao e verificao 2. Liste alguns problemas que poderiam estar associados a criao de um grupo de testes independente. 3. Se voc pudesse escolher 3 mtodos de projeto de caso de teste para aplicar durante os testes de unidade quais seriam eles? 4. Quem deve realizar o teste de validao do software o desenvolvedor ou o usurio do software?