Teste para dispositivos móveis apresentação pra ufam -eliane

19
Teste para Dispositivos Móveis Eliane Collins 06/06/2022 1 Eliane Collins | [email protected]

description

 

Transcript of Teste para dispositivos móveis apresentação pra ufam -eliane

Page 1: Teste para dispositivos móveis   apresentação pra ufam -eliane

04/09/2023 1

Teste para Dispositivos Móveis

Eliane Collins

Eliane Collins | [email protected]

Page 2: 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

Page 3: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 4: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 5: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 6: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 7: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 8: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 9: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 10: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 11: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 12: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 13: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 14: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 15: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 16: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 17: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]

Page 18: Teste para dispositivos móveis   apresentação pra ufam -eliane

Internal Use Only

04/09/2023 18

Perguntas ? Obrigada ! ;)

Eliane Collins E-mail : [email protected]

Eliane Collins | [email protected]

Page 19: Teste para dispositivos móveis   apresentação pra ufam -eliane

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]