Testes أپgeis com BDD CHELIMSKY, D at al., 2010 - The RSpec Book: Behavior Driven Development with Rspec,Cucumber,

  • View
    0

  • Download
    0

Embed Size (px)

Text of Testes أپgeis com BDD CHELIMSKY, D at al., 2010 - The RSpec Book: Behavior Driven Development with...

  • Testes Ágeis com BDD Por que o BDD pode salvar o

    agile?

    Paloma Costa paloma.costa@gmail.com

  • 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ências ADZIC, 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]

    https://www.infoq.com/br/news/2015/07/bdd-save-agile https://www.infoq.com/news/2015/07/six-bdd-improvements

  • Thanks!

    paloma.costa@gmail.com