Você está na página 1de 6

Tpicos

Teste de Software
Prof. Leandro Buss Becker Email: lbecker@das.ufsc.br

Propsito do teste Teste no ciclo interativo Dimenses do teste Fluxo de trabalho Ferramentas de suporte Concluses

Copyright Leandro Becker

Copyright Leandro Becker

1. Propsito do Teste
Visa avaliar a qualidade de um sistema:
Encontrar e documentar falhas Informar gerncia sobre a qualidade do sistema Avaliar A li r a correo d s d is s d pr j t e o rr das decises de projeto atendimento aos requisitos especificados Validar o comportamento do sistema Validar a implementao

1. Propsito do Teste
Procura encontrar e documentar as fraquezas e defeitos do sw
Como o sistema pode quebrar? Em quais situaes o sistema pode tornar-se tornarinstvel?

Evitar testes extremos Acredite: Acredite: teste concentra 30% - 50% dos custos do sistema SafetySafety-critical vs. Management Infomation Systems
Copyright Leandro Becker

Copyright Leandro Becker

1.1 Erro, Falta e Falha Erro,


Erro: Erro: discrepncia entre o valor computado e o valor esperado (sada gerada vs. esperada) esperada) Falta: Falta: condio que leva o sistema no realizar uma funo esperada, tambm chamado bug esperada, Falha: Falha: relacionada com a incapacidade do sistema em realizar uma funo de acordo com sua especificao. Para existir, deve ocorrer uma especificao. existir, falta. falta.
Copyright Leandro Becker

1.2 Confiabilidade (Reliability)


Probabilidade de que o sistema no vai recair em falha durante um certo perodo de tempo, e sob condies pr-definidas prMean Time to Failure (MTTF)

Representa o nvel de confidncia do sistema

Copyright Leandro Becker

2. Teste no Ciclo Interativo


Teste no ocorre em um nico momento, mas momento, sim durante todo o ciclo-de-vida: ciclo-de-vida:
Funcionalidade dos prottipos Estabilidade, Estabilidade cobertura e performance da arquit. arquit Verso final do usurio

2. Teste no Ciclo Interativo


A atividade de teste exige um grande esforo $$ por parte da equipe de desenvolvimento Muitas vezes, partes das atividades de teste so terceirizadas
Evita testes viciados (psicologia do teste) viciados (psicologia teste)

Visa achar e corrigir os problemas enquanto houver tempo para...

Copyright Leandro Becker

Copyright Leandro Becker

Qualidade
Ausncia de defeitos Adequao para um determinado propsito
Qualidade representa seu valor para uma pessoa

Responsveis pela Qualidade


Responsabilidade elencada a todos os membros do projeto O papel do teste no empregar qualidade, mas sim dar um parecer sobre a mesma
Tal parecer deve ser oferecido dentro de limites de tempo

Parecer sobre o produto final, seus componentes e sua arquitetura Medido atravs do processo de engenharia utilizado em TODO sistema

Copyright Leandro Becker

Copyright Leandro Becker

3. Dimenses do Teste
Teste pode atacar diversos aspectos; pode ser caracterizado por vrias dimenses:
Qualidade: Qualidade: foca em caracterstica ou atributo Nveis de teste: foca uma categoria de sistemas teste: Tipo de teste: caracterizado pelo seu objetivo, teste: usualmente limitado a um nico aspcto de qualidade

3.1 Dimenso de Qualidade


Sistemas tendem a avaliar os mesmos aspectos de qualidade; os aspectos mais comuns so:
Segurana/confiabilidade Funcionalidade Performance Facilidade/comodidade de uso

Para dada dimenso de qualidade, 1 ou + testes podem ser realizados


Copyright Leandro Becker

Copyright Leandro Becker

3.2 Nveis ou Fases de Teste


Executado em vrias interaes, visando diferentes alvos-de-teste: alvos-deTeste de Unidade: menor elemento passvel de ser Unidade: testado; feito logo aps a implementao Teste de Integrao: aps a integrao das Integrao: unidades e/ou componentes Teste de Sistema: aplicao completa Sistema: Teste de Aceitao: comportamento/satisfao do Aceitao: usurio frente ao sistema completo
Copyright Leandro Becker

3.2.1 Teste de Unidade


Testa caminhos de controle
Teste estrutural Teste baseado em erros

Requer desenvolvimento de cdigo adicional: R d l i d di di i l drivers e/ou stubs - ORCULOS

Copyright Leandro Becker

3.2.1 Teste de Unidade


type sequence (max_size: NATURAL) is record size : INTEGER range 0.. max_size:= 0; contents = array (1.. max_size) of INTEGER; end record;

3.2.2 Teste de Integrao


Teste para descobrir erros associados nas integraes de unidades
Integrao incremental Integrao no-incremental no-

Stub para teste do registro sequence:


procedure sort (seq : in out sequence) is d ( i )i begin write (the sequence to sorted is the following:); for i in 1 .. seq.size loop write (seq.contentes (i)); end loop; write (enter the result of sorting the sequence); for i in 1 .. seq.size loop read (seq.contentes (i)); end loop; end sort;
Copyright Leandro Becker

Geralmente utiliza teste funcional

Copyright Leandro Becker

3.2.3 Teste de Sistema


Procura garantir a correo do sistema como um todo Verifica relao funo vs. desempenho

3.2.5 Resumo
Necessidade Clientes Requisitos Projeto Cdigo Teste de Aceitao Teste de Integrao Teste de Unidade Teste de Sistema

3.2.4 Teste de Aceitao


Verifica o comportamento/satisfao do usurio frente ao sistema completo
Copyright Leandro Becker

Copyright Leandro Becker

3.3 Tipos de Teste


Cada teste foca em um determinado objetivo: caractersticas ou atributos do sistema; classes de faltas ou falhas. Pode englobar desde elementos nicos at todo o sistema 1. 2. 3. 4. 4 5. 6. 7. 8.

3.3 Tipos de Teste


Benchmark Teste de Configurao Teste Funcional Teste de Instalao Teste de Integridade Teste de Carga Teste de Desempenho Teste de Condies Extremas
Copyright Leandro Becker

Copyright Leandro Becker

3.4 Tcnicas de Teste


Tcnica Funcional Tcnica Estrutural Tcnica Baseada em Erros Tcnica Baseada em Mquina de Estados Finitas

3.4.1 Tcnica Funcional


Mtodo caixa preta apenas utiliza a funcionalidade, sem preocupao com impl. Utiliza a especificao funcional do programa p para derivar os casos de teste Categorias de erros:
Funes incorretas ou ausentes Erros de interface Erros nas estruturas de dados ou acesso ao BD Erros de inicializao e trmino

Copyright Leandro Becker

Copyright Leandro Becker

3.4.2 Tcnica Estrutural


Mtodo caixa branca usa estrutura de ctrl e fluxo de dados para derivar req. de teste Critrios baseados em:
Complexidade: complexidade l i d prog. ( C l id d l id d lgica do (num. de caminhos independentes) Fluxo de controle: usa grafo de fluxo de controle Fluxo de dados: exploram def. de variveis e suas referncias

3.4.2 Tcnica Estrutural


// Greatest Common Divisor (gdc) gdc) begin read (x); read (y); while x != y loop if x > y them x := x y; else y := y x; end if; end loop; gcd := x; end;
Copyright Leandro Becker

Copyright Leandro Becker

3.4.3 Tcnica Baseada em Erros


Utiliza informaes sobre erros mais freqentes cometidos no processo de desenv. de sw + erros que se deseja revelar Critrios de teste:
Semeadura de Erros Anlise de Mutantes

3.4.4 Tcnica Baseada em Mquina de Estados Finitas


Usado em sistemas modelados com maq. estados Os casos de teste sero as seqncias de eventos vlidas para a MEF:
Nmero pequeno de seqncias Cada seqncia de aplicao rpida e fcil As seqncias devem identificas todas as falhas da especificao

Copyright Leandro Becker

Copyright Leandro Becker

3.5 Teste de Regreo


Testes executados previamente so repetidos a cada nova verso do sistema Assegura a manuteno da qualidade:
Defeitos i d id D f i prvios so devidamente corrigidos i id Mudanas feitas no introduziram novos defeitos

3.5 Teste de Regreo


x:= c +1; proc (z); c := x + 2; x := 3; = proc(z); c := c + 3; c := 3;

Copyright Leandro Becker

Copyright Leandro Becker

4. Fluxo de trabalho

5. Ferramentas de Suporte
Suporte implementao, execuo e avaliao dos testes (GUI-based test scripts) (GUITeste de componentes e anlise de execuo Outros: O
Localizao de erros raros de execuo Identificao de partes no-testadas (anlise de nocobertura) Identificar gargalos de desempenho

Copyright Leandro Becker

Copyright Leandro Becker

5. Ferramentas de Suporte
http://testingfaqs.org/thttp://testingfaqs.org/t-design.html
ALLPAIRS AllPairs.java Assertion Definition Language (ADL) CaliberCaliber-RM DARTT Datagen2000 Datatect DGL Edit for Servers jenny JustData Enterprise McCabe Test McCabe TestCompress Move for DB2 Move for Legacy Move for Servers Multi Orchid Panorama C/C++ QES/DatEZ Reactis Tester SSW SQL Auditor TDGEN TestBase tsl TurboData T-VEC Test Generation System

6. Concluses
Teste permite atestar parecer sobre a qualidade do produto sendo desenvolvido Processo interativo, dividido em vrias etapas Qualidade Q lid d responsabilidade d todos os bilid d de d membros da equipe Fluxo de trabalho prev realimentao das experincias obtidas

Copyright Leandro Becker

Copyright Leandro Becker

Lista de Exerccios
qualidade do sistema? Qual o papel do teste de software em relao a qualidade? 2. Quais so as fases ou nveis de teste? De uma breve descrio de cada uma delas. delas. 3. Discuta a diferena entre teste de caixa preta e teste de caixa branca. branca. Sugira como eles podem ser utilizados juntos no processo de teste. teste. 4. Apresente um exemplo onde o teste de caixa preta no descobre nenhum erro, mas o teste de caixa branca aponta erro. erro. 5. Na tcnica baseada em erros, explique como funciona os critrios de semeadura de erros e anlise de mutantes. mutantes. 6. Explique porque o teste de regreo necessrio e como ferramentas de teste automatizadas podem ajudar nesse tipo de teste. teste.

Bibliografia
V. B. Mazzola e J-M. Farines, "Metodologias J- Farines, de Concepo de Software e de Sistemas", Apostila de curso de Especializao, UFSC. Cap. 8: Teste de Software Cap Kruchten, P. The Rational Unified Process: An Introduction. Addison Wesley, 2003 cap. 12: The Test Discipline

1. No desenvolvimento de um sistema quem responsvel por garantir a

Copyright Leandro Becker

Copyright Leandro Becker