37
Globalcode – Open4education Trilha Testes Rafael Chiavegatto Testes de aceitação automatizados com Robotium utilizando a técnica BDD

Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC-2014-POA

Embed Size (px)

DESCRIPTION

Palestra Testes de aceitação automatizados com Robotium utilizando a técnica BDD apresentada no TDC 2014 de Porto Alegre.

Citation preview

Page 1: 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

Page 2: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 3: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 4: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

UM POUCO SOBRE A FPF Tech

Page 5: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Instituto de P&D localizado

em Manaus

Page 6: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Treinamentos Constantes

Page 7: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Ambiente Descontraído

Page 8: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Incentiva a criatividade e

melhoria contínua

Page 9: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Prazer, eu sou a FPF Tech.

http://fpf.br/

Page 10: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Como as empresas gerenciam seus

casos de testes?

Gerência de Casos de Teste

Page 11: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Gerência de Casos de Teste

Page 12: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

E quando temos mudança nos requisitos?

Gerência de Casos de Teste

Page 13: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 14: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Automatização de testes

Facilitar os testes de regressão e aumentar a

qualidade, é utilizado a automatização dos testes.

Page 15: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Automatização de testes

Page 16: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Manutenção

Para melhorar a manutenção nos scripts de testes

automatizados, existem alguns padrões, dentre eles

o Page Objects.

Page 17: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Criação dos métodos - Page

Objects

Page 18: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Utilização do Page Objects

Page 19: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Utilização do Page Objects

Page 20: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 21: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 22: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 23: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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.

Page 24: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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”.

Page 25: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Caso de teste tradicional

Page 26: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

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?

Page 27: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Feature

Page 28: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Ferramentas utilizadas

Page 29: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Aplicação utilizada

Page 30: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Utilização

Page 31: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Especificação da feature

Page 32: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Implementação da feature

Page 33: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Execução em múltiplos dispositivos

Page 34: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Prática

Page 35: Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC-2014-POA

Globalcode – Open4education

Contatos

E-mails:

[email protected]

[email protected]

Slideshare

http://pt.slideshare.net/rafaelchiavegatto1

Linkedin

https://www.linkedin.com/pub/rafael-chiavegatto/26/993/3a5

GitHub

https://github.com/chiavegatto

Page 37: Testes de aceitação automatizados com robotium utilizando a técnica bdd   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.