Automação de Testes. Quando e como? By Angelica de Lima, PMP em maio/ PDF
Download "Automação de Testes. Quando e como? By Angelica de Lima, PMP em maio/2015"
Leonardo de Carvalho Neto
2 Automação de Testes. Quando e como? By Angelica de Lima, PMP em maio/2015
3 Faço o que gosto! Gosto do que faço!! By Angelica de Lima, PMP em maio/2015
4 O Básico O que? O propósito da automação de testes pode ser resumidamente descrito como a aplicação de estratégias e ferramentas tendo em vista a redução do envolvimento humano em atividades manuais repetitivas. Cem Kaner, autor do livro Lessons learned in software testing
5 O Básico Quem?
6 O Básico Como? Quando? Onde? Ambiente dedicado de QA Porque? Evita crash; inoperabilidade; macula na imagem da TI ; redução de custos
7 Porque? Mars Climate Orbiter (http://mars.jpl.nasa.gov/msp98/orbiter/) Desastre: Motivo: Se perdeu no espaço no momento em que entrava na atmosfera de Marte Misturou, em cálculos, valores com medidas de tamanho diferentes Na revisão de código descobriram que parte do código usava unidades de medidas americanas e parte em medidas Inglesas. Prejuízo: 125 milhões de dólares
8 Porque? AirBus 320 (http://en.wikipedia.org/wiki/iran_air_flight_655) : Desastre: USS Vicennes derrubou um airbus 320 em 1988 Motivo: Bug no software de reconhecimento, confundindo o avião com um F-14 Prejuízo: 290 mortes
9 Porque? London Ambulance Service (http://en.wikipedia.org/wiki/london_ambulance_service) Desastre: Motivo: Prejuízo: Serviço auxiliado por computador falhou em dois dias de Novembro de 1992, gerando várias falhas, como o envio de 2 ambulâncias para o mesmo loval, envio de uma ambulância para um local onde outras estavam mais perto, etc. Tudo indica que o problema estava relacionado a alta carga de emergências durante o período. Morte de 30 pessoas
10 Porque? Seu projeto (http://seuprojeto.com.br) Desastre: Motivo: Prejuízo: A area usuária encontra erros no que você implementou. Tudo indica que o problema estava relacionado a falta de atenção de um documento de especificação. No mínimo sua reputação.
11 O Momento essa atividade é vista como a salvação em termos de custo, prazo e produtividade para os projetos...
12 O Momento Na ação do herói
13 O Momento A reação da desmoralização
14 O Momento Pior ainda...
17 O Momento
18 Quando? Assim que um novo sistema fica pronto? Assim que um novo sistema é implantado em produção? Quando a equipe de testes for contratada? Quando os erros impactarem a area de negócio? Quando os erros deixarem o sistema fora do ar? Quando for adquirida a ferramenta de automação?
19 Quando? Ao identificar o que é essencial:: Testes Funcionalidades Tempos Niveis de tolerância O que é repetitivo. Qual o roteiro de testes é mais assertivo e tem maior acuracidade.
20 Quando? A automação de testes pode consumir até 10 vezes mais tempo em etapas como planejar, criar, documentar e executar, em comparação a um teste executado manualmente. Portanto, não automatize testes que você raramente executa. Automatizar exige programação de médio para alto nível. Ignorar isto pode inviabilizar os testes e ou mascarar os seus resultados. Não é indicado automatizar os testes muito cedo dentro do processo. O sistema a ser testado deverá possuir certa estabilidade.
21 Quando? Esteja ciente... A execução dos testes automáticos substitui a execução dos testes repetitivos, mas não os manuais e muito menos a análise de resultados. compromisso entre o esforço de criação dos scripts de testes versus a manutenção desses scripts.
22 Como? Tipos de ferramentas:: Gerenciamento de Testes/Defeitos: Ferramentas que auxiliam no planejamento e gerenciamento dos testes e de seus resultados; Automação de Testes de Carga e Stress: Ferramentas que simulam a carga de múltiplos usuários em uma aplicação para entender e ajustar a performance do sistema; Automação de Testes Funcionais: Testes de um único usuário na aplicação para encontrar falhas funcionais.
23 Como? O ferramental é essencial Tipo de Teste Nome da ferramenta/framework tipo de licença Funcionais Abbot open source Funcionais ActiWate open source Funcionais Apodora open source Gestao de Defeitos BugNET open source Gestao de Defeitos BugZilla open source Funcionais Canoo Web Test open source Estimativas Construx Estimate open source Funcionais FitNesse open source Funcionais GNU/Linux Desktop Testing Project open source Performance JMeter open source Gestao de Defeitos Jira pago Teste unitário JUnit Funcionais Lisa WS-Testing open source Gestao de Defeitos Mantis open source Funcionais Marathon open source Funcionais Mercury pago
24 Como? O ferramental é essencial Tipo de Teste Nome da ferramenta/framework tipo de licença Performance OpenSTA open source Gestao de Testes QA Manager open source Suite completa Rational pago Gestao de Testes RTH open source Gestao de Defeitos Scarab open source Funcionais Selenium open source Funcionais SharpRobo open source Funcionais SoapSonar Personal Edition open source Funcionais SoapUI open source Funcionais Squish for KDE open source Suite completa Plataforma Silk proprietário Gestao de Testes Test Case Web open source Funcionais Test Manager proprietário Gestao de Testes Test Master open source Funcionais TestComplete proprietário
25 Como? O ferramental é essencial Tipo de Teste Nome da ferramenta/framework tipo de licença Gestao de Testes Testitool open source Gestao de Testes TestLink open source Gestao de Testes Testopia open source Performance The Grinder open source Teste estruturado TMap Next open source Gestao de Defeitos TRAC open source Funcionais Watir open source Carga e Performance WebLoad open source
26 Como? A ferramenta não faz o profissional! Um estupido com a melhor ferramenta ainda é um estúpido
27 Como? Teste unitário. (+ de 150)
28 Como?
29 Como?
30 Como? Evite mitos:: Uma ferramenta de testes automatizados é a solução de todos os problemas de qualidade. Para criar testes automatizados será necessário modificar o sistema Basta gravar a digitação e os cliques do mouse e depois executar o script.
31 Como? Capture and replay (ou playback) Se for necessário testar, por exemplo, o cadastro de 100 formulários, o testador terá que gravar 100 scripts manualmente; Se o campo Nome do Usuário mudar para Login, todas as referências ao campo Nome do Usuário presentes no script terão que ser localizadas e alteradas. E isto pode ocorrer com vários outros campos Data driven (orientado a dados) substituir os dados gravados por variáveis
32 Como? API / Framework driven (orientado a API / Framework) suporte à programação dos scripts de testes por fornecer classes que tratam da leitura de arquivos textos, do acesso a banco de dados, que são responsáveis pelo logging dos scripts e pela geração dos resultados dos testes Keyword driven (orientado a palavras chave) conjunto pré-definido de palavras-chaves para a montagem dos testes. Cada palavra-chave é um comando em alto nível. Descrevem ações realizadas no sistema, como por exemplo, Logar, Acessar, Cadastrar, Remover, etc
33 Como? Uma opção é utilizar a suite Open Source do Selenium = auxiliam na execução de testes funcionais a partir da camada de apresentação de um sistema Web. A ThoughtWorks precisava de uma ferramenta pata testar uma aplicação de rastreamento de despesas pela web e baseado no conhecimento do Mercury estabeleceram a base para o Selenium;
34 Como? Uma opção é utilizar a suite Open Source do Selenium = auxiliam na execução de testes funcionais a partir da camada de apresentação de um sistema Web. A ThoughtWorks precisava de uma ferramenta pata testar uma aplicação de rastreamento de despesas pela web e baseado no conhecimento do Mercury estabeleceram a base para o Selenium;
35 Como?
36 Como? Linguagens :: Browsers:: Plataformas ::
37 Como? Selenium Suite
38 Como? Selenium IDE :: Ambiente integrado para o desenvolvimento de testes no Selenium Fornece funcionalidade de gravação e reprodução. Proporciona a capacidade de depurar scripts de teste. "Auto complete" dos comandos do Selenium Permite a exportação dos scripts de teste em diferentes formatos como HTML, Java, Ruby, Python, etc. contem os scripts
39 Como? Selenium IDE ::
40 Como?
41 Como?
42 Como? automaticamente iniciar/finalizar/controlar, qualquer browser suportado Selenium RC = O Selenium Remote Control é um cliente/servidor que controla um browser local ou em outro computador utilizando scripts do Selenium IDE (html) ou scripts criados em diferentes linguagens de programação. Ele é dividido em duas partes: 1. Um servidor que, automaticamente, abre e fecha um browser web e age como um proxy HTTP para as requisições web dos scripts do Selenium 2. Bibliotecas para as linguagens de programação suportadas pelo Selenium Essencial para executar os scripts do Selenium IDE fora do Firefox. (por linha de comando para executar suítes de teste em qualquer computador). Esse método pode ser utilizado em ambientes de Integração Contínua. Essencial para usar o Webdriver.
43 Como? Selenium RC
44 Como? Selenium Grid é usado para execução paralela de testes em diferentes maquinas e browsers ao mesmo tempo.
45 Selenium IDE Selenium RC Selenium WebDriver It supports with all browsers like Firefox, IE, Chrome, Safari, Opera etc. It supports with all browsers like Firefox, IE, Chrome, Safari, Opera etc. It only works in Mozilla browser. It supports Record and It doesn t supports Record and playbac k playbac k It doesn t supports Rec ord and playbac k Doesn t required to start server before executing Required to start server before Doesn't required to start server before the test script. executing the test script. executing the test script. It is standalone java program which allow you to run Html test It actual core API which has binding in a It is a GUI Plug-in suites range of languages Core engine is Javascript based Core engine is Javasc ript based Interac ts natively with browser applic ation Very simple to use as it is As compared to RC, it is bit complex and record & playback. It is easy and small API large API. It is not objec t oriented API s are less Objec t oriented API s are entirely Objec t oriented It doesn t supports of moving mouse c ursors. It doesn t supports of moving mouse c ursors. It supports of moving mouse c ursors Need to append full xpath with xpath=\\ syntax Need to append full xpath with xpath=\\ syntax No need to append full xpath with xpath=\\ syntax It does not supports listeners It does not supports listeners It supports the implementation of listeners It does not support to test iphone/android applic ations It does not support to test iphone/android applic ations It support to test iphone/android applic ations
46 Quer mais? BARBOSA, E.; MALDONADO, J.C.; VINCENZI, A.M.R.; DELA MARO, M.E; SOUZA, S.R.S. e JINO, M.. Introdução ao Teste de Software. XIV Simpósio Brasileiro de Engenharia de Software, CRAIG, R.D., JASKIEL, S. P., Systematic Software Testing, Artech House Publishers, Boston, PFLEEGER, S. L., Engenharia de Software: Teoria e Prática, Prentice Hall- Cap. 08, PRESSMAN, R. S., Software Engineering: A Practitioner s Approach, McGraw-Hill, 6th ed, Nova York, NY, RAPP S, S., WEYUKER, E.J., Data Flow analysis techniques for test data selection, In: International Conference on Software Engineering, p , Tokio, Sep ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C. et al., Qualidade de software Teoria e prática, Prentice Hall, São Paulo, 2001.
JMeter x WebLoad_ Ferramentas para Teste de Desempenho JMeter x WebLoad Uma análise de duas soluções para execução de testes de desempenho para você decidir qual é a melhor para sua empresa. O artigo fornece
AVALIAÇÃO DE QUALIDADE NO SISTEMA DE LOCAÇÕES DA FACULDADE DE BALSAS ATRAVÉS DE TESTES FUNCIONAIS AUTOMATIZADOS
0 FACULDADE DE BALSAS CURSO DE SISTEMAS DE INFORMAÇÃO AVALIAÇÃO DE QUALIDADE NO SISTEMA DE LOCAÇÕES DA FACULDADE DE BALSAS ATRAVÉS DE TESTES FUNCIONAIS AUTOMATIZADOS de Oliveira Barbosa BALSAS MA 013 1
requirements and test for a better software Palestra automação inteligente em testes de software
requirements and test for a better software 66 a reunião SPIN Palestra automação inteligente em testes de software founder & co-director CLICK TO EDIT MASTER TITLE professional em Gestão de STYLE certified
UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ BACHARELADO EM ENGENHARIA DE SOFTWARE ANTONIO GERBSON DA SILVA LIMA
UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS QUIXADÁ BACHARELADO EM ENGENHARIA DE SOFTWARE ANTONIO GERBSON DA SILVA LIMA AUTOMAÇÃO DE TESTES FUNCIONAIS EM AMBIENTES WEB: UM ESTUDO DE CASO NO LABORATÓRIO DE SISTEMA
Estima-se que o custo decorrente. Gestão de Testes Ferramentas Open Source e melhores práticas na gestão de testes
Gestão de Testes Ferramentas Open Source e melhores práticas na gestão de testes Cristiano Caetano c_caetano@hotmail.com É certificado CBTS pela ALATS. Consultor de teste de software sênior com mais de
Introdução à Automação de Testes S Cristiano Caetano c_caetano@hotmail.com É certificado CBTS pela ALATS. Consultor de teste de software sênior com mais de 10 anos de experiência, já trabalhou na área
Experiência em Automação do Processo de Testes em Ambiente Ágil com SCRUM e ferramentas OpenSource Eliane F. Collins 1, Luana M. de A. Lobão 1, 2 1 Instituto Nokia de Tecnologia (INdT) Caixa Postal 7200
SUPPORTER TEST - FERRAMENTA DE APOIO AO GERENCIAMENTO DE TESTES DE SOFTWARE
CENTRO UNIVERSITÁRIO UNIVATES CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO CASSIANO PATRIC WEISS SUPPORTER TEST - FERRAMENTA DE APOIO AO GERENCIAMENTO DE TESTES DE SOFTWARE