aula12 t ees ufs testes de sw

Post on 13-Jul-2015

1.174 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Testes de SW

Aula 12

2

Sumário

Objectivos e Responsáveis Princípios dos Testes Software fácil de testar Desenho de casos de teste Testes

– Caixa Branca– Caminho básico– Estrutura de controlo– Caixa preta– Ambiente, arquitectura e aplicações– OO

3

Objectivos e Responsáveis

Descobrir erros– Um bom teste tem uma alta probabilidade de detectar erros não

descobertos– Um teste tem sucesso SE descobrir um erro não detectado

Quem faz– Engenheiros de SW– Testadores

Engenheiros de SW especialistas em testes

4

Princípios

Os testes deviam detectar desde erros de código até a satisfação de requisitos

Devem ser planificadas Isolar módulos “suspeitos” e testá-los

aprofundadamente Começar pelos módulos e terminar no sistema inteiro Não é possível fazer testes exaustivos Realizados por equipas independentes

5

Software fácil de testar- características

Observabilidade (o que você vê é o que você testa)

– Saída diferente para cada entrada– Estados e variáveis do sistema podem ser

consultados durante a execução – Estados e variáveis do sistema antigos podem ser

consultados (registos de transacção)– Todos os factores que afectam os resultados são

visíveis– Um resultado incorrecto identifica-se com facilidade– Os erros internos detectam-se automaticamente– O código fonte é acessível

6

Controlabilidade (quanto + controlável, + automatizável e optimizável)

– Todos os resultados possíveis gerados através da combinação de entradas

– Estados e variáveis do sistema são controláveis pelo programador

– Formatos de E/S são estruturados e consistentes– Os testes podem especificar-se, automatizar-se e reproduzir-se

convenientemente Modularidade

(controlando o âmbito dos testes, os problemas podem ser isolados)– O sistema está construído em módulos independentes– Os módulos podem ser testados independentemente

Software fácil de testar- características

7

Simplicidade (há menos que testar)– Simplicidade funcional (características mínimas)– Simplicidade estrutural (que impede propagação de falhas)– Simplicidade do código (selecção de standards, boas práticas

de programação)

Estabilidade (menos mudanças) – Mudanças não frequentes– Mudanças controladas– Mudanças não invalidam testes– O software lida bem com as falhas

Software fácil de testar- características

8

Facilidade de compreensão (+informação, melhores testes)

– O Desenho foi compreendido– Dependências entre componentes internos foi compreendida– Mudanças ao desenho foram comunicadas– Documentação técnica acessível instantaneamente, está bem

organizada, é exacta, específica e detalhada.

Operatividade (quanto melhor funcionar, + eficientemente se pode testar)

– Tem poucos erros– Os erros não bloqueiam a execução dos testes– O produto evolui em fases

Software fácil de testar- características

9

Desenho de casos de teste

Caixa preta– Testes sobre as interfaces do Produto de SW

Caixa branca– Testes sobre os detalhes dos procedimentos de cada função

Conhecemos a função específica para a qual foi desenhado o produto. Podemos levar a cabo Testes que demonstram que

cada função está completamente operacional.

Conhecemos o funcionamento do produto. Podemos desenvolver testes que asseguram que “todas as peças se encaixam”. Ou

seja, que a operação interna se ajusta às especificações e que todos os componentes internos foram comprovados de maneira

adequada.

10

casos de teste de Caixa Branca

garantem o exercício de:– Todos os caminhos independentes são utilizados– Todas as vertentes falsas e verdadeiras das decisões lógicas – Todos os ciclos nos seus limites– Todas as estruturas internas de dados

Permitem ver– Erros lógicos e supostos incorrectos– Fluxo lógico real dum programa– Erros tipográficos

Porém– os testes exaustivos apresentam problemas logísticos tornando

estes testes impossíveis para grandes sistemas de SW Devemos, então, seleccionar quais são os caminhos lógicos

mais importantes

11

Teste do caminho básico

É uma técnica de teste de caixa branca Medida da complexidade lógica Mede o nº de caminhos independentes Os casos de teste obtidos por este método

garantem que cada instrução seja executada pelo menos 1 vez

Pode tornar-se impossível, se o sistema for muito grande..

12

Testes da estrutura de controlo

Auxiliam as técnicas de Testes de Caixa Branca Teste da condição Teste de fluxos de dados

– caminhos de teste segundo a localização das definições e usos das variáveis

Testes de ciclos– Passar por alto– Passar 1 vez– Passar 2 vezes– Fazer m passos com m<n

exemplo: se o ciclo executa 10 laços, testamos até o laço 3..– Fazer n-1, n e n+1

exemplo: se o ciclo executa 10 laços, testamos 9, 10 e forçamos 11 laços ..

13

casos de testes de Caixa Preta- várias técnicas

Métodos baseados em grafos– Entender os objectos de dados modelados e as suas relações– Definir uma série de testes que verifiquem “que todos os

objectos possuem as relações esperadas entre eles”– Criar um grafo

uma colecção de nós que representa os objectos

Método da Partição equivalente Método da Análise de valores limites Testes de comparação Testes da tábua ortogonal

– Domínos de problemas pequenos– Mas que exigem muitas provas exaustivas

14

E ainda: Testes de ambientes, arquitecturas e aplicações

Testes de interfaces Testes de arquitectura cliente/servidor Testes da documentação e facilidades de

ajuda Testes de sistemas a tempo-real

próxima aula teórica

16

Testes OO

Processos de SW OO: quando concluir uma iteração de AOO, DOO e Testes OO?

Testes OO para a Lacertae SW

top related