SlideShare uma empresa Scribd logo
Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014
Automatização de Testes Funcionais em Dispositivos Móveis 
utilizando a técnica BDD 
Rafael Chiavegatto, Lidiane Silva, Maryane Pinheiro, Auri Marcelo Rizzo Vincenzi
Agenda 
•FPF Tech 
•Introdução 
•Problemática 
•Behaviour Driven Development (BDD) 
•Estudo de Caso: Utilização de BDD com frameworks para automatização de testes 
•Resultados obtidos 
•Conclusão 
•Referências
UM POUCO SOBRE A 
FPF Tech
Instituto de P&D localizado em Manaus (hardware e software)
Treinamentos Constantes
Ambiente Descontraído
Que sempre busca incentivar a criatividade e melhoria contínua de nossos processos
Introdução 
•Empresas que desenvolvem software vêm buscando a garantia da qualidade dos sistemas; 
•Agilidade no desenvolvimento de software; 
•Estudos sobre técnicas e metodologias para melhoria no processo de desenvolvimento;
Behaviour Driven Development (BDD) 
•Técnica ágil para desenvolvimento de software que estimula a colaboração entre os participantes de um projeto; 
•Focada em comportamento; 
•Utiliza linguagem natural e unificada; 
•Gera código a partir de descrição textual.
Problemática 
•O sistema deve ser executado em vários dispositivos; 
•Alto custo no tempo de execução dos testes de regressão de forma manual; 
•Documentação ambígua; 
•Especificações em nível técnico; 
•Falha na comunicação entre os envolvidos no projeto.
Dispositivos a serem testados 
Tipo 
Marca 
Dispositivo 
Modelo 
Resolução 
Versão OS 
Smartphone 
LG 
Optimus L3 
E400 
240x320 
Android 2.3 
LG 
Optimus Hub 
E510 
320x480 
Android 2.3 
LG 
Optimus 
GT540 
320x480 
Android 2.3 
LG 
LG GW620 
GW620 
320x480 
Android 2.3 
LG 
Victor 
E730 
480x800 
Android 2.3 
LG 
Optimus 3D Max 
P720 
480x800 
Android 2.3 
LG 
Prada 3.0 
P940 
480x800 
Android 2.3 
LG 
Optimus L7 
P705 
480x800 
Android ICS 
Motorola 
Defy Mini 
XT320 
320x480 
Android 2.3 
Motorola 
Fire XT 
XT531 
320x480 
Android 2.3 
Motorola 
Motorola Primus 
Primus 
480x800 
Android 2.3 
Motorola 
Razr 
XT910 
540x960 
Android 2.3 
Motorola 
Jorian 
XT 605 
640x480 
Android 2.3 
Tipo 
Marca 
Dispositivo 
Modelo 
Resolução 
Versão OS 
Smartphone 
Samsung 
Galaxy Y Pro 
GT-B5510 
240x320 
Android 2.3 
Samsung 
Galaxy Y 
GT-S5360 
240x320 
Android 2.3 
Samsung 
Galaxy Y Duos 
GT- S6102B 
240x320 
Android 2.3 
Samsung 
Galaxy Ace 
GT-S5830 
320x480 
Android 2.3 
Samsung 
Galaxy S III 
SGH-i747 
720x1280 
Android ICS 
Samsung 
Galaxy Note 
GT-N7000 
800x1280 
Android 2.3 
Sony Ericsson 
Live Walkman 
WT19 
320x480 
Android 2.3 
Sony Ericsson 
Xperia U 
ST25 
480x854 
Android 2.3 
Sony Ericsson 
Xperia S/Nozomi 
LT26 
720x1280 
Android 2.3 
Tablet 
Samsung 
Galaxy Tab 2 
P3100 
600x1024 
Android 4.1.2 
Motorola 
Xoom 
MZ604 
800x1280 
Android 4.1.2 
24 dispositivos
Estudo de Caso: Aplicação utilizada
Estudo de Caso: Ferramentas utilizadas
Estudo de Caso: Processo utilizado para aplicação do BDD
Estudo de Caso: Especificação de cenário de BDD (feature) utilizando framework Cucumber-JVM
Estudo de Caso: Mapeamento e implementação dos métodos das features, utilizando framework Selenium WebDriver
Estudo de Caso: Execução dos testes automatizados
Resultados obtidos 
Após a realização desse estudo, foi possível visualizar os seguintes benefícios: 
Tabela B. Resultado da execução Manual dos cenários de teste 
Quantidade de dispositivos 
Quantidade de cenários de teste 
Tempo de execução por dispositivo 
Tempo médio de execução por caso de teste 
Quantidade de casos de cenários de teste total 
Tempo de execução Total (h) 
24 
18 
~5 minutos 
~17 segundos 
432 
~2 horas 
Quantidade de dispositivos 
Quantidade de cenários de teste 
Tempo de execução por dispositivo 
Tempo médio de execução por caso de teste 
Quantidade de casos de cenários de teste total 
Tempo de execução Total (h) 
24 
18 
2 horas 
~6,67 minutos 
432 
48 horas 
Tabela C. Resultado da execução Automatizada dos cenários de teste 
Uma redução no tempo em torno de 95,8%.
Conclusão 
•Redução significativa no esforço e tempo na execução dos testes; 
•Esforço concentrado em cenários mais elaborados; 
•Facilidade para execução de testes de regressão; 
•Maior compreensão dos cenários especificados (linguagem natural); 
•Melhora na contribuição entre os envolvidos no projeto; 
•Facilidade na manutenção dos cenários e scripts de teste (Cenários associados ao código dos scripts).
Referências 
•APACHE Maven Project. Disponível em: <http://maven.apache.org>. Acessado em 24.04.2014. 
•BITTENCOURT, Robson. Análise de código utilizando SonarQube. Disponível em: <http://umovme.cc/2013/09/02/analise-de-codigo- utilizando-sonarqube/>. Acessado em 25.06.2014. 
•CAETANO, Cristiano. Artigo Blog Qualister. Testes Exploratórios (Parte 1): Introdução, 2014. Disponível em: <http://www.qualister.com.br/blog/testes-exploratorios-parte-1-introducao> Acessado em 23.04.2014. 
•DELAMARO, M., E., Maldonado, j., C. e Jino, M. Introdução ao Teste de Software. Editora: Elsevier, Campus, 2007. 
•EXAME. Android está em cerca de 80% de smartphones vendidos em 2013, 2014. Página Web. Disponível em: <http://exame.abril.com.br/tecnologia/noticias/android-esta-em-cerca-de-80-de-smartphones-vendidos-em-2013> Acessado em 24.04.2014. 
•HUNT, A., Thomas, D. Pragmatic Unit Testing in Java with JUnit. The Pragmatic Programmers v.2, 2003. Disponível em: < http://books.google.com.br/books/about/The_Pragmatic_Programmer.html?id=5wBQEp6ruIAC&redir_esc=y> Acessado em 20.04.2014. 
•KNOTT, D. The magazine for Agile Developers and Agile Testers, Agile Record – Free Digital Version; 7a. edição, 2011. 
•MOLINARI, L. Inovação e Automação de Testes de Software. 1ª Edição. São Paulo-SP, 2010. 
•North, D. Introducing BDD Better software magazine, 2006. Disponível em: <http://dannorth.net/2006/03/19/bdd-article-published-in- better-software-magazine/> Acessado em 23.04.2014. 
•REDA, R. e Josefson, H. Robotium – Easy Black-box Testing for Android, 2013. Disponível em: <http://swdc- central.com/androidonly/dl/ao2010-hugo-josefson.pdf> Acessado em 23.04.2014. 
•SOMMERVILLE, Ian. Engenharia de Software. 8a Ed. São Paulo: Pearson Addison Wesley, 2007. 
•WYNNE, M., Hellesoy, A. The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Editora: The Pragmatic Programmers, 2012.
Contatos 
E-mails: 
rafael.chiavegatto@fpf.br 
chiavegattor@gmail.com 
Slideshare 
http://pt.slideshare.net/rafaelchiavegatto1 
Linkedin 
https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5 
GitHub 
https://github.com/chiavegatto
Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014

Mais conteúdo relacionado

Semelhante a Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014

[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing
GUTS-RS
 
Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?
MSc. Andreia Matos dos Santos
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
Leonardo Molinari
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
userrx
 
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
GUTS-RS
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
Cristiano Caetano
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
Luiz Henrique
 
Validação, teste, verificação
Validação, teste, verificaçãoValidação, teste, verificação
Validação, teste, verificação
Tiago Brito
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
Stefan Teixeira
 
Brisa - Cases Qualidade Sofware
Brisa -  Cases Qualidade SofwareBrisa -  Cases Qualidade Sofware
Brisa - Cases Qualidade Sofware
Gilda M Manetti Lauriano
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
minastestingconference
 
Agile mobile testing
Agile mobile testingAgile mobile testing
Agile mobile testing
Eliane Collins
 
Apresentacao_insitucional_v12
Apresentacao_insitucional_v12Apresentacao_insitucional_v12
Apresentacao_insitucional_v12
Leandro Ginane
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
Samanta Cicilia
 
Teste de software
Teste de software Teste de software
Teste de software
Allan Almeida de Araújo
 
Teste de software
Teste de softwareTeste de software
Teste de software
Rodrigo Cardoso Alves Fonte
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
Renato Groff
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela (Florianópolis-SC, Brasil)
 

Semelhante a Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014 (20)

[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing[GUTS-RS] Mobile Testing
[GUTS-RS] Mobile Testing
 
Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?Então, precisamos mesmo de QA em projetos Ágeis?
Então, precisamos mesmo de QA em projetos Ágeis?
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Dba Testes Gerentes B2
Dba Testes Gerentes B2Dba Testes Gerentes B2
Dba Testes Gerentes B2
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
 
Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
Validação, teste, verificação
Validação, teste, verificaçãoValidação, teste, verificação
Validação, teste, verificação
 
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvemTDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
TDC 2015 Floripa - Visual Regression Testing em ambientes na nuvem
 
Brisa - Cases Qualidade Sofware
Brisa -  Cases Qualidade SofwareBrisa -  Cases Qualidade Sofware
Brisa - Cases Qualidade Sofware
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Agile mobile testing
Agile mobile testingAgile mobile testing
Agile mobile testing
 
Apresentacao_insitucional_v12
Apresentacao_insitucional_v12Apresentacao_insitucional_v12
Apresentacao_insitucional_v12
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Teste de software
Teste de software Teste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017TDD e BDD - Developers-SP - Abril/2017
TDD e BDD - Developers-SP - Abril/2017
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Instituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitáriosInstituto Stela S&T#001, Projeto de software com testes unitários
Instituto Stela S&T#001, Projeto de software com testes unitários
 

Mais de Rafael Chiavegatto

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
Rafael Chiavegatto
 
Testando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarmTestando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarm
Rafael Chiavegatto
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produção
Rafael Chiavegatto
 
Sgrio2016 deixando o jenkins fazer o trabalho manual
Sgrio2016   deixando o jenkins fazer o trabalho manualSgrio2016   deixando o jenkins fazer o trabalho manual
Sgrio2016 deixando o jenkins fazer o trabalho manual
Rafael Chiavegatto
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
Rafael Chiavegatto
 
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bddTestes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Rafael Chiavegatto
 

Mais de Rafael Chiavegatto (6)

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Testando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarmTestando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarm
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produção
 
Sgrio2016 deixando o jenkins fazer o trabalho manual
Sgrio2016   deixando o jenkins fazer o trabalho manualSgrio2016   deixando o jenkins fazer o trabalho manual
Sgrio2016 deixando o jenkins fazer o trabalho manual
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bddTestes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
 

Último

Apresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimizaçãoApresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimização
snerdct
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ismael Ash
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
Ismael Ash
 
Aula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústriaAula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústria
zetec10
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
Faga1939
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
ronaldos10
 

Último (6)

Apresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimizaçãoApresentação sobre Deep Web e anonimização
Apresentação sobre Deep Web e anonimização
 
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de   DevOps/CLoudFerramentas que irão te ajudar a entrar no mundo de   DevOps/CLoud
Ferramentas que irão te ajudar a entrar no mundo de DevOps/CLoud
 
Subindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWSSubindo uma aplicação WordPress em docker na AWS
Subindo uma aplicação WordPress em docker na AWS
 
Aula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústriaAula combustiveis mais utilizados na indústria
Aula combustiveis mais utilizados na indústria
 
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
INTELIGÊNCIA ARTIFICIAL + COMPUTAÇÃO QUÂNTICA = MAIOR REVOLUÇÃO TECNOLÓGICA D...
 
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docxse38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
se38_layout_erro_xxxxxxxxxxxxxxxxxx.docx
 

Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014

  • 2. Automatização de Testes Funcionais em Dispositivos Móveis utilizando a técnica BDD Rafael Chiavegatto, Lidiane Silva, Maryane Pinheiro, Auri Marcelo Rizzo Vincenzi
  • 3. Agenda •FPF Tech •Introdução •Problemática •Behaviour Driven Development (BDD) •Estudo de Caso: Utilização de BDD com frameworks para automatização de testes •Resultados obtidos •Conclusão •Referências
  • 4. UM POUCO SOBRE A FPF Tech
  • 5. Instituto de P&D localizado em Manaus (hardware e software)
  • 8. Que sempre busca incentivar a criatividade e melhoria contínua de nossos processos
  • 9. Introdução •Empresas que desenvolvem software vêm buscando a garantia da qualidade dos sistemas; •Agilidade no desenvolvimento de software; •Estudos sobre técnicas e metodologias para melhoria no processo de desenvolvimento;
  • 10. Behaviour Driven Development (BDD) •Técnica ágil para desenvolvimento de software que estimula a colaboração entre os participantes de um projeto; •Focada em comportamento; •Utiliza linguagem natural e unificada; •Gera código a partir de descrição textual.
  • 11. Problemática •O sistema deve ser executado em vários dispositivos; •Alto custo no tempo de execução dos testes de regressão de forma manual; •Documentação ambígua; •Especificações em nível técnico; •Falha na comunicação entre os envolvidos no projeto.
  • 12. Dispositivos a serem testados Tipo Marca Dispositivo Modelo Resolução Versão OS Smartphone LG Optimus L3 E400 240x320 Android 2.3 LG Optimus Hub E510 320x480 Android 2.3 LG Optimus GT540 320x480 Android 2.3 LG LG GW620 GW620 320x480 Android 2.3 LG Victor E730 480x800 Android 2.3 LG Optimus 3D Max P720 480x800 Android 2.3 LG Prada 3.0 P940 480x800 Android 2.3 LG Optimus L7 P705 480x800 Android ICS Motorola Defy Mini XT320 320x480 Android 2.3 Motorola Fire XT XT531 320x480 Android 2.3 Motorola Motorola Primus Primus 480x800 Android 2.3 Motorola Razr XT910 540x960 Android 2.3 Motorola Jorian XT 605 640x480 Android 2.3 Tipo Marca Dispositivo Modelo Resolução Versão OS Smartphone Samsung Galaxy Y Pro GT-B5510 240x320 Android 2.3 Samsung Galaxy Y GT-S5360 240x320 Android 2.3 Samsung Galaxy Y Duos GT- S6102B 240x320 Android 2.3 Samsung Galaxy Ace GT-S5830 320x480 Android 2.3 Samsung Galaxy S III SGH-i747 720x1280 Android ICS Samsung Galaxy Note GT-N7000 800x1280 Android 2.3 Sony Ericsson Live Walkman WT19 320x480 Android 2.3 Sony Ericsson Xperia U ST25 480x854 Android 2.3 Sony Ericsson Xperia S/Nozomi LT26 720x1280 Android 2.3 Tablet Samsung Galaxy Tab 2 P3100 600x1024 Android 4.1.2 Motorola Xoom MZ604 800x1280 Android 4.1.2 24 dispositivos
  • 13. Estudo de Caso: Aplicação utilizada
  • 14. Estudo de Caso: Ferramentas utilizadas
  • 15. Estudo de Caso: Processo utilizado para aplicação do BDD
  • 16. Estudo de Caso: Especificação de cenário de BDD (feature) utilizando framework Cucumber-JVM
  • 17. Estudo de Caso: Mapeamento e implementação dos métodos das features, utilizando framework Selenium WebDriver
  • 18. Estudo de Caso: Execução dos testes automatizados
  • 19. Resultados obtidos Após a realização desse estudo, foi possível visualizar os seguintes benefícios: Tabela B. Resultado da execução Manual dos cenários de teste Quantidade de dispositivos Quantidade de cenários de teste Tempo de execução por dispositivo Tempo médio de execução por caso de teste Quantidade de casos de cenários de teste total Tempo de execução Total (h) 24 18 ~5 minutos ~17 segundos 432 ~2 horas Quantidade de dispositivos Quantidade de cenários de teste Tempo de execução por dispositivo Tempo médio de execução por caso de teste Quantidade de casos de cenários de teste total Tempo de execução Total (h) 24 18 2 horas ~6,67 minutos 432 48 horas Tabela C. Resultado da execução Automatizada dos cenários de teste Uma redução no tempo em torno de 95,8%.
  • 20. Conclusão •Redução significativa no esforço e tempo na execução dos testes; •Esforço concentrado em cenários mais elaborados; •Facilidade para execução de testes de regressão; •Maior compreensão dos cenários especificados (linguagem natural); •Melhora na contribuição entre os envolvidos no projeto; •Facilidade na manutenção dos cenários e scripts de teste (Cenários associados ao código dos scripts).
  • 21. Referências •APACHE Maven Project. Disponível em: <http://maven.apache.org>. Acessado em 24.04.2014. •BITTENCOURT, Robson. Análise de código utilizando SonarQube. Disponível em: <http://umovme.cc/2013/09/02/analise-de-codigo- utilizando-sonarqube/>. Acessado em 25.06.2014. •CAETANO, Cristiano. Artigo Blog Qualister. Testes Exploratórios (Parte 1): Introdução, 2014. Disponível em: <http://www.qualister.com.br/blog/testes-exploratorios-parte-1-introducao> Acessado em 23.04.2014. •DELAMARO, M., E., Maldonado, j., C. e Jino, M. Introdução ao Teste de Software. Editora: Elsevier, Campus, 2007. •EXAME. Android está em cerca de 80% de smartphones vendidos em 2013, 2014. Página Web. Disponível em: <http://exame.abril.com.br/tecnologia/noticias/android-esta-em-cerca-de-80-de-smartphones-vendidos-em-2013> Acessado em 24.04.2014. •HUNT, A., Thomas, D. Pragmatic Unit Testing in Java with JUnit. The Pragmatic Programmers v.2, 2003. Disponível em: < http://books.google.com.br/books/about/The_Pragmatic_Programmer.html?id=5wBQEp6ruIAC&redir_esc=y> Acessado em 20.04.2014. •KNOTT, D. The magazine for Agile Developers and Agile Testers, Agile Record – Free Digital Version; 7a. edição, 2011. •MOLINARI, L. Inovação e Automação de Testes de Software. 1ª Edição. São Paulo-SP, 2010. •North, D. Introducing BDD Better software magazine, 2006. Disponível em: <http://dannorth.net/2006/03/19/bdd-article-published-in- better-software-magazine/> Acessado em 23.04.2014. •REDA, R. e Josefson, H. Robotium – Easy Black-box Testing for Android, 2013. Disponível em: <http://swdc- central.com/androidonly/dl/ao2010-hugo-josefson.pdf> Acessado em 23.04.2014. •SOMMERVILLE, Ian. Engenharia de Software. 8a Ed. São Paulo: Pearson Addison Wesley, 2007. •WYNNE, M., Hellesoy, A. The Cucumber Book: Behaviour-Driven Development for Testers and Developers. Editora: The Pragmatic Programmers, 2012.
  • 22. Contatos E-mails: rafael.chiavegatto@fpf.br chiavegattor@gmail.com Slideshare http://pt.slideshare.net/rafaelchiavegatto1 Linkedin https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5 GitHub https://github.com/chiavegatto