Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC-2014-POA
1. Globalcode – Open4education
Trilha – Testes
Rafael Chiavegatto
Testes de aceitação automatizados com Robotium utilizando a técnica BDD
2. Globalcode – Open4education
Agenda
Apresentação;
FPF Tech;
Gerenciamento de casos de testes;
Automatização de testes;
Page Objects;
Problemática;
Contextualização;
Behaviour Driven Development (BDD);
Prática.
3. Globalcode – Open4education
Apresentação
Profissional pós-graduado em Engenharia de
Software, graduado em Análise de Sistemas. Possui
mais de 4 anos de experiência em testes de
software. Possui experiência em diferentes tipos de
testes: Funcionais, Exploratórios, Regressão, Stress,
Performance, Segurança e automatização de testes
(web, desktop e mobile). Conhecimento em
integração contínua e metodologias de testes ágeis.
13. Globalcode – Open4education
Gerência de Casos de Teste
Atualização dos casos de teste;
Seleção dos casos de teste para execução dos
testes de regressão.
14. Globalcode – Open4education
Automatização de testes
Facilitar os testes de regressão e aumentar a
qualidade, é utilizado a automatização dos testes.
16. Globalcode – Open4education
Manutenção
Para melhorar a manutenção nos scripts de testes
automatizados, existem alguns padrões, dentre eles
o Page Objects.
20. Globalcode – Open4education
Utilização do Page Objects
Mesmo utilizando um bom padrão de projeto,
ainda fica complicado identificar onde meus testes
estão falhando;
Preciso a cada teste fazer chamadas aos meus
métodos criados no meu Page objects.
21. Globalcode – Open4education
Problemática
O sistema deve ser executado em vários
dispositivos ou vários navegadores;
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.
22. Globalcode – Open4education
Contextualização
Empresas que desenvolvem software buscam a
garantia da qualidade dos sistemas;
Agilidade no desenvolvimento de software;
Estudos sobre técnicas e metodologias para
melhoria no processo de desenvolvimento.
23. Globalcode – Open4education
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.
24. Globalcode – Open4education
Behaviour Driven
Development (BDD)
A especificação dos cenários possui as seguintes
notações:
Feature (Narrativa): descrição da estória.
Scenario (Cenário): descrição do cenário para estória.
Background (Contexto): utilizado quando todos os cenários compartilham o
mesmo estado inicial.
Given (Dado que): são as pré-condições para executar o cenário.
When (Quando): são os testes (passos) para execução do cenário.
Then (Então): é o resultado esperado da execução dos passos.
And (e): é utilizado como conector, quando é necessário utilizar mais de um
“given”, “when” ou “then”.
36. Globalcode – Open4education
Exemplo utilizado
Aplicação de exemplo automatizada com o Robotium
e o Cucumber encontra-se no seguinte endereço:
https://github.com/chiavegatto/TDC-2014-POA
37. Globalcode – Open4education
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.