3. Alto valor de negócio é o que atende à
necessidade do cliente
3
4. DESAFIOS PRA ENTENDER O VALOR DE NEGÓCIO
▫︎Telefone sem fio
4
Cliente Analista de requisitos Desenvolvedor
5. DESAFIOS PRA ENTENDER O VALOR DE NEGÓCIO
▫︎Informar requisitos em vez de comunicar o problema
5
Cliente
Eu quero
uma estrela
de 12 pontos
Desenvolvedor Analista de qualidade
7. Moral da estória: saber o requisito não
é suficiente para entender o valor de
negócio e pode resultar em testes
automatizados que não testam o valor
do negócio, ou seja, não atende à
necessidade do cliente e resulta em
retrabalho
7
8. ENTENDENDO O VALOR DE NEGÓCIO
▫︎Especificação através de exemplos
▫︎Requisitos, exemplos e testes falam sobre a mesma
coisa: como uma aplicação de software vai se
comportar quando for entregue
▫︎Trabalhando juntos, encontramos a melhor solução
8
9. ENTENDENDO O VALOR DE NEGÓCIO
- Behavior-driven development (BDD)
Requisito:
Buscar anúncios
Especificação através de exemplo:
Quando eu acesso o portal de esportes,
então eu vejo anúncios relacionados a
esportes, com título e descrição
9
10. DEFININDO O VALOR DE NEGÓCIO
▫︎Use exemplos reais para construir um entendimento
compartilhado do domínio (feedback cedo)
▫︎Selecione esse conjunto de exemplos para ser a
especificação e a suite de testes de aceitação
▫︎Automatize a verificação desses testes de aceitação
(documentação viva da aplicação)
▫︎Use esses testes de aceitação para facilitar discussões
futuras sobre mudanças e volte ao primeiro passo (usar
exemplos reais)
10
19. BIBLIOTECA DE AUTOMAÇÃO: SELENIUM
▫︎Selenium Web Driver
▫︎iniciada em 2004 pelo ThoughtWorker Jason Huggins
▫︎simula ações no browser
▫︎movido linguagem de programação
19
20. PADRÃO DE PROJETO: PAGE OBJECT
▫︎PageObject
▫︎Abstrai a interação dos testes com a interface da
aplicação (página web)
▫︎Cada página é representada por um objeto
▫︎Cada objeto tem métodos que representam as ações
que o usuário pode fazer na página
▫︎Os métodos acessam os atributos que mapeam os
elementos da página
20
32. REVISÃO
▫︎Use exemplos reais para construir um entendimento
compartilhado do domínio (feedback cedo)
▫︎Selecione esse conjunto de exemplos para ser a
especificação e a suite de testes de aceitação
▫︎Automatize a verificação desses testes de aceitação
(documentação viva da aplicação)
▫︎Use esses testes de aceitação para facilitar discussões
futuras sobre mudanças
▫︎Use boas práticas do uso de ferramentas de automação
e padrões de projeto que diminuem o custo de
manutenção dos testes
32
33. REFERÊNCIAS
▫︎Bridging the Communication Gap: Specification by
Example and Agile Acceptance Testing, por Gojko Adzic
▫︎The Cucumber Book: Behaviour-Driven Development for
Testers and Developers, por Matt Wynne and Aslak
Hellesøy
▫︎3 noções básicas essenciais para a criação de uma suíte
de automação para aplicativos web, por Taise Dias da
Silva
33