SlideShare uma empresa Scribd logo
1 de 274
Planejamento e Execução de Testes Funcionais Apresentação Instrutor: Juliana Maria Lopes / Leonardo Grilli Torres
Objetivos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulo 1: Fundamentos de Testes de Software Juliana Maria Lopes
Agenda ,[object Object],[object Object],[object Object]
Por que testar? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivação financeira: perdas devido a erros US$ 1 milhão por minuto Charles Schwab (maior corretora on-line do mundo ) US$ 167 mil por minuto American Express US$ 50 mil por minuto Boeing Quedas do Sistema Queda de 26% no valor das ações Perdas de US$ 3,5 milhões Site fora do ar por 22 horas eBay  (Online Marketplace) US$ 1,1 milhão por dia Problemas no sistema de controle de bagagem US$ 50 milhões Erro no sistema mostrando que todos os vôos estavam lotados US$ 20 mil por minuto Sistema SABRE fora do ar por 12 horas American Airlines
Motivação financeira: custo da qualidade Fe  Fi  Encontrar o maior número de erros com o menor retrabalho possível com os testes de regressão 92,9% 7,1% 0% 50% 100% Falhas Externas Falhas Internas
Vantagem: menor custo da correção de erros “ O  Custo para encontrar e determinar um erro, aumenta exponencialmente com a fase do projeto.”  Barry Boehm, criador do Software Economics
Motivação técnica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivação técnica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivação profissional ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivações normativas Motivações ,[object Object],[object Object],[object Object],[object Object]
Motivações normativas: evidências ok Robustez  (escalabilidade / performance) ok Integração ok Funcionalidade ok Segurança de Dados ok Autorização ok Autenticação Validação e Testes Requisitos de Conformidade em Tecnologia de Informação
Introdução conceitual
Histórico: o 1 º Bug  http://www. history . navy . mil/photos/images/h96000/h96566kc . htm O primeiro "Bug" de Computador Uma traça foi encontrada enroscada próxima ao Relay #70, Painel F, da Máquina Calculadora Mark II Aiken enquanto ela estava sendo testada na Universidade de Harvard, em 9 de Setembro de 1945. Os operadores afixaram a traça no diário de operação, com a frase: "O primeiro caso real de um  bug  encontrado". Eles descreveram o processo como tendo "debugado" a máquina, o que introduziu o termo "debugar um programa de computador". Desde 1988, o diário, com a traça colada, está no Museu do Computador do Centro de Guerra Naval em Dahlgren, Virgina, USA.
Evolução histórica das atividades de teste de software DEMONSTRAÇÃO Mostrar que funciona 1960s DETECÇÃO Procurar defeitos meados 1970s PREVENÇÃO Gerenciar a qualidade 1990s ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O que é Teste? Uma investigação técnica executada para revelar informações relacionadas à  “ qualidade” do produto  Sob teste O Teste Funcional tem Por meta a verificação e  Aceitação dos dados, do Processamento, da resposta A este processamento e  a implementação  Apropriada das regras De negócio
Definição ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Informações relativas a qualidade do produto em teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Objetivos  diferentes  requerem estratégias de testes  diferentes,  o que implica em diferentes tipos de testes, diferentes documentos e diferentes resultados
Princípios básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Princípios básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Princípios básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Os focos da disciplina de testes Quality Control   encontrar falhas Quality Assurance   prevenir falhas   Quality by Design   evitar falhas
Quality Control (QC) Especificação de Requisitos Análise do projeto Desenho do  projeto codificação Testes de unidade Testes de integração Testes de Sistema Teste de  Aceitação Validação Validação Validação Quality Control   encontrar falhas
Quality Control Testes de unidade Testes de integração Testes de sistema Testes formais conduzidos para determinar se um sistema satisfaz ou não os critérios de aceitação e que possibilita ao cliente/usuário determinar se aceita ou não o sistema  Testes de aceitação do usuário Explora a menor unidade do projeto, procurando identificar erros de lógica e de implementação em cada módulo separadamente Descobrir erros associados às interfaces entre os módulos quando esses são integrados para construir a estrutura do software que foi estabelecida na fase de projeto Identificar erros de função e características de desempenho que não estejam de acordo com a especificação
Técnicas de testes Técnicas de testes Visão Fontes de informação Métodos entradas saídas Caixa preta Caixa branca Domínio do problema Requisitos Especificações de projeto Dados de análise de defeitos Diagramas de projeto Detalhes de projeto Código fonte Grafos de fluxo de controle Complexidade ciclomática Particionamento de classe de equivalência Análise de valores limites Diagrama de estados Grafos de causa e efeito Statement testing Branch testing Path testing Data flow testing Mutation testing Loop testing Testes Funcionais no Processo de Software
Dimensões de qualidade de software ,[object Object],[object Object],Funcionalidade Teste do funcionamento adequado de cada cenário de uso Facilidade de uso Teste da aplicação da perspectiva da conveniência do usuário final Confiabilidade Testa se a aplicação se comporta como o esperado Performance Teste de tempo de resposta sobre  picos e médias de carga Suportabilidade Teste da habilidade de manter e dar suporte à aplicação em produção FURPS
Tipos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Relato de falhas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulo 2: O processo de Testes de Software Juliana Maria Lopes
A disciplina de Validação e Testes  Framework de Desenvolvimento de Sistemas
Papéis, Atividades e Artefatos de Teste Gerente  de Testes Plano de Testes Responsável Por Aceitar Missão  de Avaliação Identificar Motivadores de Teste Obter comprometimento de Testabilidade Avaliar e  defender a Qualidade Avaliar e  aprimorar  os  esforços de Teste Resumo de Avaliação de Testes
Papéis, Atividades e Artefatos de Teste Analista de Testes Lista de  Idéias de Teste Responsável Por Identificar os Objetivos do Teste Identificar Idéias para os Testes Definir os Detalhes do Teste Definir Avaliação e Rastreamento de Necessidades Determinar Resultados de Teste Casos de Teste Verificar Mudanças na Construção Modelo de  Análise de Carga de Trabalho Dados de Teste Resultados de Teste
Papéis, Atividades e Artefatos de Teste Projetista de Testes Arquitetura de Automação de Teste Responsável Por Definir a Abordagem do Teste Definir as  Configurações  do Ambiente  de Testes Identificar  Mecanismos de Testes Estruturar a  Implementação  dos Testes Definir  Elementos de Testes Especificação de Interface de Teste Desenvolver Diretrizes de Teste Configuração de Ambiente de Teste Suíte de  Teste Diretrizes de Teste
Papéis, Atividades e Artefatos de Teste Testador Scripts de Teste Responsável Por Implementar  Testes Implementar  Suíte de Testes Executar  Suíte de Testes Analisar  Falhas do Teste Log de Teste
Workflow da Disciplina de Testes Definir Missão de Avaliação Verificar Enfoque do Teste Validar Estabilidade da Construção [Outra Técnica] Testar e Avaliar Avaliar Missão de Aceitação Aprimorar Ativos de Testes [Outro Ciclo de Teste]
Definir Missão de Avaliação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Definir Missão de Avaliação
Verificar Enfoque do Teste ,[object Object],[object Object],[object Object],[object Object],[object Object],Verificar Enfoque do Teste
Validar Estabilidade da Construção  ( Build ) ,[object Object],[object Object],[object Object],[object Object],Validar Estabilidade da Construção
Testar e Avaliar ,[object Object],[object Object],[object Object],[object Object],[object Object],Testar e Avaliar
Atingir Missão de Aceitação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Atingir Missão de Aceitação
Aprimorar Propriedades dos Testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Aprimorar Propriedades dos Testes
A equipe de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Revisão ,[object Object],[object Object]
Testes Funcionais
Testes Funcionais: Definição Uma maneira de avaliar o comportamento de um produto de software sem que o funcionamento interno do que está sendo testado seja conhecido pelo testador. Entrada Saída Programa Casos de Testes Resultados esperados
Testes Funcionais de Regressão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estratégia de Testes Funcionais
Estratégia de Testes Funcionais Código Testes  Funcionais X Testes Funcionais no Processo de Software Casos de Uso
Técnicas de Testes no Framework
Escopo Atual do Framework Requisitos Gerência de Configuração (SCM) Análise &  Desenho Construção Validação  & Testes Implantação Documentação Gerência de Projetos Disciplinas Principais Disciplinas de Apoio Abordagem  por Caso  de Uso MSVisual Studio/ WSAD/TSO/ISPF Java 4GL(VAGen) COBOL Plataforma  Distribuída Mainframe Plataforma Distribuída Mainframe Análise  Estruturada Análise  OO
Estratégia de Testes Requisitos A/D Construção Testes Implantação Testes Estruturais Repositório Requisitos Casos de Testes Funcionais Código
Cobertura de Requisitos X Cobertura de Código ,[object Object],[object Object],[object Object],Testes Funcionais no Processo de Software
Estratégia de Testes Requisitos A/D Construção Testes Implantação Construção codificação Tunning Testes  Unidade Debug e Testes Estruturais Testes Estruturais Testes Estruturais Analista Programador
Estratégia de Testes Requisitos A/D Construção Testes Implantação Teste Testes Internos Correção Testes  Aceitação Registro de  Defeitos Testes Estruturais Testes Funcionais Testes de Carga Analista de Sistemas
Derivação de Especificação Caos de Uso Código Testes  Funcionais Próximos Passos x Casos de Testes
Sistema de Rastreamento de Defeitos Instrumento de gerência de projetos Registra Líder de Projeto Equipe de Testes Gerencia Desenvolvedor Fixa Cancelado Em Solução Resolvido Fechado Adiado Aberto Ciclo de vida de Defeitos Base de  defeitos
Técnicas de Projeto de Testes ,[object Object],[object Object],[object Object]
Derivação de Especificação Cenário 1 Cenário 2 Cenário N Derivação de Casos de Uso em Casos de Testes Caso de Uso
Particionamento de Equivalência ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],entradas válidas entradas inválidas Saídas software Técnicas de Testes Funcionais
Classes de Equivalência ,[object Object],Técnicas de Testes Funcionais 4 7 Classe Válida Classe Inválida Classe Inválida 4 Classe Válida Classe Inválida Classe Inválida ,[object Object],Classe válida Classe dos elementos inválidos Conjunto
Análise de Valores Limites Técnicas de Testes Funcionais 4 Classe Válida Classe Inválida 3 5 7 Classe Válida Classe Inválida 6 8 4 7 Classe Válida Classe Inválida Classe Inválida
Análise de Valores Limites ,[object Object],Técnicas de Testes Funcionais ,[object Object],[object Object],[object Object],[object Object],8 >7 3 < 4 Inválidas 4, 5, 6, 7 >= 4 <= 7 Válidas Valores Limites Partições (de entrada ou saída)
Derivando Casos de Uso em Casos de Testes
Existem inúmeros tipos de requisitos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Casos de uso são parte da UML 1967 Foundations of OO (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug,…) UML 1.1 (OMG Standard) UML 1.3 ( extensibility ) UML 1.4 ( action semantics ) UML 1.5 1996 1997 1998 2001 1Q-2003 3Q-2003 UML 2.0 (MDA) Evolução da UML Origem dos casos de uso Jacobson Booch Rumbaugh
O que é um caso de uso? ,[object Object],[object Object],[object Object],Saque de dinheiro Cliente do Banco ,[object Object],[object Object]
Especificação Textual de casos de uso ,[object Object],[object Object],[object Object]
Conteúdos de um caso de uso ,[object Object],[object Object],[object Object],[object Object],[object Object],Sem conjugação no futuro
Exemplo de estilo de descrição de fluxo básico Estruture os fluxos em passos Numere o título de cada passo Descreva os passos  (1-3 sentenças) Não referencie fluxos alternativos no fluxo principal
Exemplo de descrição de fluxo alternativo Informe o passo onde o fluxo alternativo inicia Caso de Uso: Registro em cursos Informe o que causa o início do fluxo Informe o que acontece Informe onde o fluxo termina Fluxos alternativos devem tratar apenas uma condição
Casos de Uso e Casos de Teste  ,[object Object],[object Object],[object Object],[object Object],[object Object]
O que é um caso de teste? ,[object Object],[object Object],[object Object],Um conjunto de entradas, condições de execução, e resultados esperados (saídas) desenvolvido...para verificar a conformidade da aplicação com os requisitos definidos Caso de Teste
Cenário 1 Cenário 2 Cenário N Casos de Teste são derivados a partir de casos de uso (relembrando...) Caso de Uso
Derivação de caso de uso em caso de teste Ação do Ator Passo Caso de Uso Caso de Teste Resposta do Sistema Ponto de Verificação
Derivando Casos de Testes de Casos de Uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cenários – Caminhos do caso de uso ,[object Object],[object Object],[object Object],[object Object],[object Object]
Encontrando cenários ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Matriz de Cenários – Registro de Cursos ,[object Object]
Derivando casos de testes de casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
De cenários a casos de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Encontrando condições e resultados esperados
Examplo de matriz de casos de teste – Registro em curso Cada linha é um caso de teste Nota: V = Valido I = Inválido
Matriz de caso de teste – Observações ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Derivando casos de testes de casos de uso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Casos de Testes – O que falta? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo de Matriz com valores
Revisão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lab: Construindo matrizes de casos de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulo 3: Suíte de Testes Funcionais   IBM Rational Functional Test Luís Felipe Cipriani
Objetivos do módulo ,[object Object],[object Object],[object Object]
Objetivos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Principais problemas nos testes de software ,[object Object],[object Object],[object Object],NASA reports loss of Mars Climate Orbiter - 1999 Investigation of failure reveals software used combination of miles and meters for measurement ... NASDAQ Index Update Error - 1998 Net asset values were reported incorrectly to investors for several hundred mutual funds ...
Abordagem do Framework Software de Qualidade Ferramentas Processo B O A S P R Á T I C A s
Ferramentas de apoio a testes funcionais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integração das ferramentas Rational Testes Estruturais Repositório:  Projeto Rational Course.dll People.dll Course User Register.exe Billing.exe Billing System
O que é um projeto Rational? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Test Datastore ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Rational Administrator ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Criando um novo projeto 1 2 3
Configurando o projeto
Administrando privilérios para usuários e grupos ,[object Object],[object Object],[object Object],Testadores ,[object Object],[object Object],[object Object],[object Object],Gerentes de Testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Gerenciando usuários e grupos de testes Para adicionar grupos: Insert > New User > New Group Para modificar grupos existentes: Right-click > Properties
Revisão ,[object Object],[object Object],[object Object],[object Object],[object Object]
Lab 3.1: Entendendo Projetos Rational ,[object Object],[object Object],[object Object],[object Object],[object Object]
Gerenciando Planos de Testes no IBM Rational TestManager
Objetivos do módulo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entradas e atividades do planejamento e projeto de testes Test Case Definir Missão Identificar Motivadores Identificar Alvos Definir avaliação e rastreabilidades Definir abordagem de teste Identificar opiniões Definir Detalhes Definir ambiente e configurações Obter compromisso com a testabilidade Especificações de sistema Requisitos Pedidos de alteração Lista de riscos Plano de Iteração Especificações de Projeto Modelos de casos de uso Test Plan Test-Ideas List Test Automation Architecture
O plano de Testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Plano de Teste
Os desafios da gerência de testes ,[object Object],[object Object],[object Object],[object Object],[object Object]
TestManager: Plataforma central para gerência de testes Gerência de Resultados Pass Fail Relatórios integrados Scripts  GUI e VU Scripts  Java ou Basic Scripts para outros S.O. Projeto Iterações de teste Configurações  Planos Casos Teste Entradas de Testes Rational  TestManager Adapters Input Execution Adapters
Planejamento orientado à Casos de Testes Caso de Teste O que motiva os testes? Entradas de Testes Implementações Configurações Onde será testado? Quando será testado? Iterações Como será conduzido? 
Planejamento Visual Casos de Testes Pastas de Testes Plano de Teste Configurações
Passos para gerenciar Planos e Projetos de Testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entradas de Testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Visão de Entrada de Testes View > Test Inputs
Definindo Iterações, Configurações e Computadores Define computadores que serão executados os testes Define iterações de para o plano de testes Define configurações das aplicações de teste Define atributos de configuração
Adicionando Configurações e atributos Tools > Manage > Configurations > New
Adicionando Computadores Tools > Manage > Computers > New
Lab 3.2: Gerenciando Planos de Testes  ,[object Object],[object Object],[object Object],[object Object]
Construindo um plano de testes no TestManager File > New Test Plan Nome do plano de teste Descrição (opcional) proprietário (opcional)
Associando documentos externos a Planos de Testes Associa um documento externo
Criando pasta de casos de testes Selecione  Insert Test Case Folder Selecione o plano de teste na janela Test Plan, e clique com o botão direito do mouse
Criando Casos de Teste Selecione a pasta de caso de teste, e clique com o botão direito Selecione  Insert Test Case
Duas visões de Casos de Testes
Associando entradas, iterações, e configurações
Casos de Testes configurados
Casos de Testes Suspeitos Entrada 1 Entrada 2 Entrada 1 Entrada 2 Alteração significante Marcado como suspeito Associação Associação Caso de Teste A  Caso de Teste B  Caso de Teste C  Caso de Teste A  Caso de Teste B  Caso de Teste C 
Visualizando o status de Casos de Teste Casos de Testes suspeitos
Alterando status de Suspeita Altera o status suspeito
Lab 3.3: Construindo um plano de teste ,[object Object],[object Object],[object Object],[object Object],[object Object]
Lab 3.4 Identifique casos de testes suspeitos ,[object Object],[object Object]
Considerações sobre projeto de casos de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Identificação de dados de casos de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Identificação dos dados de casos de testes (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Seqüência ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Modularidade ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Modularidade: Estratégia  Roundtrip  Test Script 1 Test Script 2 Test Script 3 Test Script 4 Funcionalidade 1 Funcionalidade 2 Funcionalidade 3 Funcionalidade   4
Modularidade: Estratégia de segmentação ,[object Object],[object Object],Test Script 1 Test Script 2 Test Script 3 Test Script 4 Funcionalidade 1 Funcionalidade 2 Funcionalidade 3 Funcionalidade 4
Navegação e ações adicionais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pontos de Verificação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Automação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Detalhando casos de testes no TestManager Impressão Clique para mudar para passos ou ponto de verificação Em iterações iniciais, detalhe o caso de teste em alto-nível
Detalhando casos de testes no TestManager (cont.)
Associando documentos externos a casos de testes
Relatório de distribuição de casos de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Relatórios de Listagem ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Criando um relatório de distribuição de casos de teste Reports > New   Selecione um item sobre o qual será  a distribuição Selecione o formato da exibição
Revisão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Revisão (cont.) ,[object Object],[object Object],[object Object]
Lab 3.5: Detalhando um caso de teste no TestManager ,[object Object],[object Object],[object Object]
Lab 3.6: Criando relatórios de planejamento de testes ,[object Object],[object Object],[object Object],[object Object]
Módulo 4: Desenvolvimento de Scripts de Testes IBM Rational Robot Luís Felipe Cipriani
Objetivos do módulo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scripts de Testes ,[object Object],[object Object]
A evolução de um teste Identificar Motivaçõesdo teste Identificar os alvos do teste Identificar idéias de teste Caso de Teste Detalhar o s testes Scripts Automáticos Test Suite Implementar Teste Scripts Manuais
Scripts Manuais ,[object Object],[object Object],[object Object],[object Object]
Criando Scripts Manuais no Rational ManualTest File > New Test Script > Manual
Associando uma implementação manual à um caso de teste Clique para escolher um script já existente como implementação
Gerando scripts manuais à partir de casos de testes
Ícones de implementação Caso de Testes sem implementação associada Casos de testes com implementação manual Casos de testes configurados com scripts automáticos e herdados de um caso de teste pai
Lab 4.1 Criando um script de teste manual ,[object Object],[object Object],[object Object]
Preparação para automatizar testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Considerações sobre estrutura de automação de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Influências sobre a automação  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Rational Robot Permite a gravação e execução de scripts de testes automáticos que navegam pela aplicação e testa o estado dos objetos por meio dos pontos de verificação
Modos de gravação de scripts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Gravação orientada a objetos visuais Objetos Buttons Menu Edit box Tree view Window region Window Label ComboBox
[object Object],Gravação orientada a objetos visuais (cont.) OK  OK Versão 1 Versão 2
[object Object],Gravação orientada a objetos visuais (cont)
[object Object],Gravação orientada a objetos visuais (cont.) Visualização da lista de objetos visíveis ou não da aplicação
Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
Configuração do ambiente de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Opções de gravação do Robot Tools > GUI Record Options
Iniciando a gravação de scripts GUI Nome do script Opções de gravação Record GUI Test Script  button on toolbar or File > Record GUI
Execução das ações do usuário Pausa na gravação GUI Record  toolbar Grava suas ações de interação com a aplicação
Criando pontos de verificação ,[object Object],Exibição da GUI Insert Toolbar Pontos de Verificação
Finalizando a gravação Termina a gravação Gera o script SQABasic
Lab 4.2: Gravando um script GUI ,[object Object],[object Object],[object Object]
Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
Pontos de verificação do Rational Robot Imagem de janela Alfanuméricos Clipboard Scan no site Web Propriedade de objetos Comparação de arquivos Existência de arquivos Existência de módulos Existência de janela Menu Objeto de dados Região de imagem Comparação de site web
Selecionando o ponto de verificação apropriado ,[object Object],[object Object],[object Object],[object Object]
GUI Insert Toolbar: Pontos de Verificação Propriedades de objetos Alfanumérico Objeto de dados Menu Clipboard Região de imagem Imagem de janela Existência de janela Scan de site web Comparação de site web Display GUI Insert Toolbar
Selecionando o objeto de teste Arraste o  Object Finder  sobre o objeto e libere o botão no mouse ou Clique em  Browse  para selecionar o objeto à partir de uma lista de todos os objetos no desktop
Exemplo de Ponto de Verificação: Existência de Janela ,[object Object],[object Object],[object Object],[object Object]
Exemplo de Ponto de Verificação: Menu  Seleção das  células de teste Método de  identificação Descrição de seleções Método de  Verificação
Lab 4.3: Inserindo Pontos de Verificação ,[object Object],[object Object],[object Object]
Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
Restauro do ambiente para execução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Opções de execução GUI  ,[object Object],[object Object],[object Object],[object Object]
Antes de executar o teste propriamente dito ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
Visualização e análise dos resultados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O Log de teste ,[object Object],Resultados pass/fail ,[object Object]
Quando os pontos de verificação falham ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lab 4.4: Executar um script e visualizar resultados ,[object Object],[object Object],[object Object]
Shell Scripts Execução Test  Script 1 Test  Script 2 Test  Script 3 Test  Script 4 Shell Script Test  Script 1 Test  Script 2 Test  Script 3 Test  Script 4
Benefícios dos Shell Scripts ,[object Object],[object Object],[object Object],[object Object],[object Object]
Creating Shell Scripts ,[object Object],Nome do shell script Lista de scripts GUI disponíveis Adiciona scripts GUI script ao shell
O comando CallScript Os s hell scripts adicionam comandos  CallScript ou Adicione manualmente  o comando  CallScript Insert > Call Script
Lab 4.5: Criando um Shell Script ,[object Object],[object Object],[object Object]
Revisão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulo 5: Desenvolvimento de Scripts Automatizados: Pontos de Verificação, Datapools IBM Rational Robot Luís Felipe Cipriani
Objetivos do módulo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pontos de verificação Clique para expandir a GUI Insert toolbar Object Properties Alphanumeric Object Data Menu Clipboard Region Image Window Image Window Existence Web Site Scan Web Site Compare
Estado de espera e resultados esperados Nome do ponto de verificação Configuração do estados de espera Insert > Verification Point >  Verification Point Type Especificação do resultado esperado
Selecionando o objeto de teste Arraste a ferramenta  Object Finder  sobre objeto e libere o botão do mouse ou Clique  browse  para selecionar o objeto na lista de todos os objetos visuais no desktop
A lista de objetos Duplo clique para expandir o objeto Duplo-clique para retrair o objeto Retorna ao método de seleção  Object Finder A cor do objeto selecionado será invertida na aplicação Exibe os objetos escondidos no desktop
Ponto de verificação alfanumérico ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],&quot; Program &quot; 75 or &quot;75&quot;
Ponto de Verificação: propriedades de objetos ,[object Object],[object Object]
Objetos “filhos”
Seleção do que será verificado ,[object Object]
Selecionando itens de um Edit List ,[object Object]
Resultados da Edit List
Lab 5.1: propriedades de objetos e VPs alfanuméricos  ,[object Object],[object Object],[object Object],[object Object]
Ponto de verificação Object Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Verificando dados em Grids
O ponto de verificação Data Grid Grid de dados para seleção das células que serão testadas Método de identificação Descrição da seleção Método de verificação
Selecionando os dados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Método de verificação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Métodos de identificação
Selecionando conjunto de dados
Valores chaves
Dados de objetos vs. propriedades de objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],Ponto de verificação Dados de objeto Ponto de verificação propriedade de objeto
Outros pontos de verificação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lab 5.2: Propriedades de objetos e dados de objetos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Comparadores ,[object Object],[object Object],[object Object],[object Object],Grave scripts com os pontos de verificação Baseline Execute o script contra a aplicação Obtido COMPARE
Comparador de propriedades de objetos Lista de diferenças Propriedades do objeto comparado Hierarquia de objetos
Comparador de imagens
Criando máscaras de comparação ,[object Object],[object Object],[object Object]
Comparações em Grid Lista de diferenças Comparador de menu Grid de valores do menu
Comparador de texto
Atualização da Baseline ,[object Object],[object Object]
Lab 5.3: Usando o comparador de textos ,[object Object],[object Object]
Testando com datapools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Datapools ,[object Object],[object Object],[object Object]
Datapool: primeiros conceitos ,[object Object],[object Object],[object Object],[object Object]
Tipos de dados Tipos de dados padrão e tipos de dados customizados
Passo 1: Planejando o Datapool ,[object Object],[object Object],[object Object]
Passo 2: Modificando o código ,[object Object],[object Object],[object Object],Fecha o datapool SQADatapoolClose Recupera valores individuais do registro capturado SQADatapoolValue Captura um registro de dados do datapool SQADatapoolFetch Abre o datapool especificado SQADatapoolOpen
Passo 3: Criação e população do Datapool ,[object Object],[object Object]
Gerenciando Datapools Tools > Manage > Datapools
Lab 5.4: Testando com dados externos  ,[object Object],[object Object],[object Object]
Lab 5.5: Criando e utilizando Datapools ,[object Object],[object Object],[object Object]
Revisão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulo 6: Executando e avaliando os testes IBM Rational Robot
Objetivos do módulo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Maneiras de executar um script de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Flexibilidade Rastreabilidade Relatórios
Requisitos de execução de teste ,[object Object],[object Object],[object Object]
Ambiente de configuração de teste ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passos para o testes de regressão Configurar  Ambiente Criação Testes/ Suites Executar os Testes Recuperar os testes  interrompidos Verificar os  resultados  esperados Investigar os resultados  esperados Defeitos  logados
Lab 7.1: Executando no Rational Robot ,[object Object],[object Object],[object Object],[object Object]
Avaliação de execução de teste ,[object Object],[object Object]
Avalia o término de testes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Verificando os resultados de teste ,[object Object],[object Object],[object Object]
Falhas comuns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperação de testes interrompidos ,[object Object],[object Object]
Recuperação de erros fatais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperação de erros nos scripts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Executandos os scripts no TestManager File > Run Test Script >  Type of Script Computadores onde os scripts executarão Clique para alterar o computador Onde os resultados serão gravados Clique para alterar onde os resultados serão gravados
Janela de scripts ,[object Object],[object Object],[object Object],[object Object],[object Object],Nesta janela, você pode:
Propriedades de um script de teste Visualizar uma baseline capturado pelo ponto de verificação
Running Test Cases from TestManager File > Run Test Case ou Botão-direito
Executando um caso de testes no TestManager (cont.) Casos de testes que serão executados Adicione casos de teste na lista Ignora as configurações de sistema – executa os casos de testes nos computadores disponíveis Computador onde o caso de testes será executado Clique Change para alterar o computador Onde os resultados serão gravados Clique para alterar onde os resultados serão gravados
Executando uma implementação manual Executa os passos no Rational ManualTest, e grava os resultados dos passos e pontos de verificação
Visualizando os resultados de casos de teste Log de resultados de casos de teste
Visualizando os resultados de casos de testes Detalhe dos logs de resultados dos casos de testes
Dos logs de testes, você pode: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lab 6.1: Executando um caso de teste ,[object Object],[object Object],[object Object]
Lab 6.2: Analisando detalhes de log  ,[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizadoselliando dias
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Fabrício Campos
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIMonnalisa Medeiros
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testesIsaias Silva
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
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
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 

Mais procurados (20)

Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)Técnicas de modelagem de teste (parte 1)
Técnicas de modelagem de teste (parte 1)
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Qualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSIQualidade de software - Gestão de Projetos de Software - BSI
Qualidade de software - Gestão de Projetos de Software - BSI
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Plano de teste
Plano de testePlano de teste
Plano de teste
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
1 requisitos funcionais e não funcionais ok
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
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
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 

Destaque

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?Leonardo Costa
 
Responsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaResponsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaThoughtworks
 
Treinamento Six Sigma LG Electronics
Treinamento Six Sigma LG ElectronicsTreinamento Six Sigma LG Electronics
Treinamento Six Sigma LG Electronicsejedelmal
 
Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativasEduardo Lopes
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse UmfrageNina Rebele
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Axel Bruns
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesHubert Maisonneuve
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsisnikitaht21
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.4003
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Mónica Márquez
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateDirectio
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation MicrosoftSerein
 
Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Arthur Charpentier
 

Destaque (20)

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Test link
Test linkTest link
Test link
 
O que é o ruby on rails?
O que é o ruby on rails?O que é o ruby on rails?
O que é o ruby on rails?
 
Responsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos VillelaResponsabilidade na Entrega Contínua por Carlos Villela
Responsabilidade na Entrega Contínua por Carlos Villela
 
Treinamento Six Sigma LG Electronics
Treinamento Six Sigma LG ElectronicsTreinamento Six Sigma LG Electronics
Treinamento Six Sigma LG Electronics
 
Aula questões dissertativas
Aula   questões dissertativasAula   questões dissertativas
Aula questões dissertativas
 
Usability Ergebnisse Umfrage
Usability  Ergebnisse UmfrageUsability  Ergebnisse Umfrage
Usability Ergebnisse Umfrage
 
09 IBH E Assessment
09 IBH E Assessment09 IBH E Assessment
09 IBH E Assessment
 
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
Anatomie eines Trending Topics: Retweet-Ketten als Verbreitungsmechanismus fü...
 
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessairesComment déterminer le critère de jugement et le nombre de sujets nécessaires
Comment déterminer le critère de jugement et le nombre de sujets nécessaires
 
Test de estereopsis
Test de estereopsisTest de estereopsis
Test de estereopsis
 
Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.Evaluación diagnóstico funcional en la práctica ortomolecular.
Evaluación diagnóstico funcional en la práctica ortomolecular.
 
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...Taller de evaluación de la agudeza visual y la visión binocular en el infante...
Taller de evaluación de la agudeza visual y la visión binocular en el infante...
 
ALGA
ALGAALGA
ALGA
 
Nuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificateNuove norme sul segreto di stato e sulle informazioni classificate
Nuove norme sul segreto di stato e sulle informazioni classificate
 
2014 ncae nvb presentation
2014 ncae  nvb presentation2014 ncae  nvb presentation
2014 ncae nvb presentation
 
3e jaars
3e jaars3e jaars
3e jaars
 
Advertising Quiz
Advertising QuizAdvertising Quiz
Advertising Quiz
 
Delray Presentation Microsoft
Delray Presentation MicrosoftDelray Presentation Microsoft
Delray Presentation Microsoft
 
Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4Cours econometrie-uqam-st-3-v4
Cours econometrie-uqam-st-3-v4
 

Semelhante a PlanejamentoTestesFuncionais

Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
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
 
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
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfMichaelArrais1
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptxAnaKlyssia1
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwareCamilo Ribeiro
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de SoftwareElias Nogueira
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Aula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAlexandreLisboadaSil
 

Semelhante a PlanejamentoTestesFuncionais (20)

O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Qualidade
QualidadeQualidade
Qualidade
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
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
 
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
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx01 UNIDADE I -  Princípios, pilares e modelos de teste de software.pptx
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Palestra ALATS SP - FIAP Teste de Software
Palestra ALATS SP - FIAP  Teste de SoftwarePalestra ALATS SP - FIAP  Teste de Software
Palestra ALATS SP - FIAP Teste de Software
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Aula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptx
 

Mais de Juliana Maria Lopes

Alinhamento Estratégico - Adequação e Integração Funcional
Alinhamento Estratégico -  Adequação e Integração FuncionalAlinhamento Estratégico -  Adequação e Integração Funcional
Alinhamento Estratégico - Adequação e Integração FuncionalJuliana Maria Lopes
 
Case braslo - arquitetura de sistemas
Case   braslo - arquitetura de sistemasCase   braslo - arquitetura de sistemas
Case braslo - arquitetura de sistemasJuliana Maria Lopes
 
Apresentação implantando um erp com sucesso
Apresentação   implantando um erp com sucessoApresentação   implantando um erp com sucesso
Apresentação implantando um erp com sucessoJuliana Maria Lopes
 
Análise estratégica de sites(1)
Análise estratégica de sites(1)Análise estratégica de sites(1)
Análise estratégica de sites(1)Juliana Maria Lopes
 
Alinhamento estratégico adequaçãoeintegraçãofuncional
Alinhamento estratégico adequaçãoeintegraçãofuncionalAlinhamento estratégico adequaçãoeintegraçãofuncional
Alinhamento estratégico adequaçãoeintegraçãofuncionalJuliana Maria Lopes
 
Slides braslo - arquitetura de sistemas
Slides   braslo - arquitetura de sistemasSlides   braslo - arquitetura de sistemas
Slides braslo - arquitetura de sistemasJuliana Maria Lopes
 
Certificado Graduação Fiap - Juliana Maria Lopes
Certificado Graduação Fiap - Juliana Maria LopesCertificado Graduação Fiap - Juliana Maria Lopes
Certificado Graduação Fiap - Juliana Maria LopesJuliana Maria Lopes
 
Certificado Graduação Anhembi Morumbi - Juliana Maria Lopes
Certificado Graduação Anhembi Morumbi - Juliana Maria LopesCertificado Graduação Anhembi Morumbi - Juliana Maria Lopes
Certificado Graduação Anhembi Morumbi - Juliana Maria LopesJuliana Maria Lopes
 
Certificado Itil - Juliana Maria Lopes
Certificado Itil - Juliana Maria LopesCertificado Itil - Juliana Maria Lopes
Certificado Itil - Juliana Maria LopesJuliana Maria Lopes
 
Certificado Cobit - Juliana Maria Lopes
Certificado Cobit - Juliana Maria LopesCertificado Cobit - Juliana Maria Lopes
Certificado Cobit - Juliana Maria LopesJuliana Maria Lopes
 
Comprovante Cobit - Juliana Maria Lopes
Comprovante Cobit - Juliana  Maria  LopesComprovante Cobit - Juliana  Maria  Lopes
Comprovante Cobit - Juliana Maria LopesJuliana Maria Lopes
 
Apresentação de Business Intelligence
Apresentação de Business IntelligenceApresentação de Business Intelligence
Apresentação de Business IntelligenceJuliana Maria Lopes
 

Mais de Juliana Maria Lopes (20)

Análise estratégica de Sites
Análise estratégica de SitesAnálise estratégica de Sites
Análise estratégica de Sites
 
Alinhamento Estratégico - Adequação e Integração Funcional
Alinhamento Estratégico -  Adequação e Integração FuncionalAlinhamento Estratégico -  Adequação e Integração Funcional
Alinhamento Estratégico - Adequação e Integração Funcional
 
A ponte mágica resenha
A ponte mágica   resenhaA ponte mágica   resenha
A ponte mágica resenha
 
Case braslo - arquitetura de sistemas
Case   braslo - arquitetura de sistemasCase   braslo - arquitetura de sistemas
Case braslo - arquitetura de sistemas
 
Apresentação implantando um erp com sucesso
Apresentação   implantando um erp com sucessoApresentação   implantando um erp com sucesso
Apresentação implantando um erp com sucesso
 
Análise estratégica de sites(1)
Análise estratégica de sites(1)Análise estratégica de sites(1)
Análise estratégica de sites(1)
 
Alinhamento estratégico adequaçãoeintegraçãofuncional
Alinhamento estratégico adequaçãoeintegraçãofuncionalAlinhamento estratégico adequaçãoeintegraçãofuncional
Alinhamento estratégico adequaçãoeintegraçãofuncional
 
A ponte mágica resenha
A ponte mágica   resenhaA ponte mágica   resenha
A ponte mágica resenha
 
Slides braslo - arquitetura de sistemas
Slides   braslo - arquitetura de sistemasSlides   braslo - arquitetura de sistemas
Slides braslo - arquitetura de sistemas
 
Certificado Graduação Fiap - Juliana Maria Lopes
Certificado Graduação Fiap - Juliana Maria LopesCertificado Graduação Fiap - Juliana Maria Lopes
Certificado Graduação Fiap - Juliana Maria Lopes
 
Certificado Graduação Anhembi Morumbi - Juliana Maria Lopes
Certificado Graduação Anhembi Morumbi - Juliana Maria LopesCertificado Graduação Anhembi Morumbi - Juliana Maria Lopes
Certificado Graduação Anhembi Morumbi - Juliana Maria Lopes
 
Certificado Itil - Juliana Maria Lopes
Certificado Itil - Juliana Maria LopesCertificado Itil - Juliana Maria Lopes
Certificado Itil - Juliana Maria Lopes
 
Cost Based Oracle Fundamentals
Cost Based Oracle FundamentalsCost Based Oracle Fundamentals
Cost Based Oracle Fundamentals
 
Certificado Cobit - Juliana Maria Lopes
Certificado Cobit - Juliana Maria LopesCertificado Cobit - Juliana Maria Lopes
Certificado Cobit - Juliana Maria Lopes
 
Cobit 4.1 - PO10
Cobit 4.1 - PO10Cobit 4.1 - PO10
Cobit 4.1 - PO10
 
Cobit 4.1 - DS2
Cobit 4.1 - DS2Cobit 4.1 - DS2
Cobit 4.1 - DS2
 
Comprovante Cobit - Juliana Maria Lopes
Comprovante Cobit - Juliana  Maria  LopesComprovante Cobit - Juliana  Maria  Lopes
Comprovante Cobit - Juliana Maria Lopes
 
Apresentação de Business Intelligence
Apresentação de Business IntelligenceApresentação de Business Intelligence
Apresentação de Business Intelligence
 
Artigo Estadao De Olho Na Web
Artigo Estadao De Olho Na WebArtigo Estadao De Olho Na Web
Artigo Estadao De Olho Na Web
 
Middleware
MiddlewareMiddleware
Middleware
 

PlanejamentoTestesFuncionais

  • 1. Planejamento e Execução de Testes Funcionais Apresentação Instrutor: Juliana Maria Lopes / Leonardo Grilli Torres
  • 2.
  • 3.
  • 4. Módulo 1: Fundamentos de Testes de Software Juliana Maria Lopes
  • 5.
  • 6.
  • 7. Motivação financeira: perdas devido a erros US$ 1 milhão por minuto Charles Schwab (maior corretora on-line do mundo ) US$ 167 mil por minuto American Express US$ 50 mil por minuto Boeing Quedas do Sistema Queda de 26% no valor das ações Perdas de US$ 3,5 milhões Site fora do ar por 22 horas eBay (Online Marketplace) US$ 1,1 milhão por dia Problemas no sistema de controle de bagagem US$ 50 milhões Erro no sistema mostrando que todos os vôos estavam lotados US$ 20 mil por minuto Sistema SABRE fora do ar por 12 horas American Airlines
  • 8. Motivação financeira: custo da qualidade Fe Fi Encontrar o maior número de erros com o menor retrabalho possível com os testes de regressão 92,9% 7,1% 0% 50% 100% Falhas Externas Falhas Internas
  • 9. Vantagem: menor custo da correção de erros “ O Custo para encontrar e determinar um erro, aumenta exponencialmente com a fase do projeto.” Barry Boehm, criador do Software Economics
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Motivações normativas: evidências ok Robustez (escalabilidade / performance) ok Integração ok Funcionalidade ok Segurança de Dados ok Autorização ok Autenticação Validação e Testes Requisitos de Conformidade em Tecnologia de Informação
  • 16. Histórico: o 1 º Bug http://www. history . navy . mil/photos/images/h96000/h96566kc . htm O primeiro &quot;Bug&quot; de Computador Uma traça foi encontrada enroscada próxima ao Relay #70, Painel F, da Máquina Calculadora Mark II Aiken enquanto ela estava sendo testada na Universidade de Harvard, em 9 de Setembro de 1945. Os operadores afixaram a traça no diário de operação, com a frase: &quot;O primeiro caso real de um bug encontrado&quot;. Eles descreveram o processo como tendo &quot;debugado&quot; a máquina, o que introduziu o termo &quot;debugar um programa de computador&quot;. Desde 1988, o diário, com a traça colada, está no Museu do Computador do Centro de Guerra Naval em Dahlgren, Virgina, USA.
  • 17.
  • 18. O que é Teste? Uma investigação técnica executada para revelar informações relacionadas à “ qualidade” do produto Sob teste O Teste Funcional tem Por meta a verificação e Aceitação dos dados, do Processamento, da resposta A este processamento e a implementação Apropriada das regras De negócio
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Os focos da disciplina de testes Quality Control encontrar falhas Quality Assurance prevenir falhas Quality by Design evitar falhas
  • 25. Quality Control (QC) Especificação de Requisitos Análise do projeto Desenho do projeto codificação Testes de unidade Testes de integração Testes de Sistema Teste de Aceitação Validação Validação Validação Quality Control encontrar falhas
  • 26. Quality Control Testes de unidade Testes de integração Testes de sistema Testes formais conduzidos para determinar se um sistema satisfaz ou não os critérios de aceitação e que possibilita ao cliente/usuário determinar se aceita ou não o sistema Testes de aceitação do usuário Explora a menor unidade do projeto, procurando identificar erros de lógica e de implementação em cada módulo separadamente Descobrir erros associados às interfaces entre os módulos quando esses são integrados para construir a estrutura do software que foi estabelecida na fase de projeto Identificar erros de função e características de desempenho que não estejam de acordo com a especificação
  • 27. Técnicas de testes Técnicas de testes Visão Fontes de informação Métodos entradas saídas Caixa preta Caixa branca Domínio do problema Requisitos Especificações de projeto Dados de análise de defeitos Diagramas de projeto Detalhes de projeto Código fonte Grafos de fluxo de controle Complexidade ciclomática Particionamento de classe de equivalência Análise de valores limites Diagrama de estados Grafos de causa e efeito Statement testing Branch testing Path testing Data flow testing Mutation testing Loop testing Testes Funcionais no Processo de Software
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Módulo 2: O processo de Testes de Software Juliana Maria Lopes
  • 35. A disciplina de Validação e Testes Framework de Desenvolvimento de Sistemas
  • 36. Papéis, Atividades e Artefatos de Teste Gerente de Testes Plano de Testes Responsável Por Aceitar Missão de Avaliação Identificar Motivadores de Teste Obter comprometimento de Testabilidade Avaliar e defender a Qualidade Avaliar e aprimorar os esforços de Teste Resumo de Avaliação de Testes
  • 37. Papéis, Atividades e Artefatos de Teste Analista de Testes Lista de Idéias de Teste Responsável Por Identificar os Objetivos do Teste Identificar Idéias para os Testes Definir os Detalhes do Teste Definir Avaliação e Rastreamento de Necessidades Determinar Resultados de Teste Casos de Teste Verificar Mudanças na Construção Modelo de Análise de Carga de Trabalho Dados de Teste Resultados de Teste
  • 38. Papéis, Atividades e Artefatos de Teste Projetista de Testes Arquitetura de Automação de Teste Responsável Por Definir a Abordagem do Teste Definir as Configurações do Ambiente de Testes Identificar Mecanismos de Testes Estruturar a Implementação dos Testes Definir Elementos de Testes Especificação de Interface de Teste Desenvolver Diretrizes de Teste Configuração de Ambiente de Teste Suíte de Teste Diretrizes de Teste
  • 39. Papéis, Atividades e Artefatos de Teste Testador Scripts de Teste Responsável Por Implementar Testes Implementar Suíte de Testes Executar Suíte de Testes Analisar Falhas do Teste Log de Teste
  • 40. Workflow da Disciplina de Testes Definir Missão de Avaliação Verificar Enfoque do Teste Validar Estabilidade da Construção [Outra Técnica] Testar e Avaliar Avaliar Missão de Aceitação Aprimorar Ativos de Testes [Outro Ciclo de Teste]
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 50. Testes Funcionais: Definição Uma maneira de avaliar o comportamento de um produto de software sem que o funcionamento interno do que está sendo testado seja conhecido pelo testador. Entrada Saída Programa Casos de Testes Resultados esperados
  • 51.
  • 52. Estratégia de Testes Funcionais
  • 53. Estratégia de Testes Funcionais Código Testes Funcionais X Testes Funcionais no Processo de Software Casos de Uso
  • 54. Técnicas de Testes no Framework
  • 55. Escopo Atual do Framework Requisitos Gerência de Configuração (SCM) Análise & Desenho Construção Validação & Testes Implantação Documentação Gerência de Projetos Disciplinas Principais Disciplinas de Apoio Abordagem por Caso de Uso MSVisual Studio/ WSAD/TSO/ISPF Java 4GL(VAGen) COBOL Plataforma Distribuída Mainframe Plataforma Distribuída Mainframe Análise Estruturada Análise OO
  • 56. Estratégia de Testes Requisitos A/D Construção Testes Implantação Testes Estruturais Repositório Requisitos Casos de Testes Funcionais Código
  • 57.
  • 58. Estratégia de Testes Requisitos A/D Construção Testes Implantação Construção codificação Tunning Testes Unidade Debug e Testes Estruturais Testes Estruturais Testes Estruturais Analista Programador
  • 59. Estratégia de Testes Requisitos A/D Construção Testes Implantação Teste Testes Internos Correção Testes Aceitação Registro de Defeitos Testes Estruturais Testes Funcionais Testes de Carga Analista de Sistemas
  • 60. Derivação de Especificação Caos de Uso Código Testes Funcionais Próximos Passos x Casos de Testes
  • 61. Sistema de Rastreamento de Defeitos Instrumento de gerência de projetos Registra Líder de Projeto Equipe de Testes Gerencia Desenvolvedor Fixa Cancelado Em Solução Resolvido Fechado Adiado Aberto Ciclo de vida de Defeitos Base de defeitos
  • 62.
  • 63. Derivação de Especificação Cenário 1 Cenário 2 Cenário N Derivação de Casos de Uso em Casos de Testes Caso de Uso
  • 64.
  • 65.
  • 66. Análise de Valores Limites Técnicas de Testes Funcionais 4 Classe Válida Classe Inválida 3 5 7 Classe Válida Classe Inválida 6 8 4 7 Classe Válida Classe Inválida Classe Inválida
  • 67.
  • 68. Derivando Casos de Uso em Casos de Testes
  • 69.
  • 70. Casos de uso são parte da UML 1967 Foundations of OO (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug,…) UML 1.1 (OMG Standard) UML 1.3 ( extensibility ) UML 1.4 ( action semantics ) UML 1.5 1996 1997 1998 2001 1Q-2003 3Q-2003 UML 2.0 (MDA) Evolução da UML Origem dos casos de uso Jacobson Booch Rumbaugh
  • 71.
  • 72.
  • 73.
  • 74. Exemplo de estilo de descrição de fluxo básico Estruture os fluxos em passos Numere o título de cada passo Descreva os passos (1-3 sentenças) Não referencie fluxos alternativos no fluxo principal
  • 75. Exemplo de descrição de fluxo alternativo Informe o passo onde o fluxo alternativo inicia Caso de Uso: Registro em cursos Informe o que causa o início do fluxo Informe o que acontece Informe onde o fluxo termina Fluxos alternativos devem tratar apenas uma condição
  • 76.
  • 77.
  • 78. Cenário 1 Cenário 2 Cenário N Casos de Teste são derivados a partir de casos de uso (relembrando...) Caso de Uso
  • 79. Derivação de caso de uso em caso de teste Ação do Ator Passo Caso de Uso Caso de Teste Resposta do Sistema Ponto de Verificação
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86. Encontrando condições e resultados esperados
  • 87. Examplo de matriz de casos de teste – Registro em curso Cada linha é um caso de teste Nota: V = Valido I = Inválido
  • 88.
  • 89.
  • 90.
  • 91. Exemplo de Matriz com valores
  • 92.
  • 93.
  • 94. Módulo 3: Suíte de Testes Funcionais IBM Rational Functional Test Luís Felipe Cipriani
  • 95.
  • 96.
  • 97.
  • 98. Abordagem do Framework Software de Qualidade Ferramentas Processo B O A S P R Á T I C A s
  • 99.
  • 100. Integração das ferramentas Rational Testes Estruturais Repositório: Projeto Rational Course.dll People.dll Course User Register.exe Billing.exe Billing System
  • 101.
  • 102.
  • 103.
  • 104. Criando um novo projeto 1 2 3
  • 106.
  • 107. Gerenciando usuários e grupos de testes Para adicionar grupos: Insert > New User > New Group Para modificar grupos existentes: Right-click > Properties
  • 108.
  • 109.
  • 110. Gerenciando Planos de Testes no IBM Rational TestManager
  • 111.
  • 112. Entradas e atividades do planejamento e projeto de testes Test Case Definir Missão Identificar Motivadores Identificar Alvos Definir avaliação e rastreabilidades Definir abordagem de teste Identificar opiniões Definir Detalhes Definir ambiente e configurações Obter compromisso com a testabilidade Especificações de sistema Requisitos Pedidos de alteração Lista de riscos Plano de Iteração Especificações de Projeto Modelos de casos de uso Test Plan Test-Ideas List Test Automation Architecture
  • 113.
  • 114.
  • 115. TestManager: Plataforma central para gerência de testes Gerência de Resultados Pass Fail Relatórios integrados Scripts GUI e VU Scripts Java ou Basic Scripts para outros S.O. Projeto Iterações de teste Configurações Planos Casos Teste Entradas de Testes Rational TestManager Adapters Input Execution Adapters
  • 116. Planejamento orientado à Casos de Testes Caso de Teste O que motiva os testes? Entradas de Testes Implementações Configurações Onde será testado? Quando será testado? Iterações Como será conduzido? 
  • 117. Planejamento Visual Casos de Testes Pastas de Testes Plano de Teste Configurações
  • 118.
  • 119.
  • 120. Visão de Entrada de Testes View > Test Inputs
  • 121. Definindo Iterações, Configurações e Computadores Define computadores que serão executados os testes Define iterações de para o plano de testes Define configurações das aplicações de teste Define atributos de configuração
  • 122. Adicionando Configurações e atributos Tools > Manage > Configurations > New
  • 123. Adicionando Computadores Tools > Manage > Computers > New
  • 124.
  • 125. Construindo um plano de testes no TestManager File > New Test Plan Nome do plano de teste Descrição (opcional) proprietário (opcional)
  • 126. Associando documentos externos a Planos de Testes Associa um documento externo
  • 127. Criando pasta de casos de testes Selecione Insert Test Case Folder Selecione o plano de teste na janela Test Plan, e clique com o botão direito do mouse
  • 128. Criando Casos de Teste Selecione a pasta de caso de teste, e clique com o botão direito Selecione Insert Test Case
  • 129. Duas visões de Casos de Testes
  • 130. Associando entradas, iterações, e configurações
  • 131. Casos de Testes configurados
  • 132. Casos de Testes Suspeitos Entrada 1 Entrada 2 Entrada 1 Entrada 2 Alteração significante Marcado como suspeito Associação Associação Caso de Teste A  Caso de Teste B  Caso de Teste C  Caso de Teste A  Caso de Teste B  Caso de Teste C 
  • 133. Visualizando o status de Casos de Teste Casos de Testes suspeitos
  • 134. Alterando status de Suspeita Altera o status suspeito
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147. Detalhando casos de testes no TestManager Impressão Clique para mudar para passos ou ponto de verificação Em iterações iniciais, detalhe o caso de teste em alto-nível
  • 148. Detalhando casos de testes no TestManager (cont.)
  • 149. Associando documentos externos a casos de testes
  • 150.
  • 151.
  • 152. Criando um relatório de distribuição de casos de teste Reports > New Selecione um item sobre o qual será a distribuição Selecione o formato da exibição
  • 153.
  • 154.
  • 155.
  • 156.
  • 157. Módulo 4: Desenvolvimento de Scripts de Testes IBM Rational Robot Luís Felipe Cipriani
  • 158.
  • 159.
  • 160. A evolução de um teste Identificar Motivaçõesdo teste Identificar os alvos do teste Identificar idéias de teste Caso de Teste Detalhar o s testes Scripts Automáticos Test Suite Implementar Teste Scripts Manuais
  • 161.
  • 162. Criando Scripts Manuais no Rational ManualTest File > New Test Script > Manual
  • 163. Associando uma implementação manual à um caso de teste Clique para escolher um script já existente como implementação
  • 164. Gerando scripts manuais à partir de casos de testes
  • 165. Ícones de implementação Caso de Testes sem implementação associada Casos de testes com implementação manual Casos de testes configurados com scripts automáticos e herdados de um caso de teste pai
  • 166.
  • 167.
  • 168.
  • 169.
  • 170. Rational Robot Permite a gravação e execução de scripts de testes automáticos que navegam pela aplicação e testa o estado dos objetos por meio dos pontos de verificação
  • 171.
  • 172. Gravação orientada a objetos visuais Objetos Buttons Menu Edit box Tree view Window region Window Label ComboBox
  • 173.
  • 174.
  • 175.
  • 176. Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
  • 177.
  • 178. Opções de gravação do Robot Tools > GUI Record Options
  • 179. Iniciando a gravação de scripts GUI Nome do script Opções de gravação Record GUI Test Script button on toolbar or File > Record GUI
  • 180. Execução das ações do usuário Pausa na gravação GUI Record toolbar Grava suas ações de interação com a aplicação
  • 181.
  • 182. Finalizando a gravação Termina a gravação Gera o script SQABasic
  • 183.
  • 184. Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
  • 185. Pontos de verificação do Rational Robot Imagem de janela Alfanuméricos Clipboard Scan no site Web Propriedade de objetos Comparação de arquivos Existência de arquivos Existência de módulos Existência de janela Menu Objeto de dados Região de imagem Comparação de site web
  • 186.
  • 187. GUI Insert Toolbar: Pontos de Verificação Propriedades de objetos Alfanumérico Objeto de dados Menu Clipboard Região de imagem Imagem de janela Existência de janela Scan de site web Comparação de site web Display GUI Insert Toolbar
  • 188. Selecionando o objeto de teste Arraste o Object Finder sobre o objeto e libere o botão no mouse ou Clique em Browse para selecionar o objeto à partir de uma lista de todos os objetos no desktop
  • 189.
  • 190. Exemplo de Ponto de Verificação: Menu Seleção das células de teste Método de identificação Descrição de seleções Método de Verificação
  • 191.
  • 192. Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
  • 193.
  • 194.
  • 195.
  • 196. Fluxo de gravação e execução de scripts Configure o ambiente de teste Insira Pontos de Verificação Configure opções de gravação Inicie a gravação Execute ações dos usuários Reconfigure o ambiente Create verification points Configure opções de execução Execute o script de teste Insira pontos de controle Finalize a gravação Visualize e analise os resultados
  • 197.
  • 198.
  • 199.
  • 200.
  • 201. Shell Scripts Execução Test Script 1 Test Script 2 Test Script 3 Test Script 4 Shell Script Test Script 1 Test Script 2 Test Script 3 Test Script 4
  • 202.
  • 203.
  • 204. O comando CallScript Os s hell scripts adicionam comandos CallScript ou Adicione manualmente o comando CallScript Insert > Call Script
  • 205.
  • 206.
  • 207. Módulo 5: Desenvolvimento de Scripts Automatizados: Pontos de Verificação, Datapools IBM Rational Robot Luís Felipe Cipriani
  • 208.
  • 209. Pontos de verificação Clique para expandir a GUI Insert toolbar Object Properties Alphanumeric Object Data Menu Clipboard Region Image Window Image Window Existence Web Site Scan Web Site Compare
  • 210. Estado de espera e resultados esperados Nome do ponto de verificação Configuração do estados de espera Insert > Verification Point > Verification Point Type Especificação do resultado esperado
  • 211. Selecionando o objeto de teste Arraste a ferramenta Object Finder sobre objeto e libere o botão do mouse ou Clique browse para selecionar o objeto na lista de todos os objetos visuais no desktop
  • 212. A lista de objetos Duplo clique para expandir o objeto Duplo-clique para retrair o objeto Retorna ao método de seleção Object Finder A cor do objeto selecionado será invertida na aplicação Exibe os objetos escondidos no desktop
  • 213.
  • 214.
  • 216.
  • 217.
  • 219.
  • 220.
  • 222. O ponto de verificação Data Grid Grid de dados para seleção das células que serão testadas Método de identificação Descrição da seleção Método de verificação
  • 223.
  • 224.
  • 228.
  • 229.
  • 230.
  • 231.
  • 232. Comparador de propriedades de objetos Lista de diferenças Propriedades do objeto comparado Hierarquia de objetos
  • 234.
  • 235. Comparações em Grid Lista de diferenças Comparador de menu Grid de valores do menu
  • 237.
  • 238.
  • 239.
  • 240.
  • 241.
  • 242. Tipos de dados Tipos de dados padrão e tipos de dados customizados
  • 243.
  • 244.
  • 245.
  • 246. Gerenciando Datapools Tools > Manage > Datapools
  • 247.
  • 248.
  • 249.
  • 250. Módulo 6: Executando e avaliando os testes IBM Rational Robot
  • 251.
  • 252.
  • 253.
  • 254.
  • 255. Passos para o testes de regressão Configurar Ambiente Criação Testes/ Suites Executar os Testes Recuperar os testes interrompidos Verificar os resultados esperados Investigar os resultados esperados Defeitos logados
  • 256.
  • 257.
  • 258.
  • 259.
  • 260.
  • 261.
  • 262.
  • 263.
  • 264. Executandos os scripts no TestManager File > Run Test Script > Type of Script Computadores onde os scripts executarão Clique para alterar o computador Onde os resultados serão gravados Clique para alterar onde os resultados serão gravados
  • 265.
  • 266. Propriedades de um script de teste Visualizar uma baseline capturado pelo ponto de verificação
  • 267. Running Test Cases from TestManager File > Run Test Case ou Botão-direito
  • 268. Executando um caso de testes no TestManager (cont.) Casos de testes que serão executados Adicione casos de teste na lista Ignora as configurações de sistema – executa os casos de testes nos computadores disponíveis Computador onde o caso de testes será executado Clique Change para alterar o computador Onde os resultados serão gravados Clique para alterar onde os resultados serão gravados
  • 269. Executando uma implementação manual Executa os passos no Rational ManualTest, e grava os resultados dos passos e pontos de verificação
  • 270. Visualizando os resultados de casos de teste Log de resultados de casos de teste
  • 271. Visualizando os resultados de casos de testes Detalhe dos logs de resultados dos casos de testes
  • 272.
  • 273.
  • 274.

Notas do Editor

  1. Quality Control : a série de inspeções, revisões, verificações, validações e testes utilizados em pontos específicos do ciclo de desenvolvimento de software com o objetivo de achar falhas . Software Quality Assurance : uma abordagem planejada e sistemática de controle da qualidade para avaliação da aderência à padrões dos processos, procedimentos e artefatos envolvidos na produção de um software com o objetivo de prevenir falhas . Quality by Design : uma abordagem integrada e otimizada de produção correta de software, o que garante evitar de falhas .
  2. O papel de Gerente de Testes desempenha atividades responsáveis pelo sucesso dos esforços de teste como um todo. Essas atividades envolvem: Negociar os objetivos em andamento e utilização dos esforços de teste adequados para cada iteração. Garantir um planejamento e gerenciamento apropriado dos recursos de teste que irão induzir os testes durante a iteração. Avaliar se os esforços de teste estão progredindo de forma efetiva e promovendo a criação de software testável para dar suporte às necessidades dos esforços de teste. Promover também a utilização de técnicas e ferramentas de automação apropriadas. Estabelecer um nível apropriado de qualidade efetuando as mudanças para a resolução de defeitos que afetam seriamente o sistema. Avaliar a produtividade, efetividade e completude dos esforços de teste, ajustando estratégias e táticas para aprimorar o processo de teste.
  3. O papel de Analista de Testes desempenha atividades responsáveis por identificar e definir os requisitos de teste.
  4. Nessa macro-atividade, o principal objetivo é identificar o foco apropriado do esforço de testes para a iteração, e entrar em acordo com os stakeholders acerca dos objetivos dos testes. Definir os artefatos que serão utilizados e gerados Utilização dos recursos de teste Acordo com os stakeholders sobre os objetivos dos testes Técnicas e tipos de teste que serão empregados Itens de hardware e software necessários para os testes Forma como serão avaliados os esforços de teste Listar idéias para testes em potencial que podem ser aplicados Rastreabilidade mantendo documentos e gravações comprovando que foram feitos testes suficientes
  5. Nessa macro-atividade o principal objetivo é demonstrar que as várias técnicas sugeridas no Enfoque do Testes irão facilitar os testes requeridos. Significa obter um entendimento dos obstáculos e limitações de cada técnica e buscar uma solução de implementação apropriada para cada técnica ou encontrar técnicas alternativas. Isto ajuda a minimizar o risco de descobertas tardias no ciclo de vida do projeto de que as recomendações de testes são impraticáveis. Estabelecer o ambiente necessário para suportar os testes Identificar os mecanismos necessários aos testes (Ex.: persistência, concorrência, distribuição, segurança, gerenciamento de transação, tratar e reportar erro, controle e sincronização de sincronização), bem como as ferramentas necesárias. Identificar os elementos físicos da infra-estrutura de implementação de teste necessários para permitir os testes sob cada configuração de ambiente de teste Analisar os itens da “Lista de Idéias” identificando as condições necessárias para aplicar determinada idéia de teste Reunir e organizar os testes a serem executados Implementar testes que forneçam a solicitada validação do produto Garantir a obtenção do produto de software a ser testado junto à equipe de desenvolvimento Reunir e organizar os testes a serem executados
  6. Nessa macro-atividade o principal objetivo é validar se a construção está estável o suficiente para o início da execução de testes detalhados e avaliação. Este trabalho é também conhecido como “ smoke test”, “build verification test”, “build regression test”, “sanity check” ou “acceptance into testing” . Este trabalho ajuda a prevenir que recursos de teste sejam perdidos em esforços de teste desnecessários e infrutíferos. Executar as coleções de testes necessárias para validar a qualidade do produto, capturando resultados de teste que facilitam a avaliação do produto Analisar as falhas que ocorreram durante a implementação e execução dos testes, corrigindo as falhas que resultaram dos procedimentos de teste. Fazer um resumo de avaliação de resultados de software, propondo ações corretivas para resolver as falhas de qualidade Identificar e requerer a resolução dos defeitos que causam impactos sérios na qualidade do software
  7. Nessa macro-atividade, o principal objetivo é alcançar a largura e profundidade do esforço de testes para possibilitar uma avaliação suficiente dos itens de teste—onde uma suficiente avaliação é governada pelas motivações dos testes e Missão da Avaliação. Tipicamente executado um por ciclo de teste, este trabalho envolve executar o trabalho principal do esforço dos testes e avaliação de resultados: especialmente a implementação, execução e avaliação de testes específicos e o correspondente registro das ocorrências. Definir os artefatos que serão utilizados e gerados. Estruturar as suítes de teste necessárias, atribuindo responsabilidades para cada área de implementação de suítes de teste. Identificar os elementos físicos da infra-estrutura de implementação de teste necessários para permitir os testes sob cada configuração de ambiente de teste Verificar as requisições de mudança feitas e as construções (“builds”) liberadas para re-teste. Avaliar se os esforços de teste estão sendo produtivos, efetivos e completos, realizando, se necessário, ajustes táticos e estratégicos para que os esforços de teste se tornem mais efetivos.
  8. Nessa macro-atividade, o principal objetivo é entregar uma avaliação útil dos resultados de testes aos stakeholders – onde uma avaliação útil é definida em termos da Missão de Avaliação. É o momento em que é feita uma avaliação dos esforços de teste em geral para verificar se os objetivos definidos na Missão de Avaliação da primeira macro-atividade estão sendo atingidos na iteração.
  9. Nessa macro-atividade, o principal objetivo é manter e melhorar as necessidades dos testes. Isto é importante especialmente se a intenção é reutilizar os recursos desenvolvidos no ciclo corrente nos ciclos subseqüentes. A partir da avaliação feita na macro-atividade “Atingir Missão Aceitável”, o final de um ciclo de teste geralmente possui esse trabalho de aprimoramento das propriedades do teste que foi executado no ciclo.
  10. Testes de regressão são as várias re-execuções de um teste após uma correção de bugs, mudanças ou manutenções evolutivas. É importante para manter a consistência entre as mudanças, pois muitas vezes algumas correções influenciam no comportamento de outras funcionalidades.
  11. Estrutura utilizada pela gerência de requisitos. O primeiro passo é entender o problema sem pensar na solução. Buscar o acordo sobre esse entendimento. Descobrir as principais causas, segundo Pareto, se atacarmos 20% das principais causas solucionamos 80% dos problemas. Em seguida entendemos as necessidades do cliente. Ao mesmo tempo, vamos definindo as fronteiras do sistema, descobrindo os atores do sistema. O próximo passo é pensar em soluções para cada necessidade apresentada. O sistema deverá ter características (features) para atender às necessidades. Notamos que a partir das necessidades derivamos as características do sistema (rastreabilidade). Então analisamos o que cada ator espera usar do sistema (requisitos de software) e fazemos o mapeamento com as características do sistema (rastreabilidade).
  12. _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
  13. _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
  14. _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
  15. Existem várias técnicas que permitem a execução de uma série de cenários ou exemplos diretamente na aplicação. Nessa situação o testador assume o papel do usuário, testando o software da maneira como ele será utilizado. Os bugs encontrados durante os testes dinâmicos são aqueles introduzidos pelos requisitos, projeto e codificação. Inclusive problemas gerados por interação com sistemas legados. Nos próximos slides serão detalhadas as técnicas de Derivação de Especificação, Particionamento de Equivalência e Análise de Valores Limite.
  16. Para derivar casos de teste a partir de casos de uso, devem ser encontrados todos os cenários possíveis para o caso de uso. Cada cenário de caso de uso dá origem a um ou mais casos de teste. Quanto mais complexa for uma funcionalidade, mais cenários existirão. Casos de uso típicos têm entre 3 e 15 páginas, sendo que 70% a 90% são cenários de fluxos alternativos.
  17. Pense em Quality by Design como qualidade por “objetivo”. Quality By Design é uma aproximação pró-ativa de desenvolvimento e teste de software que abrange boas práticas, processo e ferramentas que o ajudam a entregar aplicativos com maior qualidade e mais rápido.
  18. _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
  19. A ferramenta Rational Administrator é responsável por armazenar as informações de um projeto de teste.
  20. Para criar um projeto novo: Clique File &gt; New Project. Entre com o nome e diretório Não selecione ClearCase/UCM Management Se quiser, coloque uma senha Cheque “Configure Project Now”
  21. Utilize o botão Create para criar os artefatos de teste
  22. O usuário pode adicionar Computadores para a realização de testes distribuídos.
  23. O usuário pode implementar um Plano de Testes no nível de granularidade que quiser.
  24. Profundidade: quantidade de dados usado nos testes. Muito poucos dados podem não refletir numa situação real. Amplitude: variações nos valores dos dados. Escopo: relevância dos dados de teste. O ideal é abranger todas as partições de equivalencia. Arquitetura: mecanismos que poderão ser utilizados para a execução dos testes. Ex.: persistencia, concorrencia, etc. Gerenciamento
  25. .
  26. Para acessar quando não estiver gravando: View &gt; Toolbars &gt; GUI Insert Toolbar