ferramentas de gestão de testes
DESCRIPTION
TRANSCRIPT
1Teste e Qualidade de Software
Ferramentas de Gestão de Testes
Luís Ramos
Teste e Qualidade de SoftwareMestrado em Engenharia Informática
2/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Agenda
n Ferramentas de Gestão de Testes
n Bugzilla Test Runner
n Mercury Interactive Test Director
n Novo Módulo de Testes da GP do CICA/FEUP• Demonstração
3/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Quality Assurance
n diz respeito à verificação de que• os produtos implementam os requisitos base• os processos descritos no plano de desenvolvimento são seguidos
n muitas vezes confundida com Gestão de Configurações:• controlo e registo de alterações dos itens de configuração
código, documentação, requisitos, problemas, design, etc.
4/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Gestão de Testes
n Processo de testar contra requisitos (QA)
n Testar software envolve• Processos
• Equipas de Teste• Versões de software
• Releases• Aplicações
• Grupos de scripts• Etc.
5/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Tipos de Abordagem aos Testes
n Manual• Definição e entrada de dados manual, normalmente através de um cliente (GUI)• Garantir que todas as combinações são testadas requer conhecimentos do software e muito
tempo• Definição e execução manual
n Automação via Scripts• Podem ser desenvolvidos scripts usando linguagens de programação standard• Os scripts podem ser usados sistematicamente para variar os dados de entrada para cobertura
dos diferentes modos do programa• Execução programática
n Capture/Playback• Depende da interacção manual de pessoas para definir os casos de teste• As ferramentas que captam a sequência de acções executadas e as reproduzem posteriormente• Definição manual, execução automática
6/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Tipos de Ferramentas de Testes
n Ferramentas de Gestão de Testes• Controlo de versões, gestão de bugs, gestão de scripts de testes, artefactos de
planeamento de testes, execuções de testes e resultados dos testes
• Testes Manuais e Automáticos
n Ferramentas tipo Record/Playback• Captura e reprodução/repetição dos processos gravados
n Ferramentas de Testes de Carga (Capacity Testing tools)• Geração de carga e tráfego no sistema
n Etc…
Aumenta o custo, o tempo dispendido e a qualidade do software
7/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Ferramentas de Gestão de Testes
n Ajudam a gerir durante todas as fases de um projecto de desenvolvimento de software
• todo o processo de teste de software
• todas as fontes de informação relacionada com o esforço de teste
n Fases típicas do processo de teste:
Planeamento, desenho, implementação, execução, análise e gestão
8/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Ferramentas de Gestão de Testes Funcionalidade típicasn Definir requisitos de testes (test requirements)
n Desenvolver planos de testes
n Planear execuções de testes
n Registar as execuções e os resultados obtidos(diferenças entre resultados obtidos e esperados)
n Registar os defeitos encontrados durante a execução dos testes
n Prioritizar as execuções dos testes
n Associar documentos/templates aos testes
n Envio de avisos para responsáveis, testers, etc
n Análise da execução de planos de testes• Test the Test – por exemplo, que testes nunca deram origem a bugs?
9/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Ferramentas de TestesAutomáticos e Capture/Playbackn Ferramentas com testes automáticos podem funcionar como
Test Drivers.
n Um Test Driver:• lê um ou mais casos de teste de um ficheiro de testes• formata os dados dos casos de testes de acordo com as necessidades do
software a ser testado• invoca o software a ser testado com os inputs configurados no ficheiro
de testes
• Regista o output num ficheiro de log
n Ferramentas Capture/Playback• Teste de programas com interfaces interactivas
10/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Plano de Testes – O que é?
n Documento que descreve os objectivos, o âmbito, a abordagem, e o enfoque de um esforço de teste de uma aplicação
n Permite que pessoas dentro e fora do projecto compreendam o “porquê” e o “como” da validação do produto
n Alguns items que um plano de testes deve conter:• Título - Identificação do produto a testar (incluindo número da versão) - Overview do produto• Organização geral do projecto - Documentação relevante (requisitos, arquitectura, outros planos de testes, etc)• Objectivo do esforço de teste - Organização dos testes – Prioridades, âmbito e limitações do plano de testes • Esboço dos testes (abordagem aos testes por tipos de testes, funcionalidade, sistema, modulo, etc.) • Descrição e configuração do ambiente de testes (hardware, sistema operativo, outro software necessário,
configuração de dados, etc.)• Análise da validade do ambiente de testes
- diferenças entre o ambiente de testes e o ambiente de produção e o seu impacto na validade dos testes• Esboço dos processos de teste e ferramentas a usar para testes e reporte de bugs• Automação dos Testes (justificação e overview) - Test script/test code maintenance processes and version
control • Alocação de pessoal• etc…
11/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Casos de Teste – O que é?n Um input, uma acção (ou evento) e uma resposta esperada
n Serve para determinar se uma dada funcionalidade de uma aplicação está a funcionar correctamente
n Um caso de teste deve conter atributos como:• Identificador, Nome, Objectivo, Pré-condições, Requisitos nos dados de entrada, Passos (ou
iterações), Resultados esperados
n Oferecem consistência e escalabilidade ao processo de teste
n Um bom caso de teste é um caso de teste que encontre problemas
n O processo de definição de casos de teste pode ajudar a encontrar problemas nos requisitos ou na arquitectura de uma aplicação
n É útil desenhar os casos de teste o mais cedo possível no processo de desenvolvimento
12/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Ferramentas de Gestão de Testes
n Comerciais:• Mercury Interactive TestDirector - Quality Center
• Compuware QA Director
• IBM Rational TestManager
n Open Source:• Bugzilla Test Runner
• Software Testing Automation Framework (STAF)
• Outros: jWebUnit, Bugkilla (Functional testing), JMeter (Performance testing), Bugzilla, Mantis e phpBugTracker (bug-tracking systems).
13/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Bugzilla Test Runner
n É um sistema de gestão de casos de teste• add-on over Bugzilla
14/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Bugzilla
n Permite aos programadores a manutenção e gestão dos bugs de um produto
n Permite registar bugs e mudanças de código, comunicação entre elementos da equipa, submissão e revisão de patches e gestão da QA
n Dados:• É a ferramenta open source líder para gestão de bugs• Um dos primeiros produtos “mozilla.org” em 1998, escrito em PERL• Sempre em intenso desenvolvimento, é testado pela Mozilla Foundation
n 399 entidades registadas como utilizadores:• Free Software Projects
- Mozilla, Linux Kernel, Gnome, KDE, Apache Project, Open Office, etc• Linux Distributions
- Red Hat, Mandrake, Gentoo, TurboLinux, etc.• Companies
- Ximian, NASA, Id Software IBM, etc (ImagineBroadband...)
15/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Bugzilla Test Runner
n Bugzilla Test Runner ajuda a organizar o processo de QA
n Funcionalidades gerais:• Definição de planos de teste: um plano de testes deve conter a visão para as
actividades de QA que guiam os testers
• Definição de Casos de Teste: instruções de como testar uma determinada funcionalidade no sistema e os resultados esperados
• Agrupamento dos casos de teste em grupos funcionais
• Gestão de execuções de testes: que casos de teste foram executados em determinada versão do produto, quem e quando executou e qual foi o resultado
• Ligação de execuções de casos de teste a bugs: identificação de casos de teste que encontram problemas
• Outras: pesquisa de casos de teste, import/export testes para HTML
16/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Bugzilla Test Runner - Conclusões
n Prós:• Ferramenta com as funcionalidades básicas de gestão de testes• Boa interligação com o bugzilla
n Contras:• Péssima interface com o utilizador, dificuldades de navegação• Pobre em termos de análise de testes executados
17/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Bugzilla Test Runner
n Home Page:• http://www.willowriver.net/products/testrunner.php
n Online demo:• http://testrunner.citat.se/
- user: [email protected] pwd: testrunner
18/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Mercury Interactive – Quality Center
n Mercury Interactive - Quality Center• Test Director• Quick Test Professional
• WinRunner
n É uma suite de aplicações para testes de software
n A ferramenta de gestão de testes é o TestDirector
19/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Mercury Interactive Test Director
n É o líder de mercado das ferramentas de gestão de testes
n Permite gerir e automatizar todo o processo de QA
n Central de testes baseada na web
n Grande destaque para o processo de teste:• Metodologia
• Estrutura• Organização• Documentação
20/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Management Process
1. Identificar e definir os Requisitos de Teste• Identificação dos requisitos funcionais e de performance a testar
2. Desenvolver o Plano de Testes• Definir e planear quais os testes a serem executados e como o serão
3. Execução dos Testes• Organizar os grupos de testes, planear a sua execução, executar os testes e
analisar os resultados das execuções
4. Registar os defeitos encontrados e monitorar a sua correcção
21/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director - Requirements Management
n Definição de requisitos e respectivas propriedades
n Definir árvores de Requisitos
n Agrupamento de requisitos por grupos funcionais e tipos
n Estado dos Requisitos
n Alteração dos requisitos (com histórico de alterações)
n Anexação de documentos aos requisitos
n Envio de dados do requisito por email
n Três vista de gestão de requisitos:• document view – lista de requisitos e propriedades• coverage view - testes de cada requisito• coverage/analysis view – execuções de testes de cada requisito
22/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Plan Development
n Definição de planos de teste e respectivas propriedades• a partir de requisitos aprovados
1. Definição da árvore de casos de teste
2. Ligação dos casos de teste aos requisitos (ou o contrário)
3. Definição dos passos de cada caso de teste
4. Construção dos scripts de teste (para os testes automáticos)
n os planos de teste devem ser organizados segundo as unidades funcionais da aplicação a testar
n relações hierárquicas e de dependência entre testes
23/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Plan Development
n Plano de Teste• descrição geral (é a estratégia de teste para o módulo)• anexação de documentos
n Caso de Teste• tipo, nome, descrição, criador, criado em, estado, etc.• os campos obrigatórios de um caso de teste são configuráveis
(Administrativamente)• anexação de documentos
n Passos/iterações• Nome, descrição, valores de input, acção, resultado esperado, etc.
24/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Plan Development
n Outras funcionalidades:• um dos passos de um teste pode ser outro teste completo
• templates de testes - reutilização de testes
• permite inserir parâmetros que são configuráveis em cada uma destas chamadas• transformar/associar um teste manual num teste automático
• edição do script de teste directamente na ferramenta
• definição visual do fluxo de execução de um grupo de testes
25/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Execution
n Definição de Test Sets• conjuntos executáveis de testes de diferentes planos• num test set podemos incluir um ou mais planos de teste ou apenas um ou mais casos de
teste de vários planos• propriedades: versão do produto e do browser, notificação por email on fail, anexação de
documentos, watchers, etc.
n Planeamento de execuções automáticas de testes• Execução directamente na aplicação• Configuração de Reexecução em caso de falha• Configuração de regras de limpeza após execução do teste
n Dependências e precedências de passagem• se um dado teste falhar, pode continuar a execução ou não
n Registo e análise dos resultados dos testes executados
n Visualização e pesquisa de• todas as execuções e resultados dos TestSets• de cada caso de teste• de cada passo dentro de cada teste
26/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Test Execution
n Gestão visual do fluxo de execução de testes
27/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Track Defects
n Registo de bugs• Propriedades: reprodutível (Y/N), estado (new, open/reopen, fixed, closed/rejected)• Lista de propriedades configurável pelo administrador
n Pesquisa e revisão de bugs
n Associação de bugs a testes (ou o contrário)
n Controlo de bugs ao longo do seu ciclo de vida
n Anexação de documentos
28/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Reports & Analysis
n Vimos até agora 4 módulos do TestDirector:• Requirements Management• Test Plan Development• Test Execution• Track Defects
n Cada um dos 4 módulos anteriores tem uma tab de análise:• Filtragem e organização dos dados para reports e gráficos• Geração de reports e gráficos• Geração de documentação de projecto formatada
29/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Reports & AnalysisFuncionalidadesn Geração de reports configuráveis e filtráveis
• Várias templates configuráveis• exemplo: lista de requisitos, lista de testes, traceability matrix
n Geração de Gráficos pré-configurados• Gráficos com relações entre dados (configuráveis)• Exemplo: requisitos por autor, definições de testes por autor, execuções de testes por autor,
testes por urgência, etc
n Exportação para HTML, MsWord, MsExcell (com gráficos e reports incluídos)• Exemplo: report com a execução de um test plan
n Importação de dados do MsWord e do MsExcell• mercury add-ins para word e excell (macros)
30/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Test Director – Conclusões
n Prós:• Líder do mercado!? (é a mercury que diz)• A importância do processo de teste
• Muitas funcionalidades• Muito configurável
• Funcionalidades de report extraordinárias
n Contras:• Preço
31/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Gestão de Projectos do CICA/FEUP
n Problema• Testes em folhas MsExcell
- Nenhum planeamento- Nenhuma definição/repetição de testes
n Solução• Integração na Gestão de Projectos do CICA
- Gestão de Bugs (e parcialmente Controlo de Versões)
- Gestão de Requisitos- Gestão de Testes
- Gestão de Configurações (para breve!!!)
33/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Módulo de Testes da GP do CICA/FEUP
Demo da Gestão de Projectos
Módulo de Testes
34/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos
Referências
n opensourcetesting.org
n http://www.softwareqatest.com