Reusabilidade na Utilização de Frameworks Automatizados

48
Processos Automatizados Utilizando Frameworks Alan Gonçalves Test Manager & Test Architect [email protected] 23 de Março de 2011

description

apresentação do webcast realizado no di 23/03 e apresentado por Alan Gonçalves

Transcript of Reusabilidade na Utilização de Frameworks Automatizados

Page 1: Reusabilidade na Utilização de Frameworks Automatizados

Processos AutomatizadosUtilizando Frameworks

Alan GonçalvesTest Manager & Test [email protected]

23 de Março de 2011

Page 2: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 3: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 4: Reusabilidade na Utilização de Frameworks Automatizados

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.

Page 5: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 6: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 7: Reusabilidade na Utilização de Frameworks Automatizados

7 © 2011

Processos Automatizados Utilizando Framework

Por que testar Por que testar ??

O Mercado de Teste de Software

Page 8: Reusabilidade na Utilização de Frameworks Automatizados

8 © 2011

Processos Automatizados Utilizando Framework

TITANIC DISASTERSTITANIC DISASTERS

O Mercado de Teste de Software

Page 9: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 10: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 11: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 12: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 13: Reusabilidade na Utilização de Frameworks Automatizados

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.

Page 14: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 15: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 16: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 17: Reusabilidade na Utilização de Frameworks Automatizados

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.

Page 18: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 19: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 20: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 21: Reusabilidade na Utilização de Frameworks Automatizados

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:

Page 22: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 23: Reusabilidade na Utilização de Frameworks 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

Page 24: Reusabilidade na Utilização de Frameworks 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

Page 25: Reusabilidade na Utilização de Frameworks 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

Page 26: Reusabilidade na Utilização de Frameworks Automatizados

26 © 2011

Processos Automatizados Utilizando Framework

5.3. Vantagens - Case5.3. Vantagens - Case

5. Metodologia de Testes Automatizados

Page 27: Reusabilidade na Utilização de Frameworks Automatizados

27 © 2011

Processos Automatizados Utilizando Framework

5.3. Vantagens - Case5.3. Vantagens - Case

5. Metodologia de Testes Automatizados

Page 28: Reusabilidade na Utilização de Frameworks Automatizados

28 © 2011

Processos Automatizados Utilizando Framework

5.3. Vantagens - Case5.3. Vantagens - Case

5. Metodologia de Testes Automatizados

Page 29: Reusabilidade na Utilização de Frameworks 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

Page 30: Reusabilidade na Utilização de Frameworks 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

Page 31: Reusabilidade na Utilização de Frameworks 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

Page 32: Reusabilidade na Utilização de Frameworks 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

Page 33: Reusabilidade na Utilização de Frameworks 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

Page 34: Reusabilidade na Utilização de Frameworks Automatizados

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.

Page 35: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 36: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 37: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 38: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 39: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 40: Reusabilidade na Utilização de Frameworks Automatizados

40 © 2011

Processos Automatizados Utilizando Framework

Exemplo 1 – IBM Framework

6. Framework

Page 41: Reusabilidade na Utilização de Frameworks Automatizados

41 © 2011

Processos Automatizados Utilizando Framework

Exemplo 1 – IBM Framework

6. Framework

Page 42: Reusabilidade na Utilização de Frameworks Automatizados

42 © 2011

Processos Automatizados Utilizando Framework

Exemplo 2 – GTO Test Framework (Banco de Dados)

6. Framework

Page 43: Reusabilidade na Utilização de Frameworks Automatizados

43 © 2011

Processos Automatizados Utilizando Framework

Exemplo 3 – GTO Test Framework (XML Data-driven)

6. Framework

Page 44: Reusabilidade na Utilização de Frameworks Automatizados

44 © 2011

Processos Automatizados Utilizando Framework

Exemplo 4 – GTO Test Framework (Evidence and Results)

6. Framework

Page 45: Reusabilidade na Utilização de Frameworks Automatizados

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

Page 46: Reusabilidade na Utilização de Frameworks Automatizados

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.

Page 47: Reusabilidade na Utilização de Frameworks Automatizados

47 © 2011

Processos Automatizados Utilizando Framework

®

Page 48: Reusabilidade na Utilização de Frameworks Automatizados

48 © 2011

Processos Automatizados Utilizando Framework

Obrigado!