SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
Automação:
Viabilidade e Demo
com o QTP
Marcos José Hermes
marcos_hermes@dell.com
Agenda
   Automação de Testes de Software
   Planejamento em Automação
   Viabilidade em Automação
   Conceitos Básicos
   Hands On
   Resumo
Expectativa
   Revisar alguns conceitos relacionados à
    automação
   Dicas sobre o que deve/não deve ser
    automatizado
   Fomentar a discussão sobre diferentes tipos de
    automação (não apenas UI)
   Dicas para aumentar a efetividade da
    automação
   Ver como o QTP implementa algumas
    funcionalidades comuns às ferramentas de
    automação
Introdução
   Diferentes tipos de testes (e de automação)
     Unit   Test, UI, banco de dados, web services, etc.
 Estimativas para escrita X execução de
  testes automatizados
 Métricas em automação
       Tempo de escrita, # de execuções,
        estabilidade dos scripts
   Automação de necessidades (tarefas) X
    automação de testes
Automação de Testes de Software

   Automação de teste de software é o uso
    de software para controlar a execução
    de testes, comparação de saídas
    previstas com entradas fornecidas,
    configuração de pré-condições de
    ambiente e de dados, além de outros
    controles de testes e geração de
    relatórios.
Avaliação de Viabilidade da
Automação: Macro e Micro
 Viabilidade macro diz respeito à
  maturidade da empresa para a adoção de
  processos de teste com custo baixo e alta
  efetividade. Está diretamente ligada à
  gerência sênior da empresa.
 Viabilidade micro diz respeito aos cenários
  de teste e quão rápido pode-se recuprar o
  investimento em dado cenário. Está
  diretamente ligada à equipe de testadores.
Planejamento em Automação:
Alguns Critérios Importantes
   Planejar o que e quando algo deve ser
    automatizado é fundamental
     Estabelecer  cronogramas de entregas
     Treinar os usuários dos testes
     Monitorar a execução dos scripts
     Padronizar os processos de desenvolvimento
     Fomentar o reuso de componentes
      (bibliotecas de funções e trechos de script)
     Desenvolver aplicações “testáveis”
Planejamento em Automação:
Cronogramas de Entrega
   Assim como no desenvolvimento de
    aplicações, o desenvolvimento de scripts
    automatizados deve seguir um processo
    consistente, desde o estabelecimento dos
    requisitos do teste, até sua codificação,
    teste e aceitação por parte dos usuários
     Hein?! Testar o teste?
     Mas então não é só gravar o script uma vez e
      depois reproduzir infinitas vezes?
Planejamento em Automação:
Treinamento
   Treinamento aos futuros usuários dos
    scripts automatizados é fundamental!
     Os  usuários não usarão o que não conhecem
      ou não serão efetivos na tarefa
     Além de criar e executar scripts, é preciso
      interpretar os resultados das execuções de
      maneira correta
     Muitas empresas sofrem com a resistência de
      seus testadores, pois eles temem perder seus
      empregos (boicote) => quebra de paradigma
Planejamento em Automação:
Monitoramento da Execução
   Além de criar excelentes scripts
    automatizados, é preciso verificar se os
    usuários estão de fato tirando proveito dos
    mesmos
    O  custo do desenvolvimento de scripts é alto
     Para um script “se pagar”, é preciso que ele
      seja de fato executado no lugar do seu
      equivalente manual
     Estabelecer metas quanto ao uso dos scripts
      automatizados
Planejamento em Automação:
Padronização do Desenvolvimento
   Projetos de automação devem ser
    controlados como projetos reais de
    desenvolvimento
    A  equipe inteira deve seguir um único padrão
      de desenvolvimento
     Padrões diminuem os custos do
      desenvolvimento e facilitam a manutenção do
      código
     Hummm… estamos ainda falando de teste??!
Planejamento em Automação:
Reuso de componentes
   Como parte do planejamento, deve-se
    identificar os processos comuns dentro da
    aplicação e dividí-los em diferentes
    componentes, de modo a reutilizá-los em
    diversos scripts
     Facilita a codificação, pois basta chamar o
      componente em vez de codificar a mesma
      função diversas vezes, diminuindo custos
     Facilita a manutenção, pois basta atualizar
      um componente para arrumar todos os scripts
Planejamento em Automação:
Aplicações Testáveis
   As ferramentas de automação devem ter
    acesso direto, simples e consistente
    aos objetos de teste da aplicação
    O  custo de métodos de acesso avançados é
      muito superior aos métodos diretos
     A manutenção dos scripts também fica mais
      cara
   Como testador, você confia na mensagem
    “A operação foi realizada com sucesso”?
Tá, mas… e a Viabilidade?
   A automação é viável em empresas maduras, cujos
    processos de desenvolvimento sejam mensuráveis e
    padronizados, bem como as aplicações a ser testadas
    sejam desenvolvidas levando a automação em conta
   A adoção da automação como um requisito não
    funcional das aplicações é muito importante
   Além da “viabilidade macro” (a nível de organização),
    também devemos avaliar a “viabilidade micro” (a nível
    de cenário de teste)
Viabilidade Micro: Cenários que
Devemos Automatizar
   Cenários repetitivos (casos de teste diferentes)
    e executados com freqüência
   Testes de Performance
   Testes unitários
   Testes de regressão
   Criação de dados
   Smoke tests
   Camada de negócio / Webservices
     Custode manutenção geralmente inferior aos testes
      baseados em GUI
O que Não Devemos Automatizar?
   Cenários/requisitos que serão alterados
       Execução baixa X custo de manutenção alto
   Scripts que serão executados apenas uma vez (existem
    excessões!)
   Cenários novos/instáveis
   “Testes” sem entradas/saídas bem definidas (ad hoc e
    exploratórios)
   Testes muito simples ou muito complicados
   Aplicações que não serão alteradas ou em fase de
    desligamento/descontinuadas (existem excessões!)
       A quantia de ciclos de teste não paga o custo dos scripts
CBA – Cost Benefit Analysis
   Ajuda a identificar os scripts que trarão o maior
    retorno ao serem automatizados
   Cálculo simples que leva em conta:
     Número   de casos de teste a serem substituídos
     Tempo de desenvolvimento dos scripts manuais e
      automatizados
     Ciclos de teste futuros
     Número estimado de execuções por ciclo de teste
     Tempo de execução manual e automatizado (?)
     Algo mais?
Ferramentas



   Sim, mas… e a ferramenta de automação??!!
    Qual é a mais viável??
ATENÇÃO!

   CUIDADO com ferramentas (ou
    fabricantes/vendedores de ferramentas) que
    prometem resolver todos os seus problemas!
   De nada adianta possuir a melhor ferramenta se
    não souber utilizá-la!
   Os scripts apenas fazem o que foram
    codificados para fazer!
   Nem tudo deve ser automatizado! Na maioria
    dos ciclos de teste haverá tanto scripts
    automatizados quanto manuais
Viabilidade e a Ferramenta a
ser Escolhida
   Após a análise de viabilidade macro, deve-se
    avaliar quais ferramentas disponíveis no
    mercado são capazes de atender as
    necessidades identificadas
   Deve-se levar em conta:
     Tecnologias  suportadas X necessidades da empresa
     Facilidade de uso
     Integração com outras ferramentas
     Custo de licenças ao longo dos anos
     Adaptação a diferentes cenários, simples ou
      complexos
Viabilidade: Resumo
   Mais importante que a ferramenta de automação, temos
    que ter em mente que planejar adequadamente os
    testes a serem automatizados é uma parte fundamental
    e crítica para o sucesso (CBA, ROI). Além disso, temos
    que considerar a forma com que a aplicação foi
    codificada (Design for Testability)
   É preciso seguir as boas práticas relacionadas tanto a
    desenvolvimento quanto teste manual de software
   Treinamento adequado é essencial para o sucesso da
    automação
       Criação e execução de scripts, além de avaliação de resultados
   Ferramentas mal escolhidas tornam-se shelfware
Propaganda 
   Oficina de QTP
       Carga horária: 8 horas
       Data: 24 a 27 de maio
       Horário: 19h às 21h
       A distância - web conferência
   Automação de Testes Funcionais com QTP
       Carga horária: 16 horas
       Data: 21 a 24 de junho
       Horário: 18:45 às 22:45
       Local: TargetTrust - Porto Alegre
   Mais Informações em http://www.qualister.com.br (link
    "Cursos")
   Vendo AP 2 dorm. Semi-mobiliado, vaga garagem e
    depósito – Chácara das Pedras
Conceitos Básicos e Demo com
QTP
   Considerações:
     Não  é um curso de QTP
     Foco principal em ver como os conceitos são
      implementados com uma ferramenta líder no
      mercado
     Exemplo simples, para demonstrar conceitos
     Os conceitos são válidos para outras ferramentas
     Existem infinitas maneiras de resolver o mesmo
      problema
Conceitos Básicos
   Componente de interface (objeto)
       Identificados por propriedades (atributos e valores)
   Comandos básicos
       Clicar, entrar valores, comparar resultados (checkpoint), salvar
        dados (output values)
   Cenário de teste
   Caso de teste
   Tipos de teste:
       Record/playback, Keyword driven, Data driven
   Relatórios
       Devem ser completos e consistentes. O usuário deve saber
        inequivocamente se o teste passou ou falhou, bem como o
        motivo da falha, se for o caso
Exemplo de Cenário e Testes
 Cenário de teste: inserir novo usuário
 Casos de teste:
Hands On
Script Manual
                                 Script Manual
               Ações                            Resultados Esperados
Abra o browser e navegue para a         Verifique que a tela de login do backend
URL                                     do Prestashop é exibida
“http://localhost/prestashop/backoffi
ce”
- Entre com o endereço de email na      - Verifique que a tela principal do
caixa de texto “E-mail address:”        backend do Prestashop é exibida
- Entre com a senha na caixa de         - Verifique que o nome do usuário é
texto “Password:”                       exibido no canto superior direito da tela
- Clique no botão “Connection”          do sistema
                                        - Verifique que o applet “Statistics” é
                                        exibido
Q&A
 Perguntas?
 Críticas?
 Sugestões?
Backup Slides
Design for Testability
   Ferramentas de automação precisam manipular
    objetos na tela
     Propriedades    dos objetos devem estar expostas
     Devem identificar cada objeto de maneira única
     Devem permanecer inalteradas entre as diferentes
      sessões de teste
     Usar somente componentes de interface padrões do
      toolkit gráfico
     Documentar as camadas de negócio (webservices)
Design For Testability - Exemplo

                         tabGeral.txtNome
                         frmGeral.txtSobrenome




                         tabInfoTutor.txtNome
                         frmGeral.txtSobrenome

Mais conteúdo relacionado

Mais procurados

Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
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
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
 

Mais procurados (20)

Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes 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
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 

Semelhante a Automatizando testes com QTP

Introdução a automação de testes - 5º Congresso Online de TI
Introdução a automação de testes - 5º Congresso Online de TIIntrodução a automação de testes - 5º Congresso Online de TI
Introdução a automação de testes - 5º Congresso Online de TIRafael Amaral
 
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
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalNuno Baptista Rodrigues
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Webcasts developerWorks Brasil
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de softwareTargettrust
 
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
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
TDC2012 - E o que vem antes da automação?
TDC2012 - E o que vem antes da automação?TDC2012 - E o que vem antes da automação?
TDC2012 - E o que vem antes da automação?Paulo Vicente
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e VerdadesElias Nogueira
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoValquíria Duarte D'Amato
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Elias Nogueira
 

Semelhante a Automatizando testes com QTP (20)

Introdução a automação de testes - 5º Congresso Online de TI
Introdução a automação de testes - 5º Congresso Online de TIIntrodução a automação de testes - 5º Congresso Online de TI
Introdução a automação de testes - 5º Congresso Online de TI
 
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
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados Reusabilidade na Utilização de Frameworks Automatizados
Reusabilidade na Utilização de Frameworks Automatizados
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
T@rget trust t-curso de ferramentas para automação de teste de software
T@rget trust   t-curso de ferramentas para automação de teste de softwareT@rget trust   t-curso de ferramentas para automação de teste de software
T@rget trust t-curso de ferramentas para automação de teste de software
 
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
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
TDC2012 - E o que vem antes da automação?
TDC2012 - E o que vem antes da automação?TDC2012 - E o que vem antes da automação?
TDC2012 - E o que vem antes da automação?
 
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
4° Encontro Mensal ALATS: Automação de Teste - Mitos e Verdades
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 

Automatizando testes com QTP

  • 1. Automação: Viabilidade e Demo com o QTP Marcos José Hermes marcos_hermes@dell.com
  • 2. Agenda  Automação de Testes de Software  Planejamento em Automação  Viabilidade em Automação  Conceitos Básicos  Hands On  Resumo
  • 3. Expectativa  Revisar alguns conceitos relacionados à automação  Dicas sobre o que deve/não deve ser automatizado  Fomentar a discussão sobre diferentes tipos de automação (não apenas UI)  Dicas para aumentar a efetividade da automação  Ver como o QTP implementa algumas funcionalidades comuns às ferramentas de automação
  • 4. Introdução  Diferentes tipos de testes (e de automação)  Unit Test, UI, banco de dados, web services, etc.  Estimativas para escrita X execução de testes automatizados  Métricas em automação  Tempo de escrita, # de execuções, estabilidade dos scripts  Automação de necessidades (tarefas) X automação de testes
  • 5. Automação de Testes de Software  Automação de teste de software é o uso de software para controlar a execução de testes, comparação de saídas previstas com entradas fornecidas, configuração de pré-condições de ambiente e de dados, além de outros controles de testes e geração de relatórios.
  • 6. Avaliação de Viabilidade da Automação: Macro e Micro  Viabilidade macro diz respeito à maturidade da empresa para a adoção de processos de teste com custo baixo e alta efetividade. Está diretamente ligada à gerência sênior da empresa.  Viabilidade micro diz respeito aos cenários de teste e quão rápido pode-se recuprar o investimento em dado cenário. Está diretamente ligada à equipe de testadores.
  • 7. Planejamento em Automação: Alguns Critérios Importantes  Planejar o que e quando algo deve ser automatizado é fundamental  Estabelecer cronogramas de entregas  Treinar os usuários dos testes  Monitorar a execução dos scripts  Padronizar os processos de desenvolvimento  Fomentar o reuso de componentes (bibliotecas de funções e trechos de script)  Desenvolver aplicações “testáveis”
  • 8. Planejamento em Automação: Cronogramas de Entrega  Assim como no desenvolvimento de aplicações, o desenvolvimento de scripts automatizados deve seguir um processo consistente, desde o estabelecimento dos requisitos do teste, até sua codificação, teste e aceitação por parte dos usuários  Hein?! Testar o teste?  Mas então não é só gravar o script uma vez e depois reproduzir infinitas vezes?
  • 9. Planejamento em Automação: Treinamento  Treinamento aos futuros usuários dos scripts automatizados é fundamental!  Os usuários não usarão o que não conhecem ou não serão efetivos na tarefa  Além de criar e executar scripts, é preciso interpretar os resultados das execuções de maneira correta  Muitas empresas sofrem com a resistência de seus testadores, pois eles temem perder seus empregos (boicote) => quebra de paradigma
  • 10. Planejamento em Automação: Monitoramento da Execução  Além de criar excelentes scripts automatizados, é preciso verificar se os usuários estão de fato tirando proveito dos mesmos O custo do desenvolvimento de scripts é alto  Para um script “se pagar”, é preciso que ele seja de fato executado no lugar do seu equivalente manual  Estabelecer metas quanto ao uso dos scripts automatizados
  • 11. Planejamento em Automação: Padronização do Desenvolvimento  Projetos de automação devem ser controlados como projetos reais de desenvolvimento A equipe inteira deve seguir um único padrão de desenvolvimento  Padrões diminuem os custos do desenvolvimento e facilitam a manutenção do código  Hummm… estamos ainda falando de teste??!
  • 12. Planejamento em Automação: Reuso de componentes  Como parte do planejamento, deve-se identificar os processos comuns dentro da aplicação e dividí-los em diferentes componentes, de modo a reutilizá-los em diversos scripts  Facilita a codificação, pois basta chamar o componente em vez de codificar a mesma função diversas vezes, diminuindo custos  Facilita a manutenção, pois basta atualizar um componente para arrumar todos os scripts
  • 13. Planejamento em Automação: Aplicações Testáveis  As ferramentas de automação devem ter acesso direto, simples e consistente aos objetos de teste da aplicação O custo de métodos de acesso avançados é muito superior aos métodos diretos  A manutenção dos scripts também fica mais cara  Como testador, você confia na mensagem “A operação foi realizada com sucesso”?
  • 14. Tá, mas… e a Viabilidade?  A automação é viável em empresas maduras, cujos processos de desenvolvimento sejam mensuráveis e padronizados, bem como as aplicações a ser testadas sejam desenvolvidas levando a automação em conta  A adoção da automação como um requisito não funcional das aplicações é muito importante  Além da “viabilidade macro” (a nível de organização), também devemos avaliar a “viabilidade micro” (a nível de cenário de teste)
  • 15. Viabilidade Micro: Cenários que Devemos Automatizar  Cenários repetitivos (casos de teste diferentes) e executados com freqüência  Testes de Performance  Testes unitários  Testes de regressão  Criação de dados  Smoke tests  Camada de negócio / Webservices  Custode manutenção geralmente inferior aos testes baseados em GUI
  • 16. O que Não Devemos Automatizar?  Cenários/requisitos que serão alterados  Execução baixa X custo de manutenção alto  Scripts que serão executados apenas uma vez (existem excessões!)  Cenários novos/instáveis  “Testes” sem entradas/saídas bem definidas (ad hoc e exploratórios)  Testes muito simples ou muito complicados  Aplicações que não serão alteradas ou em fase de desligamento/descontinuadas (existem excessões!)  A quantia de ciclos de teste não paga o custo dos scripts
  • 17. CBA – Cost Benefit Analysis  Ajuda a identificar os scripts que trarão o maior retorno ao serem automatizados  Cálculo simples que leva em conta:  Número de casos de teste a serem substituídos  Tempo de desenvolvimento dos scripts manuais e automatizados  Ciclos de teste futuros  Número estimado de execuções por ciclo de teste  Tempo de execução manual e automatizado (?)  Algo mais?
  • 18. Ferramentas  Sim, mas… e a ferramenta de automação??!! Qual é a mais viável??
  • 19. ATENÇÃO!  CUIDADO com ferramentas (ou fabricantes/vendedores de ferramentas) que prometem resolver todos os seus problemas!  De nada adianta possuir a melhor ferramenta se não souber utilizá-la!  Os scripts apenas fazem o que foram codificados para fazer!  Nem tudo deve ser automatizado! Na maioria dos ciclos de teste haverá tanto scripts automatizados quanto manuais
  • 20. Viabilidade e a Ferramenta a ser Escolhida  Após a análise de viabilidade macro, deve-se avaliar quais ferramentas disponíveis no mercado são capazes de atender as necessidades identificadas  Deve-se levar em conta:  Tecnologias suportadas X necessidades da empresa  Facilidade de uso  Integração com outras ferramentas  Custo de licenças ao longo dos anos  Adaptação a diferentes cenários, simples ou complexos
  • 21. Viabilidade: Resumo  Mais importante que a ferramenta de automação, temos que ter em mente que planejar adequadamente os testes a serem automatizados é uma parte fundamental e crítica para o sucesso (CBA, ROI). Além disso, temos que considerar a forma com que a aplicação foi codificada (Design for Testability)  É preciso seguir as boas práticas relacionadas tanto a desenvolvimento quanto teste manual de software  Treinamento adequado é essencial para o sucesso da automação  Criação e execução de scripts, além de avaliação de resultados  Ferramentas mal escolhidas tornam-se shelfware
  • 22. Propaganda   Oficina de QTP  Carga horária: 8 horas  Data: 24 a 27 de maio  Horário: 19h às 21h  A distância - web conferência  Automação de Testes Funcionais com QTP  Carga horária: 16 horas  Data: 21 a 24 de junho  Horário: 18:45 às 22:45  Local: TargetTrust - Porto Alegre  Mais Informações em http://www.qualister.com.br (link "Cursos")  Vendo AP 2 dorm. Semi-mobiliado, vaga garagem e depósito – Chácara das Pedras
  • 23. Conceitos Básicos e Demo com QTP  Considerações:  Não é um curso de QTP  Foco principal em ver como os conceitos são implementados com uma ferramenta líder no mercado  Exemplo simples, para demonstrar conceitos  Os conceitos são válidos para outras ferramentas  Existem infinitas maneiras de resolver o mesmo problema
  • 24. Conceitos Básicos  Componente de interface (objeto)  Identificados por propriedades (atributos e valores)  Comandos básicos  Clicar, entrar valores, comparar resultados (checkpoint), salvar dados (output values)  Cenário de teste  Caso de teste  Tipos de teste:  Record/playback, Keyword driven, Data driven  Relatórios  Devem ser completos e consistentes. O usuário deve saber inequivocamente se o teste passou ou falhou, bem como o motivo da falha, se for o caso
  • 25. Exemplo de Cenário e Testes  Cenário de teste: inserir novo usuário  Casos de teste:
  • 27. Script Manual Script Manual Ações Resultados Esperados Abra o browser e navegue para a Verifique que a tela de login do backend URL do Prestashop é exibida “http://localhost/prestashop/backoffi ce” - Entre com o endereço de email na - Verifique que a tela principal do caixa de texto “E-mail address:” backend do Prestashop é exibida - Entre com a senha na caixa de - Verifique que o nome do usuário é texto “Password:” exibido no canto superior direito da tela - Clique no botão “Connection” do sistema - Verifique que o applet “Statistics” é exibido
  • 30. Design for Testability  Ferramentas de automação precisam manipular objetos na tela  Propriedades dos objetos devem estar expostas  Devem identificar cada objeto de maneira única  Devem permanecer inalteradas entre as diferentes sessões de teste  Usar somente componentes de interface padrões do toolkit gráfico  Documentar as camadas de negócio (webservices)
  • 31. Design For Testability - Exemplo  tabGeral.txtNome  frmGeral.txtSobrenome  tabInfoTutor.txtNome  frmGeral.txtSobrenome