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

Preview:

DESCRIPTION

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

Citation preview

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:

rafael.chiavegatto@fpf.br

chiavegattor@gmail.com

Slideshare

http://pt.slideshare.net/rafaelchiavegatto1

Linkedin

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

GitHub

https://github.com/chiavegatto

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.