You are on page 1of 24

Fundamentos em Teste de Software

Módulo 3 – Preparando os testes

Érika Hmeljevski – 2010


Onde estamos?
Preparando os testes

Atividades:

 Adquirir ferramentas de teste;

 Disponiblizar ferramentas de teste;

 Configurar ferramentas de testes;

 Treinar equipe de testes para estas ferramentas;

 Configurar ambiente de testes para o projeto.


Ambiente de Teste
Ambiente de Teste

Ambiente de Ambiente de Ambiente de


Desenvolvimento Teste Produção

Testes
Testes
Testes Integração
Aceitação
Unitário Sistema
Estresse
Integração Regressão
Performance
Aceitação
Técnica X Ferramenta
Técnica: É um processo que assegura que alguns aspectos do sistema funcionam
propriamente

Ferramenta: Instrumento usado para aplicar a técnica

A técnica de balançar um instrumento aplicando força para conseguir


um objetivo pode ser aplicada tanto por um martelo para pregar
um prego como por um machado para cortar um tronco no meio.

É a combinação entre os dois aspectos que permite que o processo de


teste seja desempenhado

 O testador precisa primeiro entender quais ferramentas devem ser usadas


com cada técnica
Automação de Testes
 Automação não é resposta para as dificuldades do processo de testes;

 Resolve grandes problemas, mas é fantasia pensar que vai tornar a vida dos testadores
“mais fácil”;

 Automatização é muito mais que simplesmente adquirir uma ferramenta;

 A automação é realmente necessária?;

 Definir as etapas do processo de teste que realmente precisam ser automatizadas;

 É imprescindível a existência de um processo de testes e uma base metodológica já


consolidadas;

 Sua introdução deve ser vista como um investimento a longo prazo;

 Sua implementação não é trivial nem barata;

 Ferramentas devem ser escolhidas com base na sua capacidade de conseguir atender os
objetivos do teste;

 Deve ser avaliada a relação custo/benefício da


 automatização dos testes.
Automação dos Testes
Quando:

 Existirem fortes pressões para melhorar a qualidade;

 O projeto tiver situações que não possam ser testadas


adequadamente pelos métodos tradicionais;

 O perfil dos softwares desenvolvidos forem complexos


e com impacto no negócio.
Categorias das Ferramentas de
Teste
 Ferramentas manuais;

 Ferramentas para gestão de testes e rastreabilidade;

 Ferramentas para gestão de defeitos;

 Ferramentas para testes de Performance/Estress;

 Ferramentas de automação de testes de regressão;

 Ferramentas de cobertura de código;

 Ferramentas de suporte;

 Ferramentas de versionamento;

 Ferramentas para gestâo de Projetos; etc.


Ferramentas de Teste
Gestão de Testes:
Acompanhamento dos testes e rastreabilidade dos casos de testes.
Free/open: Testitool, Test Case Web, Teste link, rth, TestMaster, etc…
Comerciais: RSI/QA-Test, TestLog, Mercury Quality Center, Rational Test
Manager, TestTrack TCM, Compuware QA Director,etc..

Gestão de Projetos:
Planejamento e Aconpanhamento de um projeto qualquer
Free/open: ganttProject; ProjectKoach; OpenProj; Xplanner,
OpenWorkbench,etc…
Comerciais: TraceGP, Microsoft Office Project, Project Builder, BaseCamp,
etc..

Gestão de Requisitos:
Servem para descobrir, analisar, documentar e verificar as funções e restrições
do sistema a ser criado.
Free/open: OSRMT, Xuse, TRUC, REM,Plandora,etc..
Comerciais: Rational RequisitPro, Borland Caliber, Compuware Optimal
Trace,etc.
Ferramentas de Teste
Ferramentas de Gerenciamento de Defeitos
Ferramentas para rastrear a origem e correção dos defeitos, acompanhar a
qualidade do software em teste com base nos defeitos cadastrados pelos
testadores ao longo de um ciclo de testes, acompanhar o ciclo de vida dos
defeitos e emitir relatórios de gestão.
Free/open: Mantis, Bugzilla, Scarab, BugNet,TRAC,etc.
Comerciais: JIRA, FogBUGZ, CaliberRM, ClearQuest, Perforce,etc.

Ferramentas para Testes de Stress e Performance


Simular diferentes níveis de carga

Free/open: J Meter, Web StressTest Tool, OpenSTA, WEBload, The Grinder,


etc…
Comerciais: Mercury LoadRunner, Rational Performance Tester, Compuware
QALoad, etc.

12
Ferramentas de Teste
Ferramentas para execução de Testes de Regressão

Free/open: Selenium (AJAX), Watir (Web); Canoo WebTest(Web), Apodora (Web),


actiWATE(Web), Abbot(Java Swing), squish for KDE (Linux),etc.

Comerciais: Mercury Quick Test Professional, Rational Functional Tester,


Compuware QARun, TestComplete, etc.

Simuladores de objetos para testes


Stubs, nos preocupamos em testar o estado dos objetos após a execução do
método.
Mocks, a preocupação é testar a interação entre objetos durante a execução do
método.
Exemplo: EasyMock

Ferramentas para geração de Scripts de Teste


Criação de scripts e casos de Teste
Comerciais: Rational Robot
Ferramentas de Teste
Ferramentas para Testes Unitários:
Free/open:J Unit, CDBUNit
Comerciais: SilkPerformer® SOA Edition da Borland, DEVPartner Studio,
Familia Purify da Rational, etc.

Ferramentas de Cobertura de Código Dinânico


Identificam trechos de código não executados
Free/open:Crap4j, Metrics, JavaNCSS, JDepend
Comerciais: Rational PureCoverage e o Rational PurifyPlus (Windows).

Ferramentas de Análise de Código Estático


Identificam erros comuns (inicialização de variáveis, estouro de
memória, etc.)
Free/open: PMD
Comerciais: Rational PureCoverage e o Rational PurifyPlus (Windows).
Ferramentas de Teste
Ferramentas de controle de Versionamento
Armazenam e controlam versões
Free/open: WinCVS, Subversion, darcs,Aegis, Arch etc.
Comerciais: Perforce, Microsoft Visual Source Safe, Rational
ClearCase,StarTeam, BitKeeper,etc.

Ferramentas de Integração Contínua


Auxiliam nos testes dos métodos ágeis de desenvolvimento, base do XP,
realizam os testes de integração e validação dos códigos.
Free/open: Scons, Bitten, Ant, Maven, Cruise Control, Gump, TinderBox, etc.
Comerciais: AntHill Pro, FinalBuilder, BuildForge, etc.
Ferramentas de Teste
Ferramentas para auxiliar em estimativas de teste:
Free/open: Construx Estimate, Testmoon

Ferramentas de configuração de recursos de máquina


Servem para estressar os recursos de um computador, ou seja, aumentar a
utilização da memória, processamento, disco, rede e sistema operacional a
níveis extremamente elevados.testar a robustez e a confiabilidade da aplicação
em testes quando submetida a um ambiente onde os recursos estão sendo
utilizados no limite de sua capacidade.
Free/open: Heavy Load Outros: Traffic Emulator.

Ferramentas para monitorar a performance e comportamento das


aplicações.
Exemplo: Process Explorer free para Windows – semelhante ao gerenciador de
tarefas com mais recursos avançados.
Ferramentas de Teste
Ferramentas para suportar diferentes configurações
Executam multiplos sistemas operacionais ao mesmo tempo no mesmo
computador físico por meio da virtualização. (Linux,Solares,Novel
Netware,Windows,Linux,etc…), perfeito para economia de hardware.
Free/open: VMWARE, etc.
Comerciais: Microsoft – Virtual PC, etc.

Ferramentas de Monitoramento de tráfego


Ferramentas que permitem o monitoramento e iteração com requisições HTTPs
enviadas de um navegador para um servidor web e vice-versa (como um
Proxy). você pode interceptar e validar o conteúdo das requisições HTTP,
podendo modificar o conteúdo delas simulando um hacker explorando uma
vulnerabilidade do sistema (teste de segurança), assim como testar o
comportamento da aplicação quando dados incoretos são enviados para o
servidor (teste de robustez).
Free/open: Burp Suite,etc.
Outros: TCPMon, etc.
Ferramentas de Teste
Ferramentas para suporte a coleta de evidências de testes:
Ferramentas que capturam toda a atividade exibida no seu computador em um
video avi. Pode servir para provar que um defeito existe e como reproduzi-lo.
Free/open: Camstudio para Windows
Outros: Wink

Ferramentas que capturam uma imagem do seu monitor,e até componentes


específicos (menus, grids, etc…)
Free/open: MWSnap para Windows
Outros: Screen Grab Pro.

Metodo de combinacao dupla (pair wise):


Ferramentas para gerar uma lista de combinações baseadas em pair wise para
garantir uma cobertura mínima das situações possíveis.suporta IF-THEN-ELSE.
Free/open: PICT para Windows, etc.
Outros: ALLPAIRS test case generation, etc.
Ferramentas de Teste
Ferramentas de comparação:
Servem para realçar a diferença entre dois arquivos. (inclusive entre duas
pastas).Úteis para comparar um arquivo de saída gerado pela aplicação em
teste contra o mesmo arquivo gerado por uma versão anterior da mesma
aplicação, por um outro build, ou até mesmo pelo sistema legado.
Exemplo: WinMerge Open Source para Windows, serve para realçar a
diferença entre dois arquivos. (inclusive entre duas pastas),etc.
Outros: Perforce Virtual Merge Tool, etc.

Ferramentas para geração de dados:


Exemplo: data generator – WEB Open source – gera enormes volumes de
dados para popular banco de dados de testes.útil quando o banco de dados é
novo por exemplo.

Ferramentas de monitoramento de conteudo HTML,CSS e Java Scripts:


Exemplo: Firebug – open source extensão do firefox.Visualização do conteúdo
de cada requisição entre o navegador e o servidor e a possibilidade de
monitorar requisições XML utilizadas em páginas AJAX.
Ambiente de Teste

O escopo do ambiente
será definido pelo nível
de teste a ser executado

Quanto maior o nível,


mais o ambiente de teste
deverá ser capaz de
reproduzir
as características do
ambiente
de produção
Preparação do Ambiente

Nível
Atributos
Unitário Integração Sistema Aceitação

Escopo Unidade Unidades Sistema Simulação da


individual agrupadas inteiro produção
Equipe Desenvolvedores Desenvolvedores Testadores Testadores e
e Testadores Usuários
Volume de Pequeno Pequeno Grande Grande
dados
Origem dos Criação manual Criação manual Criação por Dados reais
dados processos

Interfaces Não existem Não existem Simuladas Reais/Simuladas

Ambiente Desenvolvimento Desenvolvimento Teste Produção


Gerência de Configuração

Controle de Versionamento

Registro e controle das diversas versões geradas


Garantir que o que foi testado é o que de fato
será entregue

Controle de Mudanças

Definição de prioridades baseadas na severidade


do problema encontrado, no esforço para corrigí-lo,
no impacto no cronograma e no esforço para retestá-la
Considerações Finais

A garantia da integridade do ambiente de teste está


diretamente relacionada à garantia de qualidade do
produto

Uma inadequada infra-estrutura (pessoal, equipamentos,


metodologia e ferramentas) para testar softwares leva à
situação onde os defeitos são identificados mais tarde.
Dúvidas?

You might also like