SlideShare uma empresa Scribd logo
1 de 35
PROCESSO DE TESTES DE
SOFTWARE
MSOO
Introdução
 Teste é um conjunto de atividades que pode
ser planejado antecipadamente e realizado
sistematicamente.
 É possível definir um “template” (esqueleto),
ou seja um conjunto de passos ao qual é
possível alocar técnicas de projeto de casos
de teste e estratégias de teste específicos.
Objetivos do Teste
 O Processo de Teste, como qualquer outro processo deve ser revisto
continuamente, de forma a ampliar sua atuação e possibilitar aos
profissionais uma maior visibilidade e organização dos seus trabalhos,
o que resulta numa maior agilidade e controle operacional dos projetos
de testes.
C
U
S
R
D
I
V
ST
Teste de unidade
Teste de integração
Teste de validação
Teste de sistema
Engenharia de sistemas
Requisitos
Projeto
Código
Estratégia de teste
Fluxo de informações de teste
 O processo de depuração é a parte mais imprevisível do
processo de teste. Um erro que indique uma discrepância de
0,01% entre resultados esperados e reais pode demorar uma
hora, um dia ou um mês para ser diagnosticado e corrigido.
Atividade
de teste
Avaliação
Modelo de
confiabilidade
Depuração
Configuração
de SW
Configuração
de teste
Resultados
de teste
Resultados
esperados
Dados
da taxa
de erros
Erros
Correções
Confiabilidade
prevista
Técnicas de Teste de Software
 Conhecendo-se a função específica que um produto projetado
deve executar, testes podem ser realizados para demonstrar que
cada função é totalmente operacional (teste de caixa preta - “black
box”)
 Conhecendo-se o funcionamento interno de um produto, testes
podem ser realizados para garantir que “todas as engrenagens”, ou
seja, que a operação interna de um produto tem um desempenho
de acordo com as especificações e que os componentes internos
foram adequadamente postos à prova (teste de caixa branca -
“white box”)
Teste de Caixa Preta
 Teste de caixa preta refere-se aos testes
realizados nas interfaces do SW (a entrada
é adequadamente aceita e a saída é
corretamente produzida com a integridade
das informações externas mantida).
Teste de Caixa Branca
 Teste de caixa branca baseia-se num minucioso
exame dos detalhes procedimentais, através da
definição de todos os caminhos lógicos possíveis.
 Infelizmente estes testes apresentam problemas
logísticos, uma vez que o número destes
possíveis caminhos lógicos pode ser muito
grande, o que levaria a um tempo infinito.
 Entretanto este tipo de teste não pode ser
desprezado como pouco prático, podendo-se
optar por um número limitado de opções
Teste de caminho básico
 É uma técnica de teste de caixa branca que possibilita que o
projetista do caso de teste derive uma medida de complexidade
lógica de um projeto procedimental e use essa medida como guia
para definir um conjunto básico de caminhos de execução.
Notação de grafo de fluxo:
 notação simples para representação do fluxo de controle, que
descreve o fluxo lógico:
Seqüência
if
while
case
Complexidade Ciclomática
 É uma métrica de SW que proporciona uma
medida quantitativa da complexidade lógica de
um programa
 O valor computado da complexidade ciclomática
define o número de caminhos independentes do
conjunto básico de um programa e oferece-nos
um limite máximo para o número de testes que
deve ser realizado para garantir que todas as
instruções sejam executadas pelo menos uma
vez.
Complexidade Ciclomática

Por exemplo, um conjunto de
caminhos independentes,
referentes à figura ao lado:

caminho 1: 1-11

caminho 2: 1-2-3-4-5-10-1-11

caminho 3: 1-2-3-6-8-9-10-1-11

caminho 4: 1-2-3-6-7-9-10-1-11
1
2, 3
6
7 8
9
10
11
4, 5
Ramo
Nó
Região
R1
R4
R2
R3
Grafo de fluxo
Visão da Qualidade
 Teste x Verificação x Validação
 Verificação: “Estamos construindo certo o
produto?”
 Validação: “Estamos construindo o produto
certo?”
 Teste x Qualidade
 Qualidade é um conceito mais amplo
 Teste gera informação sobre qualidade do
produto
Estratégias de Teste de Software
 Teste de Unidade
 Teste de Integração
 Teste de Validação
 Teste de Sistema
C
U
S
R
D
I
V
ST
Teste de unidade
Teste de integração
Teste de validação
Teste de sistema
Engenharia de sistemas
Requisitos
Projeto
Código
Estratégia de teste
Testes de Unidade
 Concentra-se no esforço de verificação da
menor unidade de projeto de SW - o módulo.
Baseia-se quase sempre na técnica de caixa
branca (com menor incidência na O.O.) e
pode ser realizado em paralelo para múltiplos
módulos.
Testes de Integração
 O objetivo é, a partir dos módulos testados no nível de unidade,
construir a estrutura de programa que foi determinada pelo projeto
realizando-se ao mesmo tempo, testes para descobrir erros
associados a interfaces (entradas e saídas entre módulos devem
se compatibilizar).
Testes de Validação
 São definidas expectativas razoáveis na Especificação de
Requisitos de SW, que descreve todos os atributos do SW visíveis
ao usuário.
 A validação é bem-sucedida quando o SW funciona de uma
maneira razoavelmente esperada pelo cliente.
Testes de Sistema
 É uma série de diferentes testes, cujo
propósito primordial é pôr completamente à
prova o sistema baseado em computador.
Teste de Sistema
 Teste de recuperação: é um teste de sistema que força o SW a
falhar de diversas maneiras e verifica se a recuperação é
adequadamente executada.
 Teste de segurança: tenta verificar se todos os mecanismos de
proteção embutidos em um sistema o protegerão, de fato, de
acessos indevidos.
 Teste de estresse: executa o sistema de uma forma que exige
recursos em quantidade. Essencialmente o analista tenta destruir o
programa.
 Teste de desempenho: é idealizado para testar o desempenho de
“runtime” do SW dentro do contexto de um sistema integrado.
Test-Driven Development
(TDD)
 Desenvolvimento guiado pelos testes
 Só escreva código novo se um teste falhar
 Refatore até que o teste funcione
 Alternância: "red/green/refactor" - nunca passe mais
de 10 minutos sem que a barra do JUnit fique verde.
 Técnicas
 "Fake It Til You Make It": faça um teste rodar
simplesmente fazendo método retornar constante
 Implementação óbvia: se operações são simples,
implemente-as e faça que os testes rodem
Plugin JUnit (BlueJ)
Plugin JUnit (Eclipse)
Ferramentas para Testes das
GUI’s
 Caso específico: resposta de servidores Web
 Verificar se uma página HTML ou XML contém determinado texto
ou determinado elemento
 Verificar se resposta está de acordo com dados passados na
requisição: testes funcionais tipo "caixa-preta"
 Soluções (extensões do JUnit)
 HttpUnit e ServletUnit:
 permite testar dados de árvore DOM HTML gerada
 JXWeb (combinação do JXUnit com HttpUnit)
 permite especificar os dados de teste em arquivos XML
 arquivos de teste Java são gerados a partir do XML
 XMLUnit
 extensão simples para testar árvores XML
 Onde encontrar: (httpunit|jxunit|xmlunit).sourceforge.net
 Outras: Cactus, JUnitPerf, JUnitEE…
Ferramenta para Testes de Performance
 JUnitPerf (www.clarkware.com)
 Coleção de decoradores para medir performance e
escalabilidade em testes JUnit existentes
 TimedTest
 Executa um teste e mede o tempo transcorrido
 Define um tempo máximo para a execução. Teste falha se
execução durar mais que o tempo estabelecido
 LoadTest
 Executa um teste com uma carga simulada
 Utiliza timers para distribuir as cargas usando distribuições
randômicas
 Combinado com TimerTest para medir tempo com carga
 ThreadedTest
 Executa o teste em um thread separado
Frameworks para Testes de
Unidade
 Similares ao JUnit (linguagem Java):
 Python
 PyUnit
 C++
 CppUnit
 Perl
 PerlUnit
 .NET
 NUnit, NUnitForms, dotUnit, EasyMock.NET, csUnit
Testes envolvendo acesso a Base
de Dados
Processo de Teste de Software na visão do RUP
Planejamento de Testes
 Definição de uma proposta de testes baseada nas expectativas do
Cliente em relação à :
 prazos,
 custos
 qualidade esperada
 Possibilidade de dimensionar a equipe e estabelecer um esforço de
acordo com as necessidades apontadas pelo Cliente.
Especificação dos Testes
 Identificação dos casos de testes que deverão ser construídos e/ou
modificados em função das mudanças solicitadas pelo Cliente.
Especificação dos Testes
(Categorias)
Modelagem dos Testes
 Identificação de todos os elementos necessários para a
implementação de cada caso de teste especificado:
 modelagem das massas de testes
 definição dos critérios de tratamento de arquivos (descaracterização e
comparação de resultados).
Preparação do Ambiente
 Conjunto de atividades que visa a
disponibilização física de um ambiente de
testes para sofrer a bateria de testes
planejadas nas etapas anteriores de forma
contínua e automatizada (sem intervenção
humana).
Execução dos Testes
 Execução e conferência dos testes
planejados, de forma a garantir que o
comportamento do aplicativo permanece em
"conformidade" com os requisitos contratados
pelo Cliente.
Análise dos Resultados
 Análise e confirmação dos resultados
relatados durante a fase de execução dos
testes.
 Os resultados em "não-conformidade"
deverão ser "confirmados" e "detalhados" para
que a Fábrica de Software realize as
correções necessárias.
 Já os em "conformidade" deverão ter seu
resultado "POSITIVO" reconfirmado.
Equipes de Teste
Norma IEEE 829-1998
 A norma IEEE 829-1998 descreve um conjunto
de documentos para as atividades de teste de
um produto de software. Os documentos
cobrem as tarefas de planejamento,
especificação e relato de testes.
Perguntas?

Mais conteúdo relacionado

Mais procurados

Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoAricelio Souza
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
 
ALM - Testes Exploratórios no Microsoft Test Manager
ALM - Testes Exploratórios no Microsoft Test ManagerALM - Testes Exploratórios no Microsoft Test Manager
ALM - Testes Exploratórios no Microsoft Test ManagerAlan Carlos
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Stanley Araújo
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGMarcos Lottermann
 

Mais procurados (20)

Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de Código
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Plano de testes
Plano de testesPlano de testes
Plano de testes
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 
ALM - Testes Exploratórios no Microsoft Test Manager
ALM - Testes Exploratórios no Microsoft Test ManagerALM - Testes Exploratórios no Microsoft Test Manager
ALM - Testes Exploratórios no Microsoft Test Manager
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
Aplicação de Testes Caixa Branca / Preta. Métodos dos caminhos básicos ou cri...
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MININGGESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
GESTÃO DE DEMANDAS DE TESTE E ANÁLISE DE PADRÕES COM TEXT MINING
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 

Destaque

Processos De Software Ana Regina
Processos De Software Ana ReginaProcessos De Software Ana Regina
Processos De Software Ana ReginaCristina Cerdeiral
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareQualister
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aLeonardo Molinari
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Fernando Palma
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Princípios da Filosofia Lean - Slides - Profª Silene Seibel
Princípios da Filosofia Lean - Slides - Profª Silene SeibelPrincípios da Filosofia Lean - Slides - Profª Silene Seibel
Princípios da Filosofia Lean - Slides - Profª Silene SeibelSustentare Escola de Negócios
 
2014 summer A 803 q
2014 summer A 803 q2014 summer A 803 q
2014 summer A 803 qbagrutonline
 
โครงงาน เร อง ผมสวยด_วยเบ_ยร_และไข_
โครงงาน เร  อง ผมสวยด_วยเบ_ยร_และไข_โครงงาน เร  อง ผมสวยด_วยเบ_ยร_และไข_
โครงงาน เร อง ผมสวยด_วยเบ_ยร_และไข_somruk222
 
南迴祕境車站
南迴祕境車站南迴祕境車站
南迴祕境車站Jaing Lai
 
C&h aula 22 transformação da paisagem_anexo
C&h aula 22 transformação da paisagem_anexoC&h aula 22 transformação da paisagem_anexo
C&h aula 22 transformação da paisagem_anexoEloiza Nayara
 
世衛組織評選的最健康與最垃圾食品
世衛組織評選的最健康與最垃圾食品世衛組織評選的最健康與最垃圾食品
世衛組織評選的最健康與最垃圾食品Jaing Lai
 
淚光閃英文版
淚光閃英文版淚光閃英文版
淚光閃英文版Jaing Lai
 

Destaque (20)

Painel Synos Crhistian Souza
Painel Synos Crhistian SouzaPainel Synos Crhistian Souza
Painel Synos Crhistian Souza
 
Processos De Software Ana Regina
Processos De Software Ana ReginaProcessos De Software Ana Regina
Processos De Software Ana Regina
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
Fundamentos de Testes de Software - Qualidad
Fundamentos de Testes de Software - QualidadFundamentos de Testes de Software - Qualidad
Fundamentos de Testes de Software - Qualidad
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Princípios da Filosofia Lean - Slides - Profª Silene Seibel
Princípios da Filosofia Lean - Slides - Profª Silene SeibelPrincípios da Filosofia Lean - Slides - Profª Silene Seibel
Princípios da Filosofia Lean - Slides - Profª Silene Seibel
 
2014 summer A 803 q
2014 summer A 803 q2014 summer A 803 q
2014 summer A 803 q
 
โครงงาน เร อง ผมสวยด_วยเบ_ยร_และไข_
โครงงาน เร  อง ผมสวยด_วยเบ_ยร_และไข_โครงงาน เร  อง ผมสวยด_วยเบ_ยร_และไข_
โครงงาน เร อง ผมสวยด_วยเบ_ยร_และไข_
 
南迴祕境車站
南迴祕境車站南迴祕境車站
南迴祕境車站
 
C&h aula 22 transformação da paisagem_anexo
C&h aula 22 transformação da paisagem_anexoC&h aula 22 transformação da paisagem_anexo
C&h aula 22 transformação da paisagem_anexo
 
:v
:v:v
:v
 
Portfolio
Portfolio Portfolio
Portfolio
 
Orden tutoría (16 11-07)
Orden tutoría (16 11-07)Orden tutoría (16 11-07)
Orden tutoría (16 11-07)
 
世衛組織評選的最健康與最垃圾食品
世衛組織評選的最健康與最垃圾食品世衛組織評選的最健康與最垃圾食品
世衛組織評選的最健康與最垃圾食品
 
Projeto mindomo
Projeto mindomoProjeto mindomo
Projeto mindomo
 
Opera Paris
Opera ParisOpera Paris
Opera Paris
 
淚光閃英文版
淚光閃英文版淚光閃英文版
淚光閃英文版
 

Semelhante a ybr789try

Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnapAndreano Lanusse
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SWguest8ae21d
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testesAndré Luiz Forchesatto
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoflavio1110
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
Testes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareTestes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareSilas Gonçalves
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfHoctairBernardino
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 

Semelhante a ybr789try (20)

Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Eng de testes aula2
Eng de testes   aula2Eng de testes   aula2
Eng de testes aula2
 
Introdução a tdd
Introdução a tddIntrodução a tdd
Introdução a tdd
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Testes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de SoftwareTestes, engenharia de Software, teste de Software
Testes, engenharia de Software, teste de Software
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdf
 
JUnit
JUnitJUnit
JUnit
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 

ybr789try

  • 1. PROCESSO DE TESTES DE SOFTWARE MSOO
  • 2. Introdução  Teste é um conjunto de atividades que pode ser planejado antecipadamente e realizado sistematicamente.  É possível definir um “template” (esqueleto), ou seja um conjunto de passos ao qual é possível alocar técnicas de projeto de casos de teste e estratégias de teste específicos.
  • 3. Objetivos do Teste  O Processo de Teste, como qualquer outro processo deve ser revisto continuamente, de forma a ampliar sua atuação e possibilitar aos profissionais uma maior visibilidade e organização dos seus trabalhos, o que resulta numa maior agilidade e controle operacional dos projetos de testes. C U S R D I V ST Teste de unidade Teste de integração Teste de validação Teste de sistema Engenharia de sistemas Requisitos Projeto Código Estratégia de teste
  • 4. Fluxo de informações de teste  O processo de depuração é a parte mais imprevisível do processo de teste. Um erro que indique uma discrepância de 0,01% entre resultados esperados e reais pode demorar uma hora, um dia ou um mês para ser diagnosticado e corrigido. Atividade de teste Avaliação Modelo de confiabilidade Depuração Configuração de SW Configuração de teste Resultados de teste Resultados esperados Dados da taxa de erros Erros Correções Confiabilidade prevista
  • 5. Técnicas de Teste de Software  Conhecendo-se a função específica que um produto projetado deve executar, testes podem ser realizados para demonstrar que cada função é totalmente operacional (teste de caixa preta - “black box”)  Conhecendo-se o funcionamento interno de um produto, testes podem ser realizados para garantir que “todas as engrenagens”, ou seja, que a operação interna de um produto tem um desempenho de acordo com as especificações e que os componentes internos foram adequadamente postos à prova (teste de caixa branca - “white box”)
  • 6. Teste de Caixa Preta  Teste de caixa preta refere-se aos testes realizados nas interfaces do SW (a entrada é adequadamente aceita e a saída é corretamente produzida com a integridade das informações externas mantida).
  • 7. Teste de Caixa Branca  Teste de caixa branca baseia-se num minucioso exame dos detalhes procedimentais, através da definição de todos os caminhos lógicos possíveis.  Infelizmente estes testes apresentam problemas logísticos, uma vez que o número destes possíveis caminhos lógicos pode ser muito grande, o que levaria a um tempo infinito.  Entretanto este tipo de teste não pode ser desprezado como pouco prático, podendo-se optar por um número limitado de opções
  • 8. Teste de caminho básico  É uma técnica de teste de caixa branca que possibilita que o projetista do caso de teste derive uma medida de complexidade lógica de um projeto procedimental e use essa medida como guia para definir um conjunto básico de caminhos de execução. Notação de grafo de fluxo:  notação simples para representação do fluxo de controle, que descreve o fluxo lógico: Seqüência if while case
  • 9. Complexidade Ciclomática  É uma métrica de SW que proporciona uma medida quantitativa da complexidade lógica de um programa  O valor computado da complexidade ciclomática define o número de caminhos independentes do conjunto básico de um programa e oferece-nos um limite máximo para o número de testes que deve ser realizado para garantir que todas as instruções sejam executadas pelo menos uma vez.
  • 10. Complexidade Ciclomática  Por exemplo, um conjunto de caminhos independentes, referentes à figura ao lado:  caminho 1: 1-11  caminho 2: 1-2-3-4-5-10-1-11  caminho 3: 1-2-3-6-8-9-10-1-11  caminho 4: 1-2-3-6-7-9-10-1-11 1 2, 3 6 7 8 9 10 11 4, 5 Ramo Nó Região R1 R4 R2 R3 Grafo de fluxo
  • 11. Visão da Qualidade  Teste x Verificação x Validação  Verificação: “Estamos construindo certo o produto?”  Validação: “Estamos construindo o produto certo?”  Teste x Qualidade  Qualidade é um conceito mais amplo  Teste gera informação sobre qualidade do produto
  • 12. Estratégias de Teste de Software  Teste de Unidade  Teste de Integração  Teste de Validação  Teste de Sistema C U S R D I V ST Teste de unidade Teste de integração Teste de validação Teste de sistema Engenharia de sistemas Requisitos Projeto Código Estratégia de teste
  • 13. Testes de Unidade  Concentra-se no esforço de verificação da menor unidade de projeto de SW - o módulo. Baseia-se quase sempre na técnica de caixa branca (com menor incidência na O.O.) e pode ser realizado em paralelo para múltiplos módulos.
  • 14. Testes de Integração  O objetivo é, a partir dos módulos testados no nível de unidade, construir a estrutura de programa que foi determinada pelo projeto realizando-se ao mesmo tempo, testes para descobrir erros associados a interfaces (entradas e saídas entre módulos devem se compatibilizar).
  • 15. Testes de Validação  São definidas expectativas razoáveis na Especificação de Requisitos de SW, que descreve todos os atributos do SW visíveis ao usuário.  A validação é bem-sucedida quando o SW funciona de uma maneira razoavelmente esperada pelo cliente.
  • 16. Testes de Sistema  É uma série de diferentes testes, cujo propósito primordial é pôr completamente à prova o sistema baseado em computador.
  • 17. Teste de Sistema  Teste de recuperação: é um teste de sistema que força o SW a falhar de diversas maneiras e verifica se a recuperação é adequadamente executada.  Teste de segurança: tenta verificar se todos os mecanismos de proteção embutidos em um sistema o protegerão, de fato, de acessos indevidos.  Teste de estresse: executa o sistema de uma forma que exige recursos em quantidade. Essencialmente o analista tenta destruir o programa.  Teste de desempenho: é idealizado para testar o desempenho de “runtime” do SW dentro do contexto de um sistema integrado.
  • 18. Test-Driven Development (TDD)  Desenvolvimento guiado pelos testes  Só escreva código novo se um teste falhar  Refatore até que o teste funcione  Alternância: "red/green/refactor" - nunca passe mais de 10 minutos sem que a barra do JUnit fique verde.  Técnicas  "Fake It Til You Make It": faça um teste rodar simplesmente fazendo método retornar constante  Implementação óbvia: se operações são simples, implemente-as e faça que os testes rodem
  • 21. Ferramentas para Testes das GUI’s  Caso específico: resposta de servidores Web  Verificar se uma página HTML ou XML contém determinado texto ou determinado elemento  Verificar se resposta está de acordo com dados passados na requisição: testes funcionais tipo "caixa-preta"  Soluções (extensões do JUnit)  HttpUnit e ServletUnit:  permite testar dados de árvore DOM HTML gerada  JXWeb (combinação do JXUnit com HttpUnit)  permite especificar os dados de teste em arquivos XML  arquivos de teste Java são gerados a partir do XML  XMLUnit  extensão simples para testar árvores XML  Onde encontrar: (httpunit|jxunit|xmlunit).sourceforge.net  Outras: Cactus, JUnitPerf, JUnitEE…
  • 22. Ferramenta para Testes de Performance  JUnitPerf (www.clarkware.com)  Coleção de decoradores para medir performance e escalabilidade em testes JUnit existentes  TimedTest  Executa um teste e mede o tempo transcorrido  Define um tempo máximo para a execução. Teste falha se execução durar mais que o tempo estabelecido  LoadTest  Executa um teste com uma carga simulada  Utiliza timers para distribuir as cargas usando distribuições randômicas  Combinado com TimerTest para medir tempo com carga  ThreadedTest  Executa o teste em um thread separado
  • 23. Frameworks para Testes de Unidade  Similares ao JUnit (linguagem Java):  Python  PyUnit  C++  CppUnit  Perl  PerlUnit  .NET  NUnit, NUnitForms, dotUnit, EasyMock.NET, csUnit
  • 24. Testes envolvendo acesso a Base de Dados
  • 25. Processo de Teste de Software na visão do RUP
  • 26. Planejamento de Testes  Definição de uma proposta de testes baseada nas expectativas do Cliente em relação à :  prazos,  custos  qualidade esperada  Possibilidade de dimensionar a equipe e estabelecer um esforço de acordo com as necessidades apontadas pelo Cliente.
  • 27. Especificação dos Testes  Identificação dos casos de testes que deverão ser construídos e/ou modificados em função das mudanças solicitadas pelo Cliente.
  • 29. Modelagem dos Testes  Identificação de todos os elementos necessários para a implementação de cada caso de teste especificado:  modelagem das massas de testes  definição dos critérios de tratamento de arquivos (descaracterização e comparação de resultados).
  • 30. Preparação do Ambiente  Conjunto de atividades que visa a disponibilização física de um ambiente de testes para sofrer a bateria de testes planejadas nas etapas anteriores de forma contínua e automatizada (sem intervenção humana).
  • 31. Execução dos Testes  Execução e conferência dos testes planejados, de forma a garantir que o comportamento do aplicativo permanece em "conformidade" com os requisitos contratados pelo Cliente.
  • 32. Análise dos Resultados  Análise e confirmação dos resultados relatados durante a fase de execução dos testes.  Os resultados em "não-conformidade" deverão ser "confirmados" e "detalhados" para que a Fábrica de Software realize as correções necessárias.  Já os em "conformidade" deverão ter seu resultado "POSITIVO" reconfirmado.
  • 34. Norma IEEE 829-1998  A norma IEEE 829-1998 descreve um conjunto de documentos para as atividades de teste de um produto de software. Os documentos cobrem as tarefas de planejamento, especificação e relato de testes.