automatização de testes funcionais em dispositivos móveis utilizando a técnica bdd - sast 2014
Post on 18-Dec-2014
177 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
Sm
art
ph
on
e
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
Sm
art
ph
on
e
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
Ta
ble
t
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
https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5
GitHub
https://github.com/chiavegatto
top related