Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC-2014-POA
-
Upload
rafael-chiavegatto -
Category
Internet
-
view
923 -
download
1
description
Transcript of Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC-2014-POA
Globalcode – Open4education
Trilha – Testes
Rafael Chiavegatto
Testes de aceitação automatizados com Robotium utilizando a técnica BDD
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.
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.
Globalcode – Open4education
UM POUCO SOBRE A FPF Tech
Globalcode – Open4education
Instituto de P&D localizado
em Manaus
Globalcode – Open4education
Treinamentos Constantes
Globalcode – Open4education
Ambiente Descontraído
Globalcode – Open4education
Incentiva a criatividade e
melhoria contínua
Globalcode – Open4education
Prazer, eu sou a FPF Tech.
http://fpf.br/
Globalcode – Open4education
Como as empresas gerenciam seus
casos de testes?
Gerência de Casos de Teste
Globalcode – Open4education
Gerência de Casos de Teste
Globalcode – Open4education
E quando temos mudança nos requisitos?
Gerência de Casos de Teste
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.
Globalcode – Open4education
Automatização de testes
Facilitar os testes de regressão e aumentar a
qualidade, é utilizado a automatização dos testes.
Globalcode – Open4education
Automatização de testes
Globalcode – Open4education
Manutenção
Para melhorar a manutenção nos scripts de testes
automatizados, existem alguns padrões, dentre eles
o Page Objects.
Globalcode – Open4education
Criação dos métodos - Page
Objects
Globalcode – Open4education
Utilização do Page Objects
Globalcode – Open4education
Utilização do Page Objects
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.
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.
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.
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.
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”.
Globalcode – Open4education
Caso de teste tradicional
Globalcode – Open4education
Casos de teste x cenários
E se tentássemos transformar um caso de teste em
um cenário de uma feature, seria possível?
Globalcode – Open4education
Feature
Globalcode – Open4education
Ferramentas utilizadas
Globalcode – Open4education
Aplicação utilizada
Globalcode – Open4education
Utilização
Globalcode – Open4education
Especificação da feature
Globalcode – Open4education
Implementação da feature
Globalcode – Open4education
Execução em múltiplos dispositivos
Globalcode – Open4education
Prática
Globalcode – Open4education
Contatos
E-mails:
Slideshare
http://pt.slideshare.net/rafaelchiavegatto1
https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5
GitHub
https://github.com/chiavegatto
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
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.