Escolar Documentos
Profissional Documentos
Cultura Documentos
A atividade de teste nunca termina. Apenas transferida do projetista para seu cliente. O engenheiro de software pode realizar testes mais completos e portanto descobrir e corrigir o maior nmero de erros possveis antes que os testes do cliente se iniciem.
Objetivos
Entender as tcnicas de testes que so utilizadas para descobrir defeitos em programas Introduzir diretrizes para o teste de interface Compreender abordagens especficas para o teste de sistemas orientados a objetos Compreender os princpios d operao de apoio C d i i da d i de ferramentas CASE para testes
Tpicos abordados
Testes de componentes e de integrao Testes de defeitos Testes orientados a objetos rea de trabalho de teste d t b lh d t t
O processo de Testes
Testes de componentes
Testes de componentes de programas individuais. Usualmente os programadores assumem a responsabilidade pelo U l d bld d l teste de seu cdigo (exceto em caso de sistemas crticos). Testes so derivados da experincia do desenvolvedor.
Testes de integrao
Testes de grupos de componentes integrados para formar subsistemas ou sistemas completos. Uma equipe independente de teste faz o teste de integrao. Os testes so baseados em uma especificao do sistema.
Fases de Teste
Prioridades de teste
Somente o teste exaustivo pode mostrar que um programa livre de defeitos. Contudo, o teste exaustivo impossvel Testes devem executar as capacidades do sistema p em vez de seus componentes Testar capacidades antigas mais importante que testar novas capacidades Testar situaes tpicas mais i T i i i importante que situaes adversas (ex. casos de valor limite)
Particionamento de equivalncia
Dados de entrada e resultados de sada freqentemente se encontram em diferentes classes onde todos os membros de uma classe so relacionados Cada uma destas classes uma partio de equivalncia onde o programa se comporta de uma maneira equivalente para cada membro da classe Casos de teste devem ser escolhidos a partir de cada partio
Particionamento de equivalncia
Particionar as entradas e sadas em conjuntos equivalentes
Se a entrada um nmero de 5 dgitos entre 10.000 e 99.999, as parties de equivalncia so <10.000, 10.000-99.999, e >99.999
Particionamento de equivalncia
Testes de Estrutura
Algumas vezes chamado de teste de caixa branca Os casos de teste so derivados de acordo com a estrutura do programa. O conhecimento do p g programa utilizado para identificar casos de p teste adicionais. Objetivo exercitar todas as declaraes do programa (e no todas as combinaes de caminhos)
Testes de Estrutura
Fluxo de dados Pe prova a lgica do programa.
Teste de laos Faz procedimentos para exercitar laos de vrios graus de complexibilidade.
Testes de caminho
O objetivo do teste de caminho garantir que o conjunto de testes tal que cada caminho do programa executado pelo menos uma vez O ponto de partida para o teste de caminho um p p p grafo de fluxo do programa que mostra ns representando decises de programa e em arcos representando o fluxo de controle Declaraes condicionais so portanto ns no grafo de fluxo
Complexidade ciclomtica
O nmero de testes de cada caminho independente (atravessa pelo menos um novo ramo) igual a complexidade ciclomtica l id d i l ti O nmero mnimo de casos de teste para testar todos os caminhos i d i h igual a complexidade l l id d ciclomtica til l se usado com cuidado. No implica suficincia d d d N l f de testes Embora todos os caminhos sejam executados, no so executadas todas as combinaes de caminhos
Caminhos independentes
1, 2 3 8 9 2, 3, 8, 1, 2, 3, 4, 6, 7, 2 1, 2, 3, 4, 5, 7, 2 1, 2, 3, 4, 6, 7, 2, 8, 9 , , , , , , , , Casos de teste devem ser derivados de forma que todos estes caminhos sejam executados Um analisador dinmico de programa pode ser utilizado para verificar se todos os caminhos foram executados
Teste de Integrao
Testa sistemas completos ou subsistemas compostos de componentes integrados Testes de integrao devem ser caixa preta com testes derivados da especificao do sistema p Principal dificuldade a localizao de erros Testes d i t T t de integrao incremental reduz este i t l d t problema
Teste Bottom-up
Integra componentes individuais em nveis at o sistema g p completo estar criado.
Abordagens de Teste
Validao d arquitetura ld de
Teste top-down melhor em descobrir erros na arquitetura do sistema
Demonstrao do sistema
Teste top down permite uma demonstrao limitada no top-down estgio inicial de desenvolvimento
Implementao de teste
Freqentemente mais fcil com o teste bottom-up
Observao de teste
Problemas com ambas abordagens. Cdigo extra pode ser necessrio para observar os testes
Teste de Interface
Ocorrem quando mdulos ou subsistemas so integrados para criar sistemas maiores Objetivo detectar defeitos devido a erros de interface ou suposies invlidas sobre as interfaces p Particularmente importante para o desenvolvimento orientado a objetos, j que os objetos so definidos objetos por suas interfaces
Teste de estresse
Executar o sistema alm da carga mxima projetada. Os testes de estresse freqentemente provocam a revelao d defeitos do sistema l de d f it d i t Durante os testes de estresse o sistema no deve falhar d f lh de maneira catastrfica. O sistema no deve i fi i d apresentar corrupo de dados ou a perda inesperada de servios Particularmente importante em sistemas distribudos que podem apresentar uma grande degradao d t d d d medida que a rede se torna sobrecarregada
Nveis de Teste
Testar operaes individuais associadas com objetos Testar classes de objetos individuais Testar agrupamentos de objetos relacionados Testar o sistema orientado a objetos
So necessrios casos de teste para todas as operaes Utilizar um modelo de estado para identificar seqncias de transies de estado para teste Exemplos de seqncias a serem testadas Desativado Aguardando Aguardando Aguardando Calibrando Coletando Desativado Testando Aguardando Transmitindo Resumindo Aguardando Transmitindo Aguardando
Outros Testes
Teste Alpha Teste Beta Teste de Regresso Garante funcionamento pleno Teste de Aceitao Grupo restrito de usurios finais simulando rotinas
Profisso: Testador
uma certificao relativamente nova na rea de TI Em outros pases j bem difundida Na ndia so 10 mil testadores Compradores, especialmente estrangeiros, exigem que a soluo desenvolvida seja certificada Salrio Mdio Entre R$ 1.900,00 e R$ 5.000,00
ALATS (Associao Latino-Americana de Teste de Software) A prova contm 100 questes de mltipla escolha e tem durao de 3 horas. O preo de 300 reais e requer no mnimo 75 % de acertos http://www.alats.org.br.
IBQTS (Instituto Brasileiro de Qualidade em Testes de Software) Contm 50 questes de mltipla escolha e 3 horas de durao.. Seu preo de 300 reais e requer no mnimo 70% de acertos http://www.ibqts.com.br.
A atividade de teste nunca termina. Apenas transferida do projetista para seu cliente. O engenheiro de software pode realizar testes mais completos e portanto descobrir e corrigir o maior nmero de erros possveis antes que os testes do cliente se iniciem.