• Nenhum resultado encontrado

Alexandre de Andrade Barbosa

N/A
N/A
Protected

Academic year: 2019

Share "Alexandre de Andrade Barbosa"

Copied!
44
0
0

Texto

(1)

Engenharia de Software 1

15 - Verifica¸c˜ao e Valida¸c˜ao: Teste de software

Alexandre de Andrade Barbosa

(2)

Objetivos

Exibir conceitos relacionados a atividade de teste

(3)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

introdu¸c˜

ao

Testes devem mostrar que o software ´e bom o suficiente para uso

(confi´avel)

Apenas um subconjunto de casos poss´ıveis de teste ´e verificado

(4)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

introdu¸c˜

ao

“Os testes podem apenas mostrar a presen¸ca de erros, n˜

ao

sua ausˆ

encia

completa

(5)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de software

Testes podem ser categorizados segundo uma s´erie de crit´erios:

Tipos de teste segundo objetivo: Teste de valida¸c˜ao ou Teste de

defeitos;

Tipos de testes segundo a fase de aplica¸c˜ao: Teste de unidade,

Teste de Integra¸c˜ao, Teste de Sistema ou Teste de regress˜ao

Tipos de teste segundo o crit´erio de aplica¸c˜ao: Teste funcional,

Teste estrutural e Teste baseado em defeito

(6)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de software

Tipos de teste segundo objetivo

Teste de valida¸c˜ao

Visa mostrar que o software atende aos requisitos;

Sucesso: Quando o teste mostra que o requisito foi implementado

corretamente

Teste de defeitos

Visa encontrar defeitos no sistema;

(7)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de software

Teste de unidade (ou de componente)

Teste de partes individuais do sistema

Realizado: desenvolvedor(es)

Teste de integra¸c˜ao

Teste de duas ou mais partes do sistema funcionando em conjunto

Realizado: desenvolvedor(es)

Teste de sistema

Ap´os realizar a integra¸c˜ao de todas as partes constituintes, o

sistema completo ´e testado

(8)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de software

Diferentes estr´ategias podem ser adotadas na realiza¸c˜ao de testes

Dois exemplos de estrat´egias de testes s˜ao:

Estrat´egia de teste em V

(9)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

(10)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de Software

Estrat´egia de desenvolvimento guiada por testes

1

Defina uma lista de tarefas a implementar

2

Escreva um teste

3

Execute o teste (s´

o para garantir que ele falha)

4

Implemente o c´

odigo mais simples que passe pelo teste

5

Refatore o c´

odigo para remover a duplica¸c˜

oes

6

Escreva mais um teste ou refine o teste existente

(11)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Teste de Software

Como eu vou criar o teste antes do

(12)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Introdu¸c˜

ao

(13)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Introdu¸c˜

ao

A constru¸c˜ao de software ´e uma tarefa complexa...

... n˜ao pode ser totalmente automatizada...

... depende fortemente da habilidade dos desenvolvadores ...

...

Grande parte dos problemas encontrados em software ocorrem

(14)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Introdu¸c˜

ao

T´ecnicas de VV&T existem para minimizar os danos inerentes `a

falha humana no ciclo de desenvolvimento

Atividades de VV&T podem ser realizadas a qualquer momento

no ciclo de desenvolvimento

Inspe¸c˜

oes podem ter in´ıcio desde a cria¸c˜ao do primeiro artefato

O planejamento de testes pode come¸car desde o levantamento de

requisitos

(15)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Introdu¸c˜

ao

O teste de sofwtare ´e a atividade de VV&T mais conhecida e

amplamente utilizada

O objetivo do teste ´e exercitar uma vers˜ao do software de modo

que se avalie o comportamento apresentado

Se o comportamento exibido n˜ao est´a de acordo com o esperado,

um erro (ou defeito) ´e identificado

O objetivo do teste ´e identificar o erro

(16)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Termos

Alguns termos s˜ao utilizados na literatura relacionada a testes

Defeito - produ¸c˜ao de dados incorretos

Engano - a¸c˜ao humana que resulta em um defeito

Erro - estado inconsistente apresentado durante a execu¸c˜ao do

programa

Falha - resultado incorreto que ´e produzido por um erro

Os termos n˜ao s˜ao unˆanimes e s˜ao utilizados informalmente

como sinˆ

onimos

(17)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Termos

Dom´ınio de entrada (

D(P)

)

conjunto de todos os valores de entrada poss´ıveis para um programa

Dom´ınio de sa´ıda

conjunto de todos os resultados produzidos pelo programa

Dado de teste

um elemento de

D(P)

Caso de teste

(18)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Termos

Um programa que calcula

x

y

Dom´ınio de entrada (

D(P)

)

x

Z

e

y

Z

(pares de inteiros)

Dado de teste

2

Caso de teste

<

(2

,

3)

,

8

>

Conjunto de teste

(19)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Termos

(20)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

(21)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

Teste de unidade (ou de componente)

Teste de partes individuais do sistema (classes, m´etodos, ...)

Realizado: desenvolvedor(es)

(22)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

Teste de integra¸c˜ao

Teste de duas ou mais partes do sistema funcionando em conjunto

Realizado: desenvolvedor(es)

(23)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

(24)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

Teste de sistema

Ap´os realizar a integra¸c˜ao de todas as partes constituintes, o

sistema completo ´e testado

Realizado: equipe de teste ou grupo de usu´arios

(25)

Teste de software

Teste de releases

´

E realizado sobre uma vers˜ao do sistema que ser´a liberada para o

cliente

´

E baseado somente na especifica¸c˜ao de sistema (caixa-preta)

Teste alfa - teste interno (no ambiente de desenvolvimento)

efetuado sobre uma vers˜ao do software que ser´a liberada aos

usu´arios finais

(26)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

Para todas as fases deve-se realizar um conjunto de etapas:

Planejamento

Projeto de casos de teste

Execu¸c˜ao

(27)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Fases da atividade de teste

(28)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

(29)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Uma das etapas do processo de teste de software ´e o “Projeto de

casos de teste”

O objetivo ´e gerar um conjunto de casos de teste que possa ser

utilizado de forma efetiva

Os projeto de teste engloba a descri¸c˜ao das pr´e-condi¸c˜oes

(entradas) e p´

os-condi¸c˜oes (sa´ıdas)

(30)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste exaustivo - selecionar todos os elementos do conjunto de

teste

Para o programa que computa

x

y

Conjunto de teste: todos os pares de inteiros poss´ıveis...

Exemplo

o conjunto de teste possui cardinalidade 2

n

x

2

n

n, n´

umero de bits usados na representa¸c˜ao do inteiro

2

32

x

2

32

= 2

64

= 18

.

446

.

744

.

073

.

709

.

551

.

616 de casos de teste

(31)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste caixa-branca

o comportamento interno ´e checado

teste executado com conhecimento do c´

odigo

Teste caixa-preta

(32)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

(33)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

T´ecnicas/Abordagens para selecionar elementos do conjunto de

teste

Teste aleat´

orio

Teste de parti¸c˜ao

(34)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste de aleat´

orio

uma grande quantidade de casos de teste ´e selecionada

aleatoriamente

(35)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste de parti¸c˜oes

Os dados de entrada e sa´ıda podem pertencer a uma mesma classe

Estas classes s˜ao chamadas de

parti¸c˜

oes

(36)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

(37)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste funcional (caixa-preta)

Casos de teste s˜ao derivados de acordo com a especifica¸c˜ao do

programa

Escolha de casos de teste baseada na escolha de elementso de

uma determinada parti¸c˜ao

Particionamento de equivalˆencia

An´

alise do valor limite

(38)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste estrutural (caixa-branca)

Casos de teste s˜ao derivados de acordo com a estrutura do

programa

Exercitar todos as partes do programa

(39)

Verifica¸c˜

ao e Valida¸c˜

ao: Teste de software

Crit´erios de teste

Teste baseado em defeitos (caixa-branca)

Casos de teste s˜ao criados om base na estrutura interna do

programa

Cohecimento de defeitos comuns na atividade de codifica¸c˜ao s˜ao

utilizados para derivar casos de teste

(40)

Exerc´ıcio

1

Exemplifique o “Dom´ınio de entrada (

D(P)

)”, o “Dom´ınio de sa´ıda”, “Dado de

teste”, o “Caso de teste”e o “Conjunto de teste”para uma aplica¸c˜

ao que identifica o

maior valor entre dois n´

umeros fornecidos

(41)

Resumo

Verifica¸c˜

ao e valida¸c˜

ao buscam responder as perguntas

“Estamos construindo o produto corretamente?”

“Estamos construindo o produto correto?”

Existem duas abordagens de verifica¸c˜

ao:

Inspe¸c˜

oes de Software (verifica¸c˜ao est´atica)

Teste de Software (verifica¸c˜ao dinˆamica)

Testes de software podem ser classificados de diversas maneiras:

(42)

Resumo

Teste de software ´

e a abordagem de V&V mais utilizada

A atividade de teste ´

e executada ao longo de fases distintas

Teste de componente (ou teste unit´ario)

Teste de integra¸c˜ao

Teste de sistema

Diferentes abordagens podem auxiliar na defini¸c˜

ao do que deve ser testado

Teste funcional

Teste estrutural

(43)

Ian Sommerville.

Engenharia de Software, 8

a

ed., 2007.

Cap´ıtulo 22 - Verifica¸c˜ao e valida¸c˜ao

Roger S. Pressman

Engenharia de software., McGraw-Hill, 6a. edi¸c˜ao, 2006.

Cap´ıtulo 17 - T´ecnics de teste de software

Cap´ıtulo 18 - Estrat´egias de teste de software

M. E. Delamaro, J. C. Maldonado & M. Jino

(44)

Perguntas?

Referências

Documentos relacionados

UM ESTUDO DA HISTÓRIA AFRICANA ANTIGA REVELA UMA ANTERIOR DEFINIÇÃO AFRICANA DO SISTEMA DE MELANINA HUMANA COMO UM [INTEIRO] SANTO CORPO PRETO [HOLY BLACK BODY

115 você usou o verbo no plural e na negativa, pois você sabe que eles estão localizados na Cinelândia e não em

No Amapá as comunidades tradicionais conquistaram a força política para a criação pelo governo estadual do Programa de Desenvolvimento Sustentável do Amapá (PDSA), um programa

A finalidade do “Documento de Arquitetura de Software - DAS” é definir um modelo arquitetural para ser aplicado ao desenvolvimento dos jogos do Desafio SEBRAE, bem como

Traçar um perfil do conteúdo veiculado nas manhãs brasileiras identificando categorias e gêneros utilizados por estes cinco importantes canais e suas afiliadas locais, é

principais experiências profissionais durante os últimos 5 anos, indicando: nome e setor de atividade da empresa, cargo e se a empresa integra (i) o grupo econômico do

No dia 29 de maio (quinta-feira), às 21 horas, a ACBJ realiza o Concerto Comemorativo do Centenário da Imigração Japonesa no Brasil, com a Orquestra Aliança Cultural

• A Revolução Industrial corresponde ao processo de industrialização que teve início na segunda metade do.. século XVIII no