Teste para dispositivos móveis apresentação pra ufam -eliane
-
Upload
eliane-collins -
Category
Documents
-
view
270 -
download
5
description
Transcript of Teste para dispositivos móveis apresentação pra ufam -eliane
Internal Use Only
Eliane Collins | [email protected] 2
ApresentaçãoEliane Collins
Bacharel em Engenharia de Computação (UEA - EST)
Mestre em Engenharia Elétrica (UFAM - PGEE)
CTAL – TM Certified Test Advanced Level – Test Manager (BSTQB/ISTQB)
CSD – Certified Scrum Developer (Scrum Alliance)
ITIL e Cobit.
Mais de 9 anos na área de Teste de Software (Gerenciamento, Implementação, Planejamento, Automação e Execução de Processo de Teste)
Publicações Nacionais: SBQS 2010, 2011, 2012, SAST 2011, Revista Engenharia de Software Magazine – ESM (DEVMedia).
Publicações Internacionais: ICTSS 2010, AST 2012,2013, STA 2012, ICGSE 2012, Scrum Gathering Paris 2013.
Organização Encontro Amazônico de Teste de Software - EATS
E-mail : [email protected] /[email protected]
04/09/2023
Internal Use Only
04/09/2023 3
Tópicos
Automação de Testes para Aplicações Móveis
Principais Ferramentas
Desafios para Automatizar Testes
Boas Práticas para Automatizar Testes
Robotium
Prática com Robotium
MonkeyRunner
Prática com MonkeyRunner
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 4
Automação de Testes para Aplicações MóveisO que é Automação de Teste?
Automatizar testes significa fazer uso de Softwares que controlem a execução e a elaboração de scripts do dos casos de teste (Kolawa A. et all, 2007).
É uma atividade de desenvolvimento que inclui as responsabilidades de programação semelhantes aos de desenvolvimento de software em teste de software (Dustin E. et al 1999).
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 5
Automação de Testes para Aplicações MóveisQuais as Principais Abordagens para Automatizar Testes ?
Teste de interface gráfica do usuário (record and playback) As ferramentas fornecem funcionalidades para gravar e reproduzir
as ações do usuário no sistema.
Exemplo: Selenium, TestComplete, Marathon.
Teste baseado em código Ferramentas e frameworks que testam métodos e classes através
de passagem de parâmetros.
Exemplo: JUnit, NUnit, TestNG.
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 6
Automação de Testes para Aplicações MóveisPrincipais Ferramentas
SeeTest: Ferramenta proprietária para Windows Phone, Android e Blackberry http://experitest.com/
Test Studio for IOS: ferramenta proprietária para automação de testes funcionais de aplicativos IOS.
Appium: ferramenta aberta para automatizar testes funcionais para Android e iPhone. http://appium.io/index.html
Perfecto Mobile Android Testing Cloud: ferramenta proprietária para testes no aparelho e em cloud.
Device Anywhere: ferramenta proprietária para realizar testes através de cloud.
Monkey Tool: ferramenta de testes funcionais opensource
Robotium: ferramenta de testes funcionais opensource
Monkeyrunner: ferramenta aberta para teste funcional no Android.
Sikuli: ferramenta free para testes funcionais através de captura de imagens.
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 7
Automação de Testes para Aplicações MóveisComo Escolher as Ferramentas ?
A ferramenta é apropriada para a plataforma de software? (sim ou não)
A ferramenta tem documentação e suporte de uma empresa popular ou comunidade da área? (sim ou não)
Qual o nível de dificuldade para instalar e configurar a ferramenta? (fácil, médio ou difícil)
Qual o nível de dificuldade para usar a ferramenta? (fácil, médio ou difícil)
O desempenho da ferramenta é aceitável? (se é necessário muito processamento em execução ou demora para ser executada)
A ferramenta gera logs e relatórios de resultados? (sim ou não)
A ferramenta pode ser integrada com outras ferramentas? (sim ou não).
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 8
Automação de Testes para Aplicações MóveisDesafios para Automatizar Testes
Poucas ferramentas para suprir as necessidades de teste para dispositivos móveis.
Esforço inicial de tempo para escolha de ferramentas e implantação do ambiente de automação de testes.
O código de teste exige atualização e manutenção .
Faltam pessoas especializadas em automação de testes.
Custo com licença de ferramentas proprietárias.
Alocação de recursos de hardware para implantação do ambiente das ferramentas de teste : servidor para instalação/configuração de ferramentas.
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 9
Automação de Testes para Aplicações MóveisBoas Práticas para Automatizar Testes
Planejar as atividades de automação de teste desde o início do projeto.
Escolher ferramentas adequadas a plataforma e ao ambiente de desenvolvimento.
Treinar desenvolvedores e testadores no uso da ferramenta
O script de teste deve ser atual, completo, independente e reproduzível.
Estabelecer padrão de código do script de teste.
Realizar code review nos scripts de teste.
Promover ambiente de colaboração entre desenvolvedores e testadores para as atividades de automação de teste.
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 10
É uma ferramenta de testes funcionais que utiliza o framework Junit.
Arquitetura do Robotium
Automação de Testes para Aplicações MóveisRobotium
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 11
clickX métodos: clickOnButton, clickOnImage, clickOnText,… clickLongX métodos : clickLongInList, clickLongOnScreen,
clickLongOnText,… enterText drag getX métodos : getButton, getCurrentActivity, getImage,
getEditText goBack isX métodos : isCheckBoxChecked, isRadioButtonChecked,
isTextChecked pressX métodos : pressMenuItem, pressMenuItem,
pressSpinnerItem scrollX métodos : scrollToTop, scrollToBottom, … searchX métodos : searchButton, searchEditText, searchText waitForX métodos : waitForActivity, waitForText, …
Automação de Testes para Aplicações MóveisRobotium - Métodos
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 12
Método de Teste
Automação de Testes para Aplicações MóveisPrática Robotium
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 13
Requisitos: ambiente android e eclipse instalados e configurados. Download: http://developer.android.com/sdk/index.html?hl=sk
No eclipse importe o projeto AndroidCalculator
Ajuste a versão do java da sua máquina.
Importe o projeto TestAndroidCalculatorBlackBox
Faça os ajustes para a versão do java da sua máquina
Na classe de teste localizada no pacote com.testcalculator clique no botão direito do mouse.
No menu selecione Run As -> Android Junit Test
Observe a execução
Acrescente outro método de teste para cada operação e execute a classe de teste novamente.
Automação de Testes para Aplicações MóveisPrática Robotium
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 14
A ferramenta monkeyrunner fornece uma API para escrever programas que controlam um dispositivo Android ou emulador.
Com monkeyrunner, é possível escrever um programa em Python que instala um aplicativo Android e executa ações.
A API possui as seuintes classes de comandos:
Monkey Device: http://developer.android.com/tools/help/MonkeyDevice.html
Monkey Image http://developer.android.com/tools/help/MonkeyImage.html
Monkey Runner http://developer.android.com/tools/help/MonkeyRunner.html
Automação de Testes para Aplicações MóveisMonkeyRunner
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 15
Para utilizar os comandos monkeyrunner é necessário incluir na variável de ambiente PATH o diretório tools e android. ...\sdk\build-tools\android-4.4;
...\sdk\tools
Crie uma pasta chamada monkey na unidade c do computador e nela coloque os scripts monkeyrunner_recorder.py e monkeyrunner_playback.py disponíveis no link:
https://github.com/miracle2k/android-platform_sdk/tree/master/monkeyrunner/scripts
crie as subpastas images, apks-script, log e apks_to_test
Automação de Testes para Aplicações MóveisPrática - MonkeyRunner
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 16
Abra o emulador do android
Abra um prompt de comando e digite :
monkeyrunner c:\monkey\monkeyrunner_recorder.py
A interface do monkeyrunner recorder irá aparecer.
Com o mouse realize ações na tela do emulador, como abrir e utilizar uma aplicação.
Na interface recorder irá aparecer as ações realizadas gravadas em script python.
Automação de Testes para Aplicações MóveisPrática - MonkeyRunner
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 17
Na interface do monkeyrunner recorder salve os scripts no menu Export
Salve as ações como um arquivo de extensão .mr (exemplo test.mr)
Feche a interface recorder e abra novamente o prompt de comando
Degite: monkeyrunner c:\monkey\monkeyrunner_playback.py c:\monkey\test.mr
Pressione enter e observe que o emulador irá reproduzir as suas ações gravadas.
Automação de Testes para Aplicações MóveisPrática - MonkeyRunner
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 18
Perguntas ? Obrigada ! ;)
Eliane Collins E-mail : [email protected]
Eliane Collins | [email protected]
Internal Use Only
04/09/2023 19
Referências
Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 74. ISBN 0-470-04212-5.
Elfriede Dustin, et al. (1999). Automated Software Testing. Addison Wesley. ISBN 0-201-43287-0.
Eliane Collins | [email protected]