View
1.215
Download
2
Embed Size (px)
DESCRIPTION
apresentação do webcast realizado no di 23/03 e apresentado por Alan Gonçalves
Citation preview
Processos AutomatizadosUtilizando Frameworks
Alan GonçalvesTest Manager & Test [email protected]
23 de Março de 2011
2 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
3 © 2011
Processos Automatizados Utilizando Framework
• Analista de Sistemas
• Especialista em Qualidade de Software
• Gerente de Testes em Projetos Internacionais na IBM
• Arquiteto de integração de Ferramentas de Testes
• IBM Certified Solution Designer - Rational Functional Tester Java
• Embaixador do IBM Academic Iniciative Program
• Professor de Pós-Graduação
• Pós-Graduação em Gestão de Banco de Dados
• Mestrando na UNICAMP em TI – Fenômenos Complexos
1. Apresentação – Alan Gonçalves
4 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação – DeveloperWorks
O que é o DeveloperWorks ?
- Canal aberto para a comunidade técnica no mundo inteiro.
- Abrange diversas áreas envolvendo: Produtos IBM, Tecnologias, Soluções, Avaliação de Software, etc…
- Disponibiliza capital Intelectual através de uma biblioteca com Artigos, Tutoriais e Demos.
- Disponibiliza um Fórum e uma Comunidade para troca de informações.
5 © 2011
Processos Automatizados Utilizando Framework
Qual a principal motivação para as grandes empresas investirem em Testes de Software ?
O Mercado de Teste de Software
6 © 2011
Processos Automatizados Utilizando Framework
Por que testar Por que testar ??
O Mercado de Teste de Software
$4,394,100$14,144,40010,00010,000100%
$7452
$2510
$941
$392
$235
$78.45
Custo de Remoção dos Defeitos ***
$596,160
$50,200
$1,976,100
$1,097,600
$423,000
$251,040
Custo de Remoção de Defeitos Ideal
$3,353,400
$6,400,500
$2,823,000
$1,568,000
Custo de Remoção de Defeitos Real
80
20
2100
2800
1800
3200
Defeitos Removidos Ideal
450
2550
3000
4000
*
*
Defeitos Removidos Real
95.8%Produção
32.2%Teste de Aceite de Usuário (UAT)
1221%Teste Funcional / Sistema
528%Código, Teste Unitário / Componente
318%Design
132%Requisitos
Multiplicador do Custo de Remoção dos Defeitos **
% Defeitos Removido
Fase
Modelo de Custo
7 © 2011
Processos Automatizados Utilizando Framework
Por que testar Por que testar ??
O Mercado de Teste de Software
8 © 2011
Processos Automatizados Utilizando Framework
TITANIC DISASTERSTITANIC DISASTERS
O Mercado de Teste de Software
9 © 2011
Processos Automatizados Utilizando Framework
EbayEbay
21 horas for a do ar.
$5 milhões de Dólares perdidos.
O Mercado de Teste de Software
10 © 2011
Processos Automatizados Utilizando Framework
Annual Spring Fashion show on the internet crashed as millions of viewers tried to log on.
Advertised during Super Bowl XXXIII to attract the maximum number of customers.
Super Bowl XXXIII advertisement cost $1.6M for 30 seconds worth of air time.
The computers were configured to handle from 250K to 500K simultaneous viewers. The web site went down as 5M viewers tried to log on.
The first large-scale live video event attempted on the internet.
Victoria’s SecretVictoria’s Secret
O Mercado de Teste de Software
11 © 2011
Processos Automatizados Utilizando Framework
OutrosOutros
London Ambulance Service Computer service failed in 26 and 27 of november 1992, sending ambulances
to the wrong places. The problem of the application was linked with high emergency load during
this period. This fail caused 20 deaths of patients who needed the ambulances.
Airbus A300 China Air Lines An Airplane crashed in 1994 with 264 victims. After the further investigations, the specialists recommended a complete
change in the flight control softwares.
O Mercado de Teste de Software
12 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
13 © 2011
Processos Automatizados Utilizando Framework
Rational Functional Tester
2. Ferramentas de Automação
A Ferramenta IBM Rational Functional Tester, foi desenvolvida para trabalhar como uma IDE de desenvolvimento. Ela é baseada na plataforma eclipse. Composta por perspectivas com diversas views, fornece um ambiente de fácil entendimento, proporcionando um aprendizado rápido.
14 © 2011
Processos Automatizados Utilizando Framework
Ferramentas Free
Selenium – Testes Automatizados para Web por meios Funcionais e de Aceitaçãohttp://seleniumhq.org
JMeter – Testes de Performance em aplicações de diferentes tipos de servidores(HTTP/HTTPS, SOAP, JMS, ETC) http://jakarta.apache.org/jmeter
Watir – Testes Automatizados para Web escritos na linguagem RubyExistem Derivações em .NET (want) e Java (WatJ)http://watir.com
FitNesse – Web server, Wiki e Ferramenta de Teste Automatizado para Suportar Testes de Aceitaçãohttp://jakarta.apache.org/jmeter
2. Ferramentas de Automação
15 © 2011
Processos Automatizados Utilizando Framework
Ferramentas Pagas
IBM Rational Functional Tester – Testes Automatizados para Desktop(.NET e Java) e Webhttp://pqeno.com/rrobot
HP LoadRunner – Testes de Performance em diversos tipos de aplicaçõese protocolos (WEB, SOA, Java, .NET, Citrix, etc…)http://peqno.com/Irunner
TestComplete – Testes Automatizados para Web e Desktop(Delphi, C++, VB, PowerBuilder) em diversos níveis de teste.http://pqeno.com/rrobot
HP QuickTestProfessional – Testes Automatizados em Web e Desktop com suporteA diversas tecnologias.http://peqno.com/qtp
3. Ferramentas de Automação
16 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
17 © 2011
Processos Automatizados Utilizando Framework
3. Técnicas de Testes
AutomaçãoMais voltado para Testes de Regressão, ou geração de massa de dados, envolve a execução automatizada, usando recursos avançados de validação de testes sem a intervenção humana.
PerformanceAbrange um amplo conjunto de avaliações, tendo como principal objetivo, verificar o quão estável encontra-se a aplicação.
SegurançaEstá relacionado com proteção de um conjunto de dados, no sentido de preservar o valor que possuem para um indivíduo ou uma organização.
ManualResume-se na validação de um produto, através de requerimentos ou levantamentos pré-determinados.
18 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
19 © 2011
Processos Automatizados Utilizando Framework
Analista de Testes
Gerente de Defeitos
Arquiteto de Testes
Gerente de Testes
Especialista em Testes de
Performance
Testador
•Rastreabilidade de requisitos•Casos de teste baseados nos
requisitos•Análise de requisitos não-
funcionais•Cenários de Teste
Análise, classificação e controle dos defeitos
Métricas de Qualidade
Melhorias do Processo e da Qualidade
•Desenho da arquitetura de testes
•Suporte à criação de casos de teste
•Estabelecer a estratégia dos testes de performance
• Definir os cenários de teste
•Escrever scripts de performance
Acompanhar o progresso dos serviços de testes e manter as estimativas do projeto
Garantir a qualidade técnica da solução de testes
•Liderança em projetos de teste
•Planos de Teste•Métricas•Relatórios
•Requisitos de Automação•Estratégia de Automação•Seleção de Ferramentas
•Execução de testes, armazenamento de evidências e abertura de defeitos de forma padronizada
4. Carreiras de Testes
Coordenador de Teste
Especialista em Automação de
Testes
20 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
21 © 2011
Processos Automatizados Utilizando Framework
5.1. Conceito5.1. Conceito
5. Metodologia de Testes Automatizados
1. Melhorar a amplitude dos testes 2. Reduzir os Testes manuais redundantes 3. Maximizar a precisão dos testes 4. Maximizar sua capacidade de repetição
Automação des testes de software é uma TÉCNICA muito reconhecida por seu potencial para:
22 © 2011
Processos Automatizados Utilizando Framework
1. Os projetos de investimentos de retorno a longo prazo.
2. A automação de teste pode ser aplicada em todas as fases.
3. Objetivo : Aplicar estratégias que visam a redução do envolvimento humano em atividades manuais repetitivas.
4. Não é um processo barato: Geralmente gasta-se 4 vezes mais tempo para criar, verificar e documentar os testes automatizados.
5.1. Conceito5.1. Conceito
5. Metodologia de Testes Automatizados
23 © 2011
Processos Automatizados Utilizando Framework
1. Entender que o desenvolvimento de uma automação de testes é um desenvolvimento de software;
2. Usar uma arquitetura de testes orientada a objetos e a dados para que a entrada destes fique separada dos scripts de teste;
3. Usar uma arquitetura baseada em um framework;
4. Conhecer a capacidade técnica da sua equipe;
5. Considerar a utilização de outros tipos de automação de testes além de interfaces gráficas.
5.2. Fatores para o sucesso5.2. Fatores para o sucesso
5. Metodologia de Testes Automatizados
24 © 2011
Processos Automatizados Utilizando Framework
1. Redução de custos; 2. Ganho de produtividade; 3. Aumento de reutilização de códigos 4. Scripts escritos para testes; 5. Aumento na cobertura dos elementos testados.
5.3. Vantagens5.3. Vantagens
5. Metodologia de Testes Automatizados
25 © 2011
Processos Automatizados Utilizando Framework
5.3. Vantagens - Case5.3. Vantagens - Case
Projeto CCMS Central Customer Master System
5. Metodologia de Testes Automatizados
26 © 2011
Processos Automatizados Utilizando Framework
5.3. Vantagens - Case5.3. Vantagens - Case
5. Metodologia de Testes Automatizados
27 © 2011
Processos Automatizados Utilizando Framework
5.3. Vantagens - Case5.3. Vantagens - Case
5. Metodologia de Testes Automatizados
28 © 2011
Processos Automatizados Utilizando Framework
5.3. Vantagens - Case5.3. Vantagens - Case
5. Metodologia de Testes Automatizados
29 © 2011
Processos Automatizados Utilizando Framework
1. Automatizador de Teste2. Arquiteto de Testes3. Engenheiro de Testes
5.4. Papéis e responsabilidades5.4. Papéis e responsabilidades
5. Metodologia de Testes Automatizados
30 © 2011
Processos Automatizados Utilizando Framework
1. Linguagem de Programação2. Linguagem SQL3. Sistemas Operacionais4. Conhecimentos das Técnicas de Teste5. Ferramentas de Automação6. Arquitetura de Software7. Execução de Testes Funcionais
5.5. Conhecimentos necessários5.5. Conhecimentos necessários
5. Metodologia de Testes Automatizados
31 © 2011
Processos Automatizados Utilizando Framework
Este fluxo conduz por um conjunto típico de passos em uma visão macro que você deve seguir para gravar e rodar um script.
Uma vez que você completar este conjunto de passos, você estará habilitado para rodar um script diversas vezes e reusar o trabalho de gravação.
5.6. Escopo da automação5.6. Escopo da automação
5. Metodologia de Testes Automatizados
32 © 2011
Processos Automatizados Utilizando Framework
5.7. Boas Práticas5.7. Boas Práticas
1. Selecionar o tipo de framework2. Identificar os componentes do framework3. Criar e implementar políticas, padrões e procedimentos4. Desenvolver a Arquitetura5. Desenvolver os Testes Automatizados6. Analisar os resultados7. Relatórios e report de bugs
5. Metodologia de Testes Automatizados
33 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
34 © 2011
Processos Automatizados Utilizando Framework
6. Framework
Um teste automatizado é mais eficaz quando implementado com o auxílio de um Framework. Embora, em testes automatizados, o termo Framework seja freqüentemente utilizado para descrever as estruturas coletivas que compõem ferramentas de teste de unidade, ele também pode ser utilizado como definição de um conjunto de conceitos abstratos, processos, procedimentos e ambiente em que os testes automatizados serão concebidos, criados e implementados.
35 © 2011
Processos Automatizados Utilizando Framework
1a. Geração de automação de teste é composto principalmente da abordagem linear para o desenvolvimento de testes automatizados.
Gerações
• Utilização de um script “reto”.
• Uso do Record-and-Play.
• Sem modularização, reutilização e atributos.
6. Framework
36 © 2011
Processos Automatizados Utilizando Framework
2a. Geração é o meio termo para quadros de automação de testes e pode ser simples ou muito bem definidos.
É importante ter uma boa compreensão desta geração, já que quadros de terceira geração também são baseados em conceitos de segunda geração.
Um framework que se encaixa nesta geração é oData-driven.
Gerações
6. Framework
37 © 2011
Processos Automatizados Utilizando Framework
2a. Geração é marcada por:
• Produção de componentes modularizados
• Combinação de componentes existentes
• Maior reutilização
Gerações
6. Framework
38 © 2011
Processos Automatizados Utilizando Framework
3a. Geração são os frameworks mais definidos e devem ser considerados quando o escopo de automação é relativamente alto; quando pelo menos um dos recursos de automação tem fortes competências técnicas e lógicas e uma proficiência na ferramenta de automatização a ser utilizado para desenvolver oframework.
Gerações
6. Framework
39 © 2011
Processos Automatizados Utilizando Framework
• Conhecido também como Table Driven
• Testes automatizados desenvolvidos em tabelas com palavras-chave (keyword). Independe de ferramenta.
3a. Geração : Keyword Driven
Gerações
6. Framework
40 © 2011
Processos Automatizados Utilizando Framework
Exemplo 1 – IBM Framework
6. Framework
41 © 2011
Processos Automatizados Utilizando Framework
Exemplo 1 – IBM Framework
6. Framework
42 © 2011
Processos Automatizados Utilizando Framework
Exemplo 2 – GTO Test Framework (Banco de Dados)
6. Framework
43 © 2011
Processos Automatizados Utilizando Framework
Exemplo 3 – GTO Test Framework (XML Data-driven)
6. Framework
44 © 2011
Processos Automatizados Utilizando Framework
Exemplo 4 – GTO Test Framework (Evidence and Results)
6. Framework
45 © 2011
Processos Automatizados Utilizando Framework
1. Apresentação
2. Ferramenta de Automação
3. Técnicas de Teste
4. Carreiras de Teste
5. Metodologia de Testes Automatizados
5.1. Conceito
5.2. Fatores para o sucesso
5.3. Vantagens
5.4. Papéis e Responsabilidades
5.5. Conhecimentos necessários
5.6. Scopo de automação
5.7. Boas Práticas
6. Frameworks Reutilizáveis
7. Conclusão
Agenda
46 © 2011
Processos Automatizados Utilizando Framework
7. Conclusão
Entendemos que com a utilização de Frameworks o trabalho voltado para a Automação de Testes, pode melhorar os seguintes aspectos:
- Otimização: Evitar redundâncias no código.
- Reuso: Aumentar a produtividade.
- Manutenção: Melhorar as correções existentes no código.
47 © 2011
Processos Automatizados Utilizando Framework
®
48 © 2011
Processos Automatizados Utilizando Framework
Obrigado!