Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Automatização de testes funcionais em dispositivos móveis utilizando a técnica BDD - sast 2014
1.
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
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
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.