[guts-rs] mbehavior, um framework de automação de testes multiplataforma para bdd

48
#gutsrs /@gutsrs

Upload: guts-rs

Post on 21-Feb-2017

760 views

Category:

Technology


1 download

TRANSCRIPT

#gutsrs /@gutsrs

Programação • 19h00 Recepção, boas vindas e Coffee para integração • 19h30 Abertura do evento, apresentação do GUTS-RS e

expectativas do evento • 19h40 Introdução teórica, alinhamento de conceitos de testes

ágeis, introdução e funcionamento do framework • 20h30 Hands on training – MBehavior • 20h45 Espaço para perguntas • 21h00 Encerramento do evento

Sobre o GUTS-RS • GUTS-RS: Grupo de Usuários de Testes de Software do RS • Criado em: agosto/2008 • Objetivo: compartilhar o uso de métodos, processos e

ferramentas de Teste de Software e promover discussões sobre a aplicação das melhores práticas de teste e qualidade utilizadas no mercado

• Público Alvo: Gerentes, Analistas de Testes, Testadores,

Desenvolvedores e demais profissionais e estudantes interessados na área

• Coordenação: Alessandra Paixão, Evelise Freitas e Moisés

Ramírez

Canais de Comunicação http://guts-rs.blogspot.com.br/

@gutsrs

[email protected]

@gudeteste

Guts RS GUTS-RS

http://pt.slideshare.net/GUTS-RS

http://guts-rs.eventbrite.com/

Comunicados • Submissão de Palestras 2016

– DOJO – Fishbowl – Palestra – TCC – Testing Games – Workshop – Outros

• Assinar a lista de presença • Preencher a Ficha do Evento • Certificado de Participação

MBehavior

Um framework de automação de testes multiplataforma para BDD

Sobre o palestrante

Mestrando na Universidade Federal do Rio Grande do Sul

Roger Ritter

[email protected]

Atua há 8 anos na área de Qualidade de Software

Instrutor na TargetTrust

Sobre o palestrante

Roger Ritter

[email protected]

Desenvolvimento Web & Mobile

Estratégia Digital

Since 2016

UM ESTUDO DA TÉCNICA BDD COM SELENDROID

➔ Time To Market

➔ BDD - Behavior Driven Development

➔ A Problemática

➔ MBehavior - Apresentação

➔ MBehavior - Conteúdo Prático

Sumário

TTM - Time to Market

Desenvolver um aplicativo?

TTM - Time to Market

Tradicionalmente, muitos docs são necessários.

TTM - Time to Market

E até lançar o app, já estamos em outra era!

TTM - Time to Market

DESAFIO: Entregar rapidamente sem

comprometer-se com a Qualidade

TTM - Time to Market

Como?

Frameworks Metodologias

Técnicas

Cultura

BDD - Behavior Driven Development

Uma técnica de Projeto que colabora com

TTM é:

Dan North 2003

BDD - Behavior Driven Development

Apesar de simples o poder do BDD é de

grande capacidade.

BDD

Tradicionais / Convencionais

Como poderia ser um caso de teste da seguinte tela abaixo?

Tradicionais / Convencionais

Como poderia ser um caso de teste da seguinte tela abaixo?

Step 1 : Informar o usuário ‘roger’, a senha ‘123’ e clicar no botão de Login. Expected: Abrir painel de controle.

Tradicionais / Convencionais

Como poderia ser um caso de teste da seguinte tela abaixo?

E este?

Tradicionais / Convencionais

➺ Requisitos muitos extensos; ➺ Uso de informações muito técnicas; ➺ Sem uma padronização;

Cenário: Login no sistema

DADO que estou na tela de login

QUANDO informo um usuário válido no campo ‘Nome do Usuário’

E informo uma senha válida no campo ‘Senha’

E clico em ‘Login’

ENTÃO a tela de Painel de Controle deverá ser exibida

--

Cenário: Tentativa de Login com Senha Inválida

DADO que estou na tela de login

QUANDO informo um usuário válido no campo ‘Nome do Usuário’

E informo uma senha inválida no campo ‘Senha’

E clico em ‘Login’

ENTÃO a mensagem de senha inválida deve ser exibida

BDD - Behavior Driven Development

🌌 Padrão! 🌌 Lógica! 🌌 Existe comportamento! 🌌 Menor, porém com mais qualidade!

BDD - Behavior Driven Development

E ainda podem ser reutilizáveis!

Reutilização

➺ Considere o cenário descrito anteriormente Login no sistema ➺ Uma reutilização do cenário seria:

Cenário: Cadastrar produto com desconto

DADO que realizei Login no sistema

QUANDO clicar em ‘Cadastrar Produto’

E abrir a tela de cadastro de produto

E informar o nome do produto corretamente

E informar o desconto corretamente

E clicar em ‘Salvar’

ENTÃO o produto deve ser exibido na tela inicial do site

Reutilização

Automação de cenários!

Ctrl c + Ctrl v

É o que destaca Dan North através de uma automação de alta velocidade.

Automação com BDD

Geralmente o comportamento dos frameworks são exatamente os mesmos:

Devemos entender que:

No mapeamento será:

DADO QUE estou na ‘tela inicial’

tela inicial = ‘index.php’

Automação com BDD

Principais frameworks de automação BDD.

Dia após dia

+300 cenários de teste

e crescendo

90% automatizado

Problemática

Tudo estava bem...

➔ 300 + cenários automatizados ➔ 1.230 + testes unitários

➔ Integração contínua com Jenkins

➔ Cenários originados dos principais

comportamentos dos usuários ➔ A qualidade andava bem, obrigado.

Mas a vida é uma caixinha de surpresas...

➔ 80 % dos comportamentos são os mesmos

➔ portanto, 80 % + dos cenários já

estavam escritos ➔ mas web ≠ mobile

➔ 80 % dos comportamentos são os mesmos

➔ portanto, 80 % + dos cenários já

estavam escritos ➔ mas web ≠ mobile

➔ então REWORK! <

350h foi o tempo aproximado deste REWORK

}

multiplataforma

BDD - Behavior Driven Development UM ESTUDO DA TÉCNICA BDD COM SELENDROID

➔ Open Source;

➔ Disponível no Github em breve;

DADO QUE…

QUANDO…

ENTÃO...

Sentenças pré-definidas

➺Através de um estudo, inclusive com outros frameworks, verificou-se a utilização das mesmas sentenças;

➺ + padronização;

➺ + velocidade;

Sentenças pré-definidas

Hands

On

Training

Dúvidas?

[email protected]