Ferramentas de Gestão de Testes

Documentos relacionados
Plano de testes. Norma ANSI/IEEE para Documentação de Teste de Software define plano de testes como:

Projecto Test Management Apresentação 2º Semestre

Projecto Test Management Apresentação 1º Semestre

Ferramentas de teste da Compuware TestPartner Testes Automáticos. 09-Nov-2006

Introdução ao RUP Rational Unified Process

Introdução aos Sistemas Integrados de Gestão de Bibliotecas

Professor Emiliano S. Monteiro

Função Fundamental do SO

CASOS DE TESTE PALESTRANTE: MARCIA SILVA

Versão 3.1br. Foundation Level Model Based Tester

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

Problemas e Práticas Recomendadas no Desenvolvimento de Software

iportaldoc - Tarefas

Teste de Software. Planejamento de Teste. Rosemary Silveira Filgueiras Melo

Diagramas de Use Case

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

Software Testing with Visual Studio 2013 (20497)

Desenvolvimento Java com ferramentas IBM

Validação INSPIRE. Validador INSPIRE aplicado à toponímia. André Serronha (DGT) Francisco Caldeira (INE) (21 junho de 2017)

Teste de Software. Objetivo: Executar software para revelar erros/falhas ainda não descobertos. Pode gastar 40% do esforço de desenvolvimento

Conteúdo de Formação

CONFIGURAÇÃO DESKTOP OPEN SOURCE

Introdução ao Desenvolvimento de

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Web Presentation Patterns - Controllers

Engenharia de Software 2006/2007

Planificação Anual da Disciplina de Sistemas Operativos - 12º 1PI

Engenharia de Software. Matéria para os Testes

UNIVERSIDADE DE AVEIRO

Gerenciamento de configuração e mudança

igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status

Engenharia de Software 2º Semestre de 2006/2007

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

ABD Arquivos e Bibliotecas Digitais

Teste de Aplicações Web

Introdução aos Testes de Software

Fábio Amado João Maio 33306

Análise e Concepção de Sistemas de Informação

Engenharia de Software

Tutorial da ferramenta de prototipação Pencil Project (Versão resumida) Prof. Moacyr Franco Neto

Teste de software. Engenharia de software Profª karine sato da silva

Métricas. Métricas. [Engenharia de Software II] Adriano J. Holanda 11/9/2017

Aplicações Informáticas A

Migração para KOHA na Biblioteca Geral da Universidade de Évora

E-Portefólio da especificação ao processamento digital

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

LimeSurvey Questionários Refrescantes, Fáceis e Livres

VISÃO GERAL. Faça a gestão da segurança de rede até 250 postos através de uma consola baseada na cloud.

Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

Rational RequisitePro

Introdução 20 Diagramas de fluxos de dados 20 O processo de elaboração de DFD 22 Regras práticas para a elaboração de DFD 24 Dicionário de dados 26

Introdução à Engª de Requisitos

Capítulo 2 - Processos de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Apps para a Internet Em Visual Studio EDIÇÕES 2017 RIO TINTO

Ciclo de vida: fases x atividades

José Vieira & José Esmeriz. Universidade do Minho

Paradigmas de Software

PROGRAMA. Unidade Curricular: Informática

Teste de Software Intermediário

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO

Projecto 3º ano. Escola Superior de Tecnologia de Castelo Branco. Folder Tracking. Eng.ª Informática e das Tecnologias da Informação

Como utilizador registado Eu quero ter acesso a um botão de "entrar" Para que possa fazer login na aplicação

Red Hat System Administration I

2. Modelos de Desenvolvimento de Software

Técnico de Gestão e Programação de Sistemas Informáticos

Introdução a Teste de Software

Testes Automatizados. Cursos de Verão 2007 IME/USP Dairton Bassi & Paulo Cheque

Organização para Realização de Teste de Software

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

Engenharia de Software

Arquitecturas de Software Enunciado de Projecto

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

Prof. Dr. Thiago Jabur Bittar

Desenvolvimento de um Sistema de Gestão de Emergência para cheias induzidas

Especificação Técnica Sistema de Acesso

Informática básica SOFTWARE.

Segurança em Sistemas Operativos

Sumário. Sistemas Operativos 1

Aprenda a instalar o GLPI no Centos 6.5

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

GESTÃO DE COLEÇÕES BIOLÓGICAS UTILIZANDO SPECIFY 6

Qualidade. Ana Madureira

Cadeira: Engenharia de Software

Bases de Dados. Parte I: Conceitos Básicos

PLANIFICAÇÃO ANUAL. Tempos letivos previstos (45) Período escolar

Um sistema de difusão de informação a nível da aplicação

nas Instituições de Ensino Superior Universidade de Aveiro Ricardo T. Martins 2018 / 04 / 13

Prof. Fábio Lúcio Meira

Benefícios da Solução de Gerenciamento Dell KACE. Sales Engineer

Excel Completo E-Learning. Sobre o curso. Destinatários. Tecnologias de Informação - Office. Nível: Iniciado Duração: Aprox. 15h

Introdução a Banco de Dados. Curso: Engenharia de Produção Disciplina: Informática Aplicada Professor: Rodrigo da Rocha

Engenharia de Software

Transcrição:

Ferramentas de Gestão de Testes Teste e Qualidade de Software Mestrado em Engenharia Informática Teste e Qualidade de Software 1

Agenda Ferramentas de Gestão de Testes Bugzilla Test Runner Mercury Interactive Test Director Novo Módulo de Testes da GP do CICA/FEUP Demonstração 2/36

Quality Assurance diz respeito à verificação de que os produtos implementam os requisitos base os processos descritos no plano de desenvolvimento são seguidos 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. 3/36

Gestão de Testes Processo de testar contra requisitos (QA) Testar software envolve Processos Equipas de Teste Versões de software Releases Aplicações Grupos de scripts Etc. 4/36

Tipos de Abordagem aos Testes 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 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 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 5/36

Tipos de Ferramentas de Testes 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 Ferramentas tipo Record/Playback Captura e reprodução/repetição dos processos gravados Ferramentas de Testes de Carga (Capacity Testing tools) Etc Geração de carga e tráfego no sistema Aumenta o custo, o tempo dispendido e a qualidade do software 6/36

Ferramentas de Gestão de Testes 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 Fases típicas do processo de teste: Planeamento, desenho, implementação, execução, análise e gestão 7/36

Ferramentas de Gestão de Testes Funcionalidade típicas Definir requisitos de testes (test requirements) Desenvolver planos de testes Planear execuções de testes Registar as execuções e os resultados obtidos (diferenças entre resultados obtidos e esperados) Registar os defeitos encontrados durante a execução dos testes Prioritizar as execuções dos testes Associardocumentos/templates aostestes Envio de avisos para responsáveis, testers, etc Análise da execução de planos de testes Test the Test por exemplo, que testes nunca deram origem a bugs? 8/36

Ferramentas de Testes Automáticos e Capture/Playback Ferramentas com testes automáticos podem funcionar como Test Drivers. 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 Ferramentas Capture/Playback Teste de programas com interfaces interactivas 9/36

Plano de Testes O que é? Documento que descreve os objectivos, o âmbito, a abordagem, e o enfoque de um esforço de teste de uma aplicação Permite que pessoas dentro e fora do projecto compreendam o porquê e o como da validação do produto 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 10/36

Casos de Teste O que é? Um input, uma acção (ou evento) e uma resposta esperada Serve para determinar se uma dada funcionalidade de uma aplicação está a funcionar correctamente 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 Oferecem consistência e escalabilidade ao processo de teste Um bom caso de teste é um caso de teste que encontre problemas O processo de definição de casos de teste pode ajudar a encontrar problemas nos requisitos ou na arquitectura de uma aplicação É útil desenhar os casos de teste o mais cedo possível no processo de desenvolvimento 11/36

Ferramentas de Gestão de Testes Comerciais: Mercury Interactive TestDirector - Quality Center Compuware QA Director IBM Rational TestManager 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). 12/36

Bugzilla Test Runner É um sistema de gestão de casos de teste add-on over Bugzilla 13/36

Bugzilla Permite aos programadores a manutenção e gestão dos bugs de um produto 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 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 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...) 14/36

Bugzilla Test Runner Bugzilla Test Runner ajuda a organizar o processo de QA 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 15/36

Bugzilla Test Runner - Conclusões Prós: Ferramenta com as funcionalidades básicas de gestão de testes Boa interligação com o bugzilla Contras: Péssima interface com o utilizador, dificuldades de navegação Pobre em termos de análise de testes executados 16/36

Bugzilla Test Runner Home Page: http://www.willowriver.net/products/testrunner.php Online demo: http://testrunner.citat.se/ - user: testrunner@willowriver.net - pwd: testrunner 17/36

Mercury Interactive Quality Center Mercury Interactive - Quality Center Test Director Quick Test Professional WinRunner É uma suite de aplicações para testes de software A ferramenta de gestão de testes é o TestDirector 18/36

Mercury Interactive Test Director É o líder de mercado das ferramentas de gestão de testes Permite gerir e automatizar todo o processo de QA Central de testes baseada na web Grande destaque para o processo de teste: Metodologia Estrutura Organização Documentação 19/36

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 20/36

Test Director - Requirements Management Definição de requisitos e respectivas propriedades Definir árvores de Requisitos Agrupamento de requisitos por grupos funcionais e tipos Estado dos Requisitos Alteração dos requisitos (com histórico de alterações) Anexação de documentos aos requisitos Envio de dados do requisito por email 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 21/36

Test Director Test Plan Development 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) os planos de teste devem ser organizados segundo as unidades funcionais da aplicação a testar relações hierárquicas e de dependência entre testes 22/36

Test Director Test Plan Development Plano de Teste descrição geral (é a estratégia de teste para o módulo) anexação de documentos 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 Passos/iterações Nome, descrição, valores de input, acção, resultado esperado, etc. 23/36

Test Director Test Plan Development 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 24/36

Test Director Test Execution 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. 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 Dependências e precedências de passagem se um dado teste falhar, pode continuar a execução ou não Registo e análise dos resultados dos testes executados 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 25/36

Test Director Test Execution Gestão visual do fluxo de execução de testes 26/36

Test Director Track Defects Registo de bugs Propriedades: reprodutível (Y/N), estado (new, open/reopen, fixed, closed/rejected) Lista de propriedades configurável pelo administrador Pesquisa e revisão de bugs Associação de bugs a testes (ou o contrário) Controlo de bugs ao longo do seu ciclo de vida Anexação de documentos 27/36

Test Director Reports & Analysis Vimos até agora 4 módulos do TestDirector: Requirements Management Test Plan Development Test Execution Track Defects 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 28/36

Test Director Reports & Analysis Funcionalidades Geração de reports configuráveis e filtráveis Várias templates configuráveis exemplo: lista de requisitos, lista de testes, traceability matrix 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 Exportação para HTML, MsWord, MsExcell (com gráficos e reports incluídos) Exemplo: report com a execução de um test plan Importação de dados do MsWord e do MsExcell mercury add-ins para word e excell (macros) 29/36

Test Director Conclusões 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 Contras: Preço 30/36

Gestão de Projectos do CICA/FEUP Problema Testes em folhas MsExcell - Nenhum planeamento - Nenhuma definição/repetição de testes 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!!!) 31/36

Módulo de Testes da GP do CICA/FEUP 32/36

Módulo de Testes da GP do CICA/FEUP Demo da Gestão de Projectos Módulo de Testes 33/36

Referências opensourcetesting.org http://www.softwareqatest.com 34/36

Questões? 35/36

Fim Obrigado Teste e Qualidade de Software Mestrado em Engenharia Informática 36/36