ferramentas de gestão de testes

36
1 Teste e Qualidade de Software Ferramentas de Gestão de Testes Luís Ramos Teste e Qualidade de Software Mestrado em Engenharia Informática

Upload: elliando-dias

Post on 29-Nov-2014

9.539 views

Category:

Technology


10 download

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!!!)

32/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos

Módulo de Testes da GP do CICA/FEUP

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

35/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos

Questões

?

36/36MEI – TQS - Ferramentas de Gestão de Testes Luís Ramos

Fim

Luís Ramos

Teste e Qualidade de SoftwareMestrado em Engenharia Informática

Obrigado