Testes Ágeis com BDD. Por que o BDD pode salvar o agile? Paloma Costa

Documentos relacionados
BEHAVIOR DRIVEN DEVELOPMENT BRUNO ROLIM MANSUR

Visão prática do BDD (Behavior Driven Design) para agilizar o processo de desenvolvimento

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

O papel do QA (Testador) em um time Ágil. #caipiraagil2017

EMPRESA DE AGRONEGÓCIOS TEM AUMENTO EM SEUS RESULTADOS E NA COLABORAÇÃO DOS TIMES 2016

Programação Orientada a Objetos

BDD e eu com isso? Glaucimar Aguiar. Outubro, 2016

ENTENDENDO E APLICANDO ESPECIFICAÇÃO POR EXEMPLOS LUIZA NUNES & PEDRO SILVA AGILE BRASIL - NOVEMBRO 2016

Especialização em Arquitetura e Engenharia de Software

Behavior-Driven Development. Professor: Régis Patrick Silva Simão

Tendências de Teste de Software para #gutsrs

ENGENHARIA DE SOFTWARE. Aula 12 Testes de software

O impacto de práticas de teste na velocidade de DevOps. Renato Quedas VP Solutions Marketing

Teste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo

Teste de software. Engenharia de software Profª karine sato da silva

ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE. Resp:Marcelo Nascimento Costa, MSc

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Behaviour-Driven Development BDD. Cristian Mathias Felipe Foliatti

Padrões de Testes Automatizados. Exame de Defesa de Mestrado Paulo Cheque Bernardo Orientador: Fabio Kon DCC IME/USP 4 de julho de 2011

7ª Conferência da Qualidade de Software e Serviços

- 8ª Lista de Exercícios -

Estágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana

TEST DRIVEN DEVELOPMENT. Prof. Bruno Henrique Pachulski

Processos Ágeis de Desenvolvimento de Software

Informática I. Aula Aula 21-29/11/06 1

Requisitos testáveis com behaviour-driven development

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 19

testes de software & tdd

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

Desenvolvimento Ágil de Software

Halison Miguel Edvan Pontes

Desconstruindo Monolitos. Como construir micro serviços Delphi com agilidade e qualidade

Desenvolvimento de Software de Qualidade através de Testes Automatizados

Engenharia de Software

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

Métodos Ágeis e o SCRUM. Bruno Henrique Oliveira

Jogos de Tabuleiro para Times Ágeis: o exemplo do BDD Warriors. Ana Carolina Hermann

Teste de Software. Roberta Coelho

métodos ágeis e saas engenharia de sistemas de informação Daniel Cordeiro 11 de agosto de 2017 Escola de Artes, Ciências e Humanidades EACH USP

Universidade Regional de Blumenau

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

Estratégias de Escrita de Testes Automatizados

LÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN 2016 LÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN

UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO CENTRO DE INFORMÁTICA

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

RUP/PSDS. Introdução e Comparação

Behavior Driven Development (BDD): Conceitos, ferramentas e estudo de caso

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

TS05. Teste de Software AUTOMATIZAÇÃO DE TESTES. COTI Informática Escola de Nerds

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Portfólio de Produtos e Serviços

Processo de desenvolvimento

Programação Extrema na Prática

JUnit. Facilitando o desenvolvimento e execução de testes unitários em código java. Peterson Rodrigues

Trilha Análise de Negócios A Transformação da Análise de Negócios frente às Mudanças de Metodologias Alexandre Xavier / Fernanda Matzenbacher

Ontologias: Definições e Tipos

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

nossa história (e porque você é parte dela)

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

ENGENHARIA DE SOFTWARE

Verificação e Validação

MODELAGEM DE UM SISTEMA DE INFORMAÇÃO APLICADO AO GERENCIAMENTO DO ACOMPANHAMENTO DE TRABALHOS DE CONCLUSÃO DE CURSO DO IFC-CAMPUS CAMBORIÚ

1. A principal razão de dividir o processo de teste em tarefas distintas é:

Sumário. Capítulo 3 Valores do XP Feedback Comunicação... 46

Capítulo 8 Teste de Software 1

Arquitetura Java Pastoreando gatos

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

As certificações no mercado de ECM

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades

AUTOMATIZAÇÃO DE TESTES DE INTERFACE EM LINGUAGEM ALTO NÍVEL MATEUS ADENIZ PEGORARO. Trabalho de Conclusão de Curso

Ebook: Escola de Testes

Trilha Gestão de Produtos

GLOSSÁRIO DE TERMOS DE TESTE

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Community. .com. Introdução ao T D

Modulo I Introdução ao XP

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Modernização de Legados

Rafael Augusto Pissardo. MJV Tecnologia & Inovação & Codus Tecnologia. Orientador: Jesús P. Mena-Chalco

PDS. Aula 1.7 Métodos Ágeis. Prof. Dr. Bruno Moreno

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Práticas Ágeis de Teste

UTILIZAÇÃO DA TÉCNICA DE DESENVOLVIMENTO ORIENTADO POR COMPORTAMENTO (BDD) NO LEVANTAMENTO DE REQUISITOS

Métodos ágeis no Brasil: estado da prática em times e organizações

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil)

Papel do PO Métodos Ágeis. Fonte: Adaptworks

Rational Unified Process (RUP)

Qual a Distribuição % típica do Esforço das Atividades de Teste?

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.

OPORTUNIDADES: Analista de Sistemas Sênior

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CAMPUS VIDEIRA

Faculdade de Tecnologia FATEC Centro Paula de Souza

Verificação e Validação (V & V)

Transcrição:

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]

Thanks! paloma.costa@gmail.com