Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Agenda● Sobre a Palestrante● Introdução● Entender o Comportamento● O que é BDD?● O que Cucumber?● Testes Orientados por Comportamento● Documentação Automática● Ciclo de Desenvolvimento BDD● BDD com Métodos Ágeis● Papéis e Responsabilidades● Implantação BDD - Passo a Passo● Benefícios● Conclusão
Sobre a Palestrante
● Especialista em Qualidade de Software e Informática na Educação● Certificação CTFL e CTFL-AT
● Formada em Ciências da Computação● Usuária GNU/Linux desde 2001- Debian
● Trabalha como Consultora de Software na e-core SP• Uma das fundadoras do GT - Feminino Livre (2008)
• Foi Integrante da Coordenação de Software Livre RS e Coordenadora dos Grupos de Usuários de 2003 a 2010
Nova Era● Testar manualmente tem sido o mais comum, mantendo muitos
testadores na zona de conforto; ● Devemos quebrar esse paradigma e fazer com que a programação facilite
nosso trabalho e faça com que testes manuais exerçam nossa criatividade, senso critico, detalhismo e nossa inteligência, deixando para que a máquina faça o trabalho repetitivo.
● Bem vindos à nova era do Software Quality Assurance.
Entender o Comportamento● Cresce a importância QA em envolver - se mais com o negócio;● Entender melhor as Histórias, novas funcionalidades e etc;● Despertar na equipe do projeto a integração de esforços entre a
qualidade e o desenvolvimento. ● Sendo assim, evita-se o retrabalho e defeitos, baseado no
comportamento do requisito (CRISPIN, 2009).
O que é BDD?Behavior-driven development (BDD) é um processo de desenvolvimento de software que emergiu do test-driven development (desenvolvimento orientado a testes - TDD).
● BDD combina técnicas e os princípios gerais do TDD com idéias vindas do DDD, para oferecer equipes de desenvolvimento e gerenciamento de software, com ferramentas em comum e um processo compartilhado para colaborar no desenvolvimento de software.
O que é Cucumber?Cucumber é uma ferramenta que implementa BDD e
pode executar documentação de funcionalidades escrito em texto puro.
● Cucumber executa testes em cima das especificações.
● Na verdade é BDD + algumas convenções + a mágica do Ruby.
● Seguindo a filosofia do BDD, você deve escrever as especificações antes de
implementar qualquer código. Você modela seu código a partir do
comportamento esperado da aplicação.
Teste Orientado por Comportamento
Documentação Automática● Seguindo a filosofia BDD, podemos escrever as especifiações antes de
implementar qualquer código.
● A modelagem do código é a partir do comportamento esperado das especificações a serem salvas em um arquivo de extensão feature.
● Estrutura Cucumber de texto puro especificado na documentação automatizada.
Ciclo de Desenvolvimento BDD
BDD com Métodos Ágeis
Stand Up!
Kanban
➔ Kanban é uma metodologia de gestão de trabalho, onde procura-se priorizar tarefas e organizar a fluxo de trabalho de uma forma mais produtiva.
Fonte: https://proposeful.com/pt/blog/sistema-kanban-online-melhor-software-2015/
Papéis e Responsabilidades
Passo a Passo de Implementação BDD● Preparando o Ambiente● Arquivos de Configuração● Implementação● Execução
Preparando o Ambiente
Arquivo de Configuração
Implementação - Definindo os passos
Feature Implementada em Ruby
Cenário Executado
Benefícios BDD● Agregam valor para o cliente antes da existência do código-fonte, ou seja,
evitam defeitos baseados em comportamento e geram um conjunto de testes de regressão baseado nesses comportamentos (NORTH, 2015).
● Permite focar nos requisitos, para que as mudanças sejam eficientes requerendo alto nível de entendimento dos requisitos do negócio e contribuindo com uma documentação colaborativa (SMART, 2013).
Conclusão● Podemos pensar em BDD como um termo âncora, no qual o centro é a
comunicação, colaboração e detalhamento de cenários juntamente
com sua automação.
● Concluindo, BDD em uma ideia principal:
Utilização de exemplos em conversas, para ilustrar o comportamento.
ReferênciasADZIC, 2011 - Specification by Example: How Successful Teams Deliver the Right Software.
CHELIMSKY, D at al., 2010 - The RSpec Book: Behavior Driven Development with Rspec,Cucumber, and Friends.
SMART, 2013 - BDD in Action: Behavior-driven development for the whole software lifecycle.
NORTH, D. 2015 - Faster organizations, faster software.
WYNNE, M; HELLESOY, A. - The Cucumber Book: Behaviour- Driven Development for Testers and Developers.
Infoq, 2015 - [https://www.infoq.com/br/news/2015/07/bdd-save-agile] [ https://www.infoq.com/news/2015/07/six-bdd-improvements]
Thanks!