SlideShare uma empresa Scribd logo
SpecFlow (Specification-By-Example)
Criando uma “ponte” entre analistas e os desenvolvedores
através de regras de negócios legíveis e de exemplos
SpecFlow é um framework inspirado no Cucumber , ou seja, podemos
descrever cenário reais de uso de forma estruturada. Também é
possível descrever nossos cenários em diversos idiomas.
 O SpecFlow é um Plug-In para o Visual Studio e um framework de execução de
Acceptance Teste Driver Development (ATDD)” Desenvolvimento Orientado a
Testes de Aceitação” e Behavior Driven Development (BDD) “Desenvolvimento
Guiado por Comportamento)”
 Ele pode ser integrado com Nunit, MSTest, xUnit.
 Não funciona sozinho, ele precisa de uma ferramenta que faça a interação com o
browser com o *Selenium
 SpecFlow tem por premissa criar uma “ponte” entre analistas e os
desenvolvedores através de regras de negócios legíveis e de exemplos.
 O objetivo é trabalhar de fora pra dentro, começando pela história.
 A missão do SpecFlow é fornecer uma abordagem sem atrito através da
especificação.
O que é SpecFlow?
O mais interessante de trabalhar com SpecFlow é a facilidade
que ele tem de chamar um cenário ou outro através de
frases, frases essas que são nada mais nada menos que os
próprios critérios de aceite de uma estória.
O que é SpecFlow?
ENTÃO...
 Por onde começar?
Outside-in (fora p/dentro)
 O que testar?
User Story (história do usuário)
 O que não testar?
O resto
O que é SpecFlow?
As empresas de desenvolvimento de software sofriam para aprovar com o cliente
quando um software ou mesmo uma funcionalidade estava completa e
principalmente se ela estava se comportando como deveria.
Nesse ponto a abordagem de User Stories implementa os critérios de aceite
(acceptance criteria ou acceptance testing) que é uma abordagem bem parecida
com o nosso teste tradicional usando test cases, ou seja, são escritos testes e
executados manualmente após a implementação de alguma feature.
Histórias de usuário
É aí onde serão definidos as nossas User Stories e o comportamento de nossa App.
Aí que está o poder do BDD: Descrever comportamentos em uma linguagem mais
alto nível e testar automaticamente para garantir que estamos desenvolvendo
corretamente.
Observe que isto possibilita ao desenvolvedor aumentar seu entendimento de
negócio da aplicação. Além de favorecer os testes de regressão feitos
posteriormente.
Histórias de usuário
Apesar das pessoas terem algum foco específico, porque estudaram mais uma
determinada área, todas elas são consideras desenvolvedores dentro de um time
Ágil, porque todos Desenvolvem Software, utilizando seu conhecimento.
Teste em par
Visão de Time ágil
Baseado no livro da Lisa Crispin – Agile Testing
Funcionalidade: <descrição da funcionalidade>
Como um <usuário/ator>
Eu quero <meta a ser alcançada>
De modo que <a razão para alcançar a meta>
Cenário: <descrição do teste>
Dado <um estado conhecido>
Quando <um determinado evento ocorre>
Então <isso deve ocorrer>
Estrutura do Specflow
 Funcionalidade: Formulário de Contato
 Eu como usuário
 Preciso contatar o prestador de serviço
 Para que seja necessário um possível retorno.
 Preenchimento do formulario corretamente
 que eu esteja no site jobmidia
 eu clicar no link contato e preencher o formulario
 o site ira informar a mensagem 'Sua mensagem foi
enviada com sucesso.'
Exemplo VISUAL STUDIO
Deu pra notar como isso pode facilitar os testes
funcionais em uma aplicação maior? É uma vantagem e
ganho de tempo enorme. Somando isso ao utilizar com
um servidor de integração contínua (TFS ou JENKINS),
sua aplicação está bem mais testável, além de mapear
pontos mais sensíveis a quebra do sistema.
DÚVIDAS
Obrigado!
Contatos:
franklin.araujo@doqconsulting.com.br
Facebook: @doqconsulting
Skype:faraujo52
Cod GitHub: https://github.com/nilknarf52/SpecFlow
Site SpecFlow : http://www.specflow.org/
BDD: http://pt.slideshare.net/CintiaArmesto/bdd-com-spec-flow
Lisa Crispin: http://lisacrispin.com/

Mais conteúdo relacionado

Mais procurados

eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)
Renato Pina
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
Leandro Rodrigues
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
Joeldson Costa Damasceno
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Rodrigo Branas
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
Rodrigo Cascarrolho
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
César Augusto Pessôa
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
thomasdacosta
 
Trabalho linux
Trabalho linuxTrabalho linux
Trabalho linux
David Pereira
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
elliando dias
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
Raphael Almeida
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
Elton Minetto
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
João Carlos Ottobboni
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
Marcos Pessoa
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Elias Nogueira
 
Engenharia de Software Ágil (Scrum e FDD)
Engenharia de Software Ágil (Scrum e FDD)Engenharia de Software Ágil (Scrum e FDD)
Engenharia de Software Ágil (Scrum e FDD)
Rildo (@rildosan) Santos
 
Introducao ao linux
Introducao ao linuxIntroducao ao linux
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
elliando dias
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
Otávio Calaça Xavier
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
elliando dias
 

Mais procurados (20)

eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Trabalho linux
Trabalho linuxTrabalho linux
Trabalho linux
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Arquitetura de microsserviços
Arquitetura  de  microsserviçosArquitetura  de  microsserviços
Arquitetura de microsserviços
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
Desenvolvimento Mobile
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
Engenharia de Software Ágil (Scrum e FDD)
Engenharia de Software Ágil (Scrum e FDD)Engenharia de Software Ágil (Scrum e FDD)
Engenharia de Software Ágil (Scrum e FDD)
 
Introducao ao linux
Introducao ao linuxIntroducao ao linux
Introducao ao linux
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
 
DevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega ContínuaDevOps: princípios e práticas para a Entrega Contínua
DevOps: princípios e práticas para a Entrega Contínua
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 

Destaque

Acceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycleAcceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycle
Giuseppe Torchia
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
Naresh Jain
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
Elisabeth Hendrickson
 
Specflow
SpecflowSpecflow
Specflow
Larry Nung
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
Kim Carter
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
Andrei Marukovich
 
Acceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And FriendsAcceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And Friends
Christopher Bartling
 
Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014
jaredrrichardson
 
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETNDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
jbandi
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
John Ferguson Smart Limited
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using Fitnesse
Facundo Farias
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The Iteration
Rally Software
 
SpecFlow and some things I've picked up
SpecFlow and some things I've picked upSpecFlow and some things I've picked up
SpecFlow and some things I've picked up
Marcus Hammarberg
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
Steven Mak
 
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Gáspár Nagy
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
Pekka Klärck
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Zohirul Alam Tiemoon
 
REST API testing with SpecFlow
REST API testing with SpecFlowREST API testing with SpecFlow
REST API testing with SpecFlow
Aiste Stikliute
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
Bruno Pedro
 

Destaque (20)

Acceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycleAcceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycle
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 
Specflow
SpecflowSpecflow
Specflow
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
 
Acceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And FriendsAcceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And Friends
 
Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014
 
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETNDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using Fitnesse
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The Iteration
 
SpecFlow and some things I've picked up
SpecFlow and some things I've picked upSpecFlow and some things I've picked up
SpecFlow and some things I've picked up
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
 
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
 
REST API testing with SpecFlow
REST API testing with SpecFlowREST API testing with SpecFlow
REST API testing with SpecFlow
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 

Semelhante a Specflow - Criando uma ponte entre desenvolvedores.

Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
Nécio de Lima Veras
 
Bdd com spec flow
Bdd com spec flowBdd com spec flow
Bdd com spec flow
Cintia Armesto
 
BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
Altamir Junior Dias
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
ejedelmal
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015
Renato Groff
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
Laís Berlatto
 
Julho 2016 - BDD com SpecFlow
Julho 2016 - BDD com SpecFlowJulho 2016 - BDD com SpecFlow
Julho 2016 - BDD com SpecFlow
Grupo de Testes Carioca
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
Qualister
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
Cleiton Felipe Moraes
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
Kamilla Queiroz Xavier
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Fábio Nogueira de Lucena
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Rodrigo Cândido da Silva
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo Iterativo
Fatec
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
gustavoferrazfontes
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
Alan Carlos
 
Workshop Agilizando Projetos com SCRUM
Workshop Agilizando Projetos com SCRUMWorkshop Agilizando Projetos com SCRUM
Workshop Agilizando Projetos com SCRUM
Elumini Outdoing IT
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
Karla Silva
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
Larissa Soares
 
FDD
FDDFDD
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
Concurseiro Área de TI
 

Semelhante a Specflow - Criando uma ponte entre desenvolvedores. (20)

Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
 
Bdd com spec flow
Bdd com spec flowBdd com spec flow
Bdd com spec flow
 
BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015
 
Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Julho 2016 - BDD com SpecFlow
Julho 2016 - BDD com SpecFlowJulho 2016 - BDD com SpecFlow
Julho 2016 - BDD com SpecFlow
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)Especificação por meio de exemplos (BDD, testes de aceitação, ...)
Especificação por meio de exemplos (BDD, testes de aceitação, ...)
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo Iterativo
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Workshop Agilizando Projetos com SCRUM
Workshop Agilizando Projetos com SCRUMWorkshop Agilizando Projetos com SCRUM
Workshop Agilizando Projetos com SCRUM
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018[Karla e Larissa] Agile Brazil 2018
[Karla e Larissa] Agile Brazil 2018
 
FDD
FDDFDD
FDD
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (8)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

Specflow - Criando uma ponte entre desenvolvedores.

  • 1. SpecFlow (Specification-By-Example) Criando uma “ponte” entre analistas e os desenvolvedores através de regras de negócios legíveis e de exemplos
  • 2. SpecFlow é um framework inspirado no Cucumber , ou seja, podemos descrever cenário reais de uso de forma estruturada. Também é possível descrever nossos cenários em diversos idiomas.
  • 3.  O SpecFlow é um Plug-In para o Visual Studio e um framework de execução de Acceptance Teste Driver Development (ATDD)” Desenvolvimento Orientado a Testes de Aceitação” e Behavior Driven Development (BDD) “Desenvolvimento Guiado por Comportamento)”  Ele pode ser integrado com Nunit, MSTest, xUnit.  Não funciona sozinho, ele precisa de uma ferramenta que faça a interação com o browser com o *Selenium
  • 4.  SpecFlow tem por premissa criar uma “ponte” entre analistas e os desenvolvedores através de regras de negócios legíveis e de exemplos.  O objetivo é trabalhar de fora pra dentro, começando pela história.  A missão do SpecFlow é fornecer uma abordagem sem atrito através da especificação. O que é SpecFlow?
  • 5. O mais interessante de trabalhar com SpecFlow é a facilidade que ele tem de chamar um cenário ou outro através de frases, frases essas que são nada mais nada menos que os próprios critérios de aceite de uma estória. O que é SpecFlow?
  • 6. ENTÃO...  Por onde começar? Outside-in (fora p/dentro)  O que testar? User Story (história do usuário)  O que não testar? O resto O que é SpecFlow?
  • 7. As empresas de desenvolvimento de software sofriam para aprovar com o cliente quando um software ou mesmo uma funcionalidade estava completa e principalmente se ela estava se comportando como deveria. Nesse ponto a abordagem de User Stories implementa os critérios de aceite (acceptance criteria ou acceptance testing) que é uma abordagem bem parecida com o nosso teste tradicional usando test cases, ou seja, são escritos testes e executados manualmente após a implementação de alguma feature. Histórias de usuário
  • 8. É aí onde serão definidos as nossas User Stories e o comportamento de nossa App. Aí que está o poder do BDD: Descrever comportamentos em uma linguagem mais alto nível e testar automaticamente para garantir que estamos desenvolvendo corretamente. Observe que isto possibilita ao desenvolvedor aumentar seu entendimento de negócio da aplicação. Além de favorecer os testes de regressão feitos posteriormente. Histórias de usuário
  • 9. Apesar das pessoas terem algum foco específico, porque estudaram mais uma determinada área, todas elas são consideras desenvolvedores dentro de um time Ágil, porque todos Desenvolvem Software, utilizando seu conhecimento. Teste em par Visão de Time ágil Baseado no livro da Lisa Crispin – Agile Testing
  • 10. Funcionalidade: <descrição da funcionalidade> Como um <usuário/ator> Eu quero <meta a ser alcançada> De modo que <a razão para alcançar a meta> Cenário: <descrição do teste> Dado <um estado conhecido> Quando <um determinado evento ocorre> Então <isso deve ocorrer> Estrutura do Specflow  Funcionalidade: Formulário de Contato  Eu como usuário  Preciso contatar o prestador de serviço  Para que seja necessário um possível retorno.  Preenchimento do formulario corretamente  que eu esteja no site jobmidia  eu clicar no link contato e preencher o formulario  o site ira informar a mensagem 'Sua mensagem foi enviada com sucesso.'
  • 12. Deu pra notar como isso pode facilitar os testes funcionais em uma aplicação maior? É uma vantagem e ganho de tempo enorme. Somando isso ao utilizar com um servidor de integração contínua (TFS ou JENKINS), sua aplicação está bem mais testável, além de mapear pontos mais sensíveis a quebra do sistema.
  • 14. Obrigado! Contatos: franklin.araujo@doqconsulting.com.br Facebook: @doqconsulting Skype:faraujo52 Cod GitHub: https://github.com/nilknarf52/SpecFlow Site SpecFlow : http://www.specflow.org/ BDD: http://pt.slideshare.net/CintiaArmesto/bdd-com-spec-flow Lisa Crispin: http://lisacrispin.com/