Post on 21-Feb-2017
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
guts-rs-sucesu@googlegroups.com
@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
Próximos Eventos
• GUTS Talks – Soft Skills (Novembro)
Submeta o seu talk!!!! http://guts-rs.blogspot.com.br/2016/10/guts-talks-soft-skills.html
Sobre o palestrante
Mestrando na Universidade Federal do Rio Grande do Sul
Roger Ritter
roger.ritter@ufrgs.br
Atua há 8 anos na área de Qualidade de Software
Instrutor na TargetTrust
Sobre o palestrante
Roger Ritter
roger.ritter@ufrgs.br
Desenvolvimento Web & Mobile
Estratégia Digital
Since 2016
➔ Time To Market
➔ BDD - Behavior Driven Development
➔ A Problemática
➔ MBehavior - Apresentação
➔ MBehavior - Conteúdo Prático
Sumário
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
➺ 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
➺ 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’
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.
➔ 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! <
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;