SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
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 
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.

Mais conteúdo relacionado

Mais procurados

[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD WarriorsGUTS-RS
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testesJúlio de Lima
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de TesteBeatriz Marques
 
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...GUTS-RS
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de TestesGUTS-RS
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UXGUTS-RS
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Elias Nogueira
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeElias Nogueira
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareJeremias Araujo
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCamilo Ribeiro
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Introdução ao teste de software
 Introdução ao teste de software Introdução ao teste de software
Introdução ao teste de softwareAna Ludmila
 

Mais procurados (20)

[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
[GUTS-RS] GUTS Testing Games - Jogo BDD Warriors
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidade
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidadeDevQA | Da zona de conforto ao comprometimento com a qualidade
DevQA | Da zona de conforto ao comprometimento com a qualidade
 
[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes[ScrumDay2020] A evolução da responsabilidade em testes
[ScrumDay2020] A evolução da responsabilidade em testes
 
Ferramentas Case de Teste
Ferramentas Case de TesteFerramentas Case de Teste
Ferramentas Case de Teste
 
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
[GUTS-RS] Práticas de desenvolvimento aplicadas na automação de testes com Se...
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes[GUTS-RS] GUTS Universitário - Carreira de Testes
[GUTS-RS] GUTS Universitário - Carreira de Testes
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014Automação de Teste com Robotium - Tche Mobile 2014
Automação de Teste com Robotium - Tche Mobile 2014
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 
Certificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de SoftwareCertificações em Teste e Qualidade de Software
Certificações em Teste e Qualidade de Software
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Introdução ao teste de software
 Introdução ao teste de software Introdução ao teste de software
Introdução ao teste de software
 

Semelhante a BDD com Robotium e Cucumber

Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeisCristiano Caetano
 
Do regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileDo regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileLucas Carvalho
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a pontaElias Nogueira
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPTestes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPElias Nogueira
 
Apresentação TDC2015
Apresentação TDC2015Apresentação TDC2015
Apresentação TDC2015Bruno Murawski
 
Automacao de testes em .NET? Keep Calm and Just do It
Automacao de testes em .NET? Keep Calm and Just do ItAutomacao de testes em .NET? Keep Calm and Just do It
Automacao de testes em .NET? Keep Calm and Just do Ittdc-globalcode
 
TDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSTDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSStefan Teixeira
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APIEdlaine Zamora
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para AndroidElias Nogueira
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumMaximiliano Alves
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripaErnesto Barbosa
 
Como aumentar a eficiência dos seus testes manuais
Como aumentar a eficiência dos seus testes manuaisComo aumentar a eficiência dos seus testes manuais
Como aumentar a eficiência dos seus testes manuaisMarcelo Galvão
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
Drupal e a Qualidade de Software
Drupal e a Qualidade de SoftwareDrupal e a Qualidade de Software
Drupal e a Qualidade de SoftwareDaniel Carvalhinho
 
Os 5 Níveis de Reuso
Os 5 Níveis de ReusoOs 5 Níveis de Reuso
Os 5 Níveis de ReusoDr. Spock
 

Semelhante a BDD com Robotium e Cucumber (20)

Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
Do regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileDo regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobile
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
Testes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SPTestes Funcionais em um ALM Open Source - TDC 2012 SP
Testes Funcionais em um ALM Open Source - TDC 2012 SP
 
Apresentação TDC2015
Apresentação TDC2015Apresentação TDC2015
Apresentação TDC2015
 
Automacao de testes em .NET? Keep Calm and Just do It
Automacao de testes em .NET? Keep Calm and Just do ItAutomacao de testes em .NET? Keep Calm and Just do It
Automacao de testes em .NET? Keep Calm and Just do It
 
TDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - FloripaTDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - Floripa
 
TDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSSTDC 2014 SP - Visual Regression Testing com PhantomCSS
TDC 2014 SP - Visual Regression Testing com PhantomCSS
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
 
Como aumentar a eficiência dos seus testes manuais
Como aumentar a eficiência dos seus testes manuaisComo aumentar a eficiência dos seus testes manuais
Como aumentar a eficiência dos seus testes manuais
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Drupal e a Qualidade de Software
Drupal e a Qualidade de SoftwareDrupal e a Qualidade de Software
Drupal e a Qualidade de Software
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Os 5 Níveis de Reuso
Os 5 Níveis de ReusoOs 5 Níveis de Reuso
Os 5 Níveis de Reuso
 

Mais de Rafael Chiavegatto

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Testando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarmTestando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarmRafael Chiavegatto
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produçãoRafael Chiavegatto
 
Sgrio2016 deixando o jenkins fazer o trabalho manual
Sgrio2016   deixando o jenkins fazer o trabalho manualSgrio2016   deixando o jenkins fazer o trabalho manual
Sgrio2016 deixando o jenkins fazer o trabalho manualRafael Chiavegatto
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bddTestes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bddRafael Chiavegatto
 
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Rafael Chiavegatto
 

Mais de Rafael Chiavegatto (7)

Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Testando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarmTestando performance da sua aplicação e escalando com docker swarm
Testando performance da sua aplicação e escalando com docker swarm
 
Docker - Colocando aplicações em produção
Docker  - Colocando aplicações em produçãoDocker  - Colocando aplicações em produção
Docker - Colocando aplicações em produção
 
Sgrio2016 deixando o jenkins fazer o trabalho manual
Sgrio2016   deixando o jenkins fazer o trabalho manualSgrio2016   deixando o jenkins fazer o trabalho manual
Sgrio2016 deixando o jenkins fazer o trabalho manual
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
Testes de aceitação automatizados com robotium utilizando a técnica de bdd
Testes de aceitação automatizados com robotium utilizando a técnica de bddTestes de aceitação automatizados com robotium utilizando a técnica de bdd
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écnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
 

BDD com Robotium e Cucumber

  • 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.
  • 4. Globalcode – Open4education UM POUCO SOBRE A FPF Tech
  • 5. Globalcode – Open4education Instituto de P&D localizado em Manaus
  • 6. Globalcode – Open4education Treinamentos Constantes
  • 7. Globalcode – Open4education Ambiente Descontraído
  • 8. Globalcode – Open4education Incentiva a criatividade e melhoria contínua
  • 9. Globalcode – Open4education Prazer, eu sou a FPF Tech. http://fpf.br/
  • 10. Globalcode – Open4education Como as empresas gerenciam seus casos de testes? Gerência de Casos de Teste
  • 11. Globalcode – Open4education Gerência de Casos de Teste
  • 12. Globalcode – Open4education E quando temos mudança nos requisitos? Gerência de Casos de Teste
  • 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.
  • 15. Globalcode – Open4education Automatização de 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.
  • 17. Globalcode – Open4education Criação dos métodos - Page Objects
  • 18. Globalcode – Open4education Utilização do Page Objects
  • 19. Globalcode – Open4education Utilização do 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”.
  • 25. Globalcode – Open4education Caso de teste tradicional
  • 26. 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?
  • 28. Globalcode – Open4education Ferramentas utilizadas
  • 29. Globalcode – Open4education Aplicação utilizada
  • 31. Globalcode – Open4education Especificação da feature
  • 32. Globalcode – Open4education Implementação da feature
  • 33. Globalcode – Open4education Execução em múltiplos dispositivos
  • 35. 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
  • 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.