BDD with Cucumber

Knoldus Inc.
Knoldus Inc.CTO & Co-Founder at Knoldus Software em Knoldus Inc.
BDD with Cucumber
By :-
Gaurav Shukla
Test Engineer
Knoldus Software LLP
By :-
Gaurav Shukla
Test Engineer
Knoldus Software LLP
Agenda
● Behavior Driven Development
● 3 Amigos
● What is cucumber
● Feature file
● What is gherkins
● Cucumber installation
● Framework Integration
● Cucumber reports
What is Behavior-Driven Development
● Behavior Driven development is the process of exploring, discovering,
defining and driving the desired behavior of software system by using
conversation, concrete examples and automated tests.
– Using conversation and concrete examples to explore, discover and illustrate a
shared understanding of the problem we need to solve for the stakeholders Then
we refine those examples in automated tests, to describe the desired behavior of
our solution to drive the development of the system.
3 Amigos
What is Cucumber
● Cucumber is a most widely open source tool for executable
specifications.
● A single source of truth, merges specification and test
documentation into one cohesive whole.
● Living documentation, All the specifications always up to date
with cucumber automated acceptance tests.
● Product owner and IT don't always understand each other, so
cucumber automated specification help to keep business
value in mind all the time and encourage teams for closer
collaboration with shared understanding of the system.
● Cucumber automated tests protect the teams from costly
regressions.
● Cucumber is a way of taking features, which is the combination
of scenarios written in plain English language using a simple
grammar defined by a language called gherkins.
● Cucumber itself written in Ruby but supports other languages as
well like java, scala, C# and many more.
● This feature is share with all the amigos involve in development,
developers, tester, business analyst, product owner.
● Glue code : glue code works as a bridge between ubiquitous
language into your application that you want to develop, it
translate English in your code.
– The feature is made up with scenarios and steps, and each steps
essentially map to the step definition.
– These step could be written in your language of your choice.
Feature file
● What is Gherkins
– Gherkins is the language that cucumber understands, it is a bussiness
Readable, domain specific language that lets you describe software
behavior with out detailing its implementation.
– Gherkins serves two purposes- Documentation and automated testes.
– Gherkin’s grammar is defined in the Treetop grammar that is part of the
Cucumber codebase.
– It exist in different flavors for many spoken language. (60+)
– Single Gherkin source file contains a description of a single feature.
– Source files have .feature extension.
● Gherkins source File format
Cucumber Installation
● Add following library dependencies in build.sbt,
"org.scalatest" %% "scalatest" % "3.0.0",
"info.cukes" % "cucumber-core" % "1.2.4",
"info.cukes" % "cucumber-junit" % "1.2.4",
"info.cukes" %% "cucumber-scala" % "1.2.4",
"info.cukes" % "cucumber-jvm" % "1.2.4",
● Enable cucumber plugin by adding in plugins.sbt
addSbtPlugin("com.waioeka.sbt" % "cucumber-plugin" % "0.1.0")
Framework Integration
● Cucumber works with various frameworks available in the
market.
– Selenium (Web browser automation)
– Ruby On Rails (Web application framework)
– Spring (Application framework for java platform )
– Watir (Web application testing in Ruby)
– Serenity (An open source library for automated acceptance tests.)
● Cucumber Reports
– Cucumber can report results in several different formats, using
formatter plugins. The available formatters plugins are:
● Pretty : prints the gerkin source with additional colours and stack traces for
errors
● HTML: Generates a HTML file, suitable for publishing.
● JSON : Generates a JSON file, suitable for post-processing to generate
custom reports.
● Junit : Generates XML files just like Apache Ant’s junitreport task. This XML
format is understood by most Continuous Integration servers, who will use
it to generate visual reports.
Reference
● https://github.com/cucumber/cucumber/wiki/Gherkin
● https://cucumber.io/
● http://toolsqa.com/cucumber/cucumber-options/
● https://www.youtube.com/watch?v=MCaXumfckmQ&t=1791s
Thank You
1 de 15

Recomendados

BDD WITH CUCUMBER AND JAVA por
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVASrinivas Katakam
2.1K visualizações10 slides
Introduction to Bdd and cucumber por
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
3K visualizações26 slides
Automation test framework with cucumber – BDD por
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD123abcda
1.1K visualizações17 slides
Cucumber BDD por
Cucumber BDDCucumber BDD
Cucumber BDDPravin Dsilva
2.6K visualizações30 slides
Test Automation Framework with BDD and Cucumber por
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberRhoynar Software Consulting
4.4K visualizações21 slides
Cucumber ppt por
Cucumber pptCucumber ppt
Cucumber pptQwinix Technologies
18K visualizações17 slides

Mais conteúdo relacionado

Mais procurados

Cucumber presenation por
Cucumber presenationCucumber presenation
Cucumber presenationOussama BEN WAFI
3.2K visualizações20 slides
BDD testing with cucumber por
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumberDaniel Kummer
10.1K visualizações11 slides
Gherkin /BDD intro por
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD introRyan Thomas Hewitt★CSM★CSPO★ITIL
4K visualizações26 slides
Test Automation Framework using Cucumber BDD overview (part 1) por
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Mindfire Solutions
2.4K visualizações14 slides
Introduction to BDD with Cucumber for Java por
Introduction to BDD with Cucumber for JavaIntroduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for JavaSeb Rose
9K visualizações49 slides
Cucumber presentation por
Cucumber presentationCucumber presentation
Cucumber presentationAkhila B
415 visualizações34 slides

Mais procurados(20)

Cucumber presenation por Oussama BEN WAFI
Cucumber presenationCucumber presenation
Cucumber presenation
Oussama BEN WAFI3.2K visualizações
BDD testing with cucumber por Daniel Kummer
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
Daniel Kummer10.1K visualizações
Test Automation Framework using Cucumber BDD overview (part 1) por Mindfire Solutions
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
Mindfire Solutions2.4K visualizações
Introduction to BDD with Cucumber for Java por Seb Rose
Introduction to BDD with Cucumber for JavaIntroduction to BDD with Cucumber for Java
Introduction to BDD with Cucumber for Java
Seb Rose9K visualizações
Cucumber presentation por Akhila B
Cucumber presentationCucumber presentation
Cucumber presentation
Akhila B415 visualizações
BDD & Cucumber por Vladimir Arutin
BDD & CucumberBDD & Cucumber
BDD & Cucumber
Vladimir Arutin376 visualizações
Bdd – with cucumber and gherkin por Arati Joshi
Bdd – with cucumber and gherkinBdd – with cucumber and gherkin
Bdd – with cucumber and gherkin
Arati Joshi2.8K visualizações
Cucumber & gherkin language por selvanathankapilan
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
selvanathankapilan3.9K visualizações
An introduction to Behavior-Driven Development (BDD) por Suman Guha
An introduction to Behavior-Driven Development (BDD)An introduction to Behavior-Driven Development (BDD)
An introduction to Behavior-Driven Development (BDD)
Suman Guha7.5K visualizações
Test and Behaviour Driven Development (TDD/BDD) por Lars Thorup
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
Lars Thorup16K visualizações
Automated Test Framework with Cucumber por Ramesh Krishnan Ganesan
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
Ramesh Krishnan Ganesan6.1K visualizações
Bdd Introduction por Skills Matter
Bdd IntroductionBdd Introduction
Bdd Introduction
Skills Matter9.7K visualizações
Webdriver io presentation por João Nabais
Webdriver io presentationWebdriver io presentation
Webdriver io presentation
João Nabais1.8K visualizações
Introduction to BDD por Knoldus Inc.
Introduction to BDDIntroduction to BDD
Introduction to BDD
Knoldus Inc.2.7K visualizações
Behavior driven development (bdd) por Rohit Bisht
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
Rohit Bisht394 visualizações
Test automation por Xavier Yin
Test automationTest automation
Test automation
Xavier Yin1.4K visualizações
Jenkins por Roger Xia
JenkinsJenkins
Jenkins
Roger Xia3.9K visualizações
Test Automation and Selenium por Karapet Sarkisyan
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
Karapet Sarkisyan2.4K visualizações

Destaque

Walk-through: Amazon ECS por
Walk-through: Amazon ECSWalk-through: Amazon ECS
Walk-through: Amazon ECSKnoldus Inc.
3.2K visualizações10 slides
Introduction to AWS IAM por
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAMKnoldus Inc.
4.7K visualizações27 slides
Event sourcing with Eventuate por
Event sourcing with EventuateEvent sourcing with Eventuate
Event sourcing with EventuateKnoldus Inc.
2.8K visualizações12 slides
Introduction to Quasiquotes por
Introduction to QuasiquotesIntroduction to Quasiquotes
Introduction to QuasiquotesKnoldus Inc.
2.5K visualizações23 slides
Introduction to Structured Streaming por
Introduction to Structured StreamingIntroduction to Structured Streaming
Introduction to Structured StreamingKnoldus Inc.
6.8K visualizações23 slides
Akka Finite State Machine por
Akka Finite State MachineAkka Finite State Machine
Akka Finite State MachineKnoldus Inc.
2.3K visualizações15 slides

Destaque(20)

Walk-through: Amazon ECS por Knoldus Inc.
Walk-through: Amazon ECSWalk-through: Amazon ECS
Walk-through: Amazon ECS
Knoldus Inc.3.2K visualizações
Introduction to AWS IAM por Knoldus Inc.
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
Knoldus Inc.4.7K visualizações
Event sourcing with Eventuate por Knoldus Inc.
Event sourcing with EventuateEvent sourcing with Eventuate
Event sourcing with Eventuate
Knoldus Inc.2.8K visualizações
Introduction to Quasiquotes por Knoldus Inc.
Introduction to QuasiquotesIntroduction to Quasiquotes
Introduction to Quasiquotes
Knoldus Inc.2.5K visualizações
Introduction to Structured Streaming por Knoldus Inc.
Introduction to Structured StreamingIntroduction to Structured Streaming
Introduction to Structured Streaming
Knoldus Inc.6.8K visualizações
Akka Finite State Machine por Knoldus Inc.
Akka Finite State MachineAkka Finite State Machine
Akka Finite State Machine
Knoldus Inc.2.3K visualizações
Shapeless- Generic programming for Scala por Knoldus Inc.
Shapeless- Generic programming for ScalaShapeless- Generic programming for Scala
Shapeless- Generic programming for Scala
Knoldus Inc.3.1K visualizações
Internals por Sandeep Purohit
InternalsInternals
Internals
Sandeep Purohit2.2K visualizações
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan... por Lightbend
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Lightbend4.8K visualizações
Introduction to Scala Macros por Knoldus Inc.
Introduction to Scala MacrosIntroduction to Scala Macros
Introduction to Scala Macros
Knoldus Inc.2.3K visualizações
Introduction to ScalaZ por Knoldus Inc.
Introduction to ScalaZIntroduction to ScalaZ
Introduction to ScalaZ
Knoldus Inc.1.9K visualizações
Effective way to code in Scala por Knoldus Inc.
Effective way to code in ScalaEffective way to code in Scala
Effective way to code in Scala
Knoldus Inc.2.9K visualizações
Cassandra - Tips And Techniques por Knoldus Inc.
Cassandra - Tips And TechniquesCassandra - Tips And Techniques
Cassandra - Tips And Techniques
Knoldus Inc.2.2K visualizações
Introduction to Apache Kafka- Part 2 por Knoldus Inc.
Introduction to Apache Kafka- Part 2Introduction to Apache Kafka- Part 2
Introduction to Apache Kafka- Part 2
Knoldus Inc.2.9K visualizações
Introduction to Apache Kafka- Part 1 por Knoldus Inc.
Introduction to Apache Kafka- Part 1Introduction to Apache Kafka- Part 1
Introduction to Apache Kafka- Part 1
Knoldus Inc.4.1K visualizações
Behavior Driven Development with Cucumber por Brandon Keepers
Behavior Driven Development with CucumberBehavior Driven Development with Cucumber
Behavior Driven Development with Cucumber
Brandon Keepers28.4K visualizações
Cucumber And Bdd por joshcrews
Cucumber And BddCucumber And Bdd
Cucumber And Bdd
joshcrews1.5K visualizações
Http programming in play por Knoldus Inc.
Http programming in playHttp programming in play
Http programming in play
Knoldus Inc.4.2K visualizações
Functions In Scala por Knoldus Inc.
Functions In Scala Functions In Scala
Functions In Scala
Knoldus Inc.2.2K visualizações

Similar a BDD with Cucumber

Code, ci, infrastructure - the gophers way por
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayAlex Baitov
535 visualizações65 slides
5 Best Automation Testing Tools to Speed up Testing.pdf por
5 Best Automation Testing Tools to Speed up Testing.pdf5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdfSerena Gray
27 visualizações1 slide
Devops por
DevopsDevops
DevopsJyothirmaiG4
91 visualizações31 slides
Jenkins.pdf por
Jenkins.pdfJenkins.pdf
Jenkins.pdf326KUBAVATHARSHALBHA
109 visualizações17 slides
Go programming language por
Go programming languageGo programming language
Go programming languageGoWitek Consulting Pvt.Ltd
28 visualizações11 slides
Continuous integration and delivery for java based web applications por
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
1.3K visualizações39 slides

Similar a BDD with Cucumber(20)

Code, ci, infrastructure - the gophers way por Alex Baitov
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
Alex Baitov535 visualizações
5 Best Automation Testing Tools to Speed up Testing.pdf por Serena Gray
5 Best Automation Testing Tools to Speed up Testing.pdf5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf
Serena Gray27 visualizações
Devops por JyothirmaiG4
DevopsDevops
Devops
JyothirmaiG491 visualizações
Continuous integration and delivery for java based web applications por Sunil Dalal
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
Sunil Dalal1.3K visualizações
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ... por Alexandr Savchenko
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
PHPFrameworkDay 2020 - Different software evolutions from Start till Release ...
Alexandr Savchenko60 visualizações
"Different software evolutions from Start till Release in PHP product" Oleksa... por Fwdays
"Different software evolutions from Start till Release in PHP product" Oleksa..."Different software evolutions from Start till Release in PHP product" Oleksa...
"Different software evolutions from Start till Release in PHP product" Oleksa...
Fwdays823 visualizações
Introduction to go lang por Amal Mohan N
Introduction to go langIntroduction to go lang
Introduction to go lang
Amal Mohan N552 visualizações
The Ring programming language version 1.6 book - Part 6 of 189 por Mahmoud Samir Fayed
The Ring programming language version 1.6 book - Part 6 of 189The Ring programming language version 1.6 book - Part 6 of 189
The Ring programming language version 1.6 book - Part 6 of 189
Mahmoud Samir Fayed22 visualizações
Java Code Quality Tools por Anju ML
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
Anju ML526 visualizações
Calabash Mobile App Automated Testing Framework por Emil Cordun
Calabash Mobile App Automated Testing FrameworkCalabash Mobile App Automated Testing Framework
Calabash Mobile App Automated Testing Framework
Emil Cordun398 visualizações
Calabash Mobile Application Testing Overview por Emil Cordun
Calabash Mobile Application Testing OverviewCalabash Mobile Application Testing Overview
Calabash Mobile Application Testing Overview
Emil Cordun281 visualizações
Top 10 Best DevOps tools in 2020 por prafulIQBusiness
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
prafulIQBusiness55 visualizações
Behavior driven development por Extremia
Behavior driven developmentBehavior driven development
Behavior driven development
Extremia296 visualizações
#ATAGTR2020 Presentation - Universal Test Automation Framework por Agile Testing Alliance
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework
Agile Testing Alliance61 visualizações
Cucumber in Practice(en) por Kyosuke MOROHASHI
Cucumber in Practice(en)Cucumber in Practice(en)
Cucumber in Practice(en)
Kyosuke MOROHASHI1.6K visualizações
KrishnaToolComparisionPPT.pdf por QA or the Highway
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
QA or the Highway13 visualizações
Cucumber tutorial por HarikaReddy115
Cucumber tutorialCucumber tutorial
Cucumber tutorial
HarikaReddy11564 visualizações
Vinayak_Sdet_DevOps_Bigdata_5_years por Vinayaka V Ladwa
Vinayak_Sdet_DevOps_Bigdata_5_yearsVinayak_Sdet_DevOps_Bigdata_5_years
Vinayak_Sdet_DevOps_Bigdata_5_years
Vinayaka V Ladwa91 visualizações

Mais de Knoldus Inc.

Graylog por
GraylogGraylog
GraylogKnoldus Inc.
98 visualizações13 slides
Getting Started with Delta Lake on Databricks por
Getting Started with Delta Lake on DatabricksGetting Started with Delta Lake on Databricks
Getting Started with Delta Lake on DatabricksKnoldus Inc.
278 visualizações15 slides
Design Thinking in Project Management por
Design Thinking in Project ManagementDesign Thinking in Project Management
Design Thinking in Project ManagementKnoldus Inc.
48 visualizações12 slides
SpringBoot 3 Observability por
SpringBoot 3 ObservabilitySpringBoot 3 Observability
SpringBoot 3 ObservabilityKnoldus Inc.
218 visualizações10 slides
Cypress Best Pratices for Test Automation por
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationKnoldus Inc.
46 visualizações22 slides
Business Process Automation A Productivity Lever por
Business Process Automation A Productivity LeverBusiness Process Automation A Productivity Lever
Business Process Automation A Productivity LeverKnoldus Inc.
113 visualizações17 slides

Mais de Knoldus Inc.(20)

Graylog por Knoldus Inc.
GraylogGraylog
Graylog
Knoldus Inc.98 visualizações
Getting Started with Delta Lake on Databricks por Knoldus Inc.
Getting Started with Delta Lake on DatabricksGetting Started with Delta Lake on Databricks
Getting Started with Delta Lake on Databricks
Knoldus Inc.278 visualizações
Design Thinking in Project Management por Knoldus Inc.
Design Thinking in Project ManagementDesign Thinking in Project Management
Design Thinking in Project Management
Knoldus Inc.48 visualizações
SpringBoot 3 Observability por Knoldus Inc.
SpringBoot 3 ObservabilitySpringBoot 3 Observability
SpringBoot 3 Observability
Knoldus Inc.218 visualizações
Cypress Best Pratices for Test Automation por Knoldus Inc.
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test Automation
Knoldus Inc.46 visualizações
Business Process Automation A Productivity Lever por Knoldus Inc.
Business Process Automation A Productivity LeverBusiness Process Automation A Productivity Lever
Business Process Automation A Productivity Lever
Knoldus Inc.113 visualizações
Resilience4j with Spring Boot por Knoldus Inc.
Resilience4j with Spring BootResilience4j with Spring Boot
Resilience4j with Spring Boot
Knoldus Inc.159 visualizações
KnolX-K9S por Knoldus Inc.
KnolX-K9SKnolX-K9S
KnolX-K9S
Knoldus Inc.13 visualizações
Dig Deeper With http4s por Knoldus Inc.
Dig Deeper With http4sDig Deeper With http4s
Dig Deeper With http4s
Knoldus Inc.20 visualizações
Ansible Tower por Knoldus Inc.
Ansible TowerAnsible Tower
Ansible Tower
Knoldus Inc.192 visualizações
Scaled Agile Framework por Knoldus Inc.
Scaled Agile FrameworkScaled Agile Framework
Scaled Agile Framework
Knoldus Inc.218 visualizações
Twitter Finagle por Knoldus Inc.
Twitter FinagleTwitter Finagle
Twitter Finagle
Knoldus Inc.40 visualizações
Why Should we use Microsoft's Playwright por Knoldus Inc.
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
Knoldus Inc.788 visualizações
Navigation and Routing in Ionic Apps por Knoldus Inc.
Navigation and Routing in Ionic AppsNavigation and Routing in Ionic Apps
Navigation and Routing in Ionic Apps
Knoldus Inc.95 visualizações
Methods of Optimization in Machine Learning por Knoldus Inc.
Methods of Optimization in Machine LearningMethods of Optimization in Machine Learning
Methods of Optimization in Machine Learning
Knoldus Inc.365 visualizações
Vertex AI Presentation por Knoldus Inc.
Vertex AI PresentationVertex AI Presentation
Vertex AI Presentation
Knoldus Inc.124 visualizações
Reactive Programming por Knoldus Inc.
Reactive ProgrammingReactive Programming
Reactive Programming
Knoldus Inc.31 visualizações
KnolX AWS Tech. Stack por Knoldus Inc.
KnolX AWS Tech. StackKnolX AWS Tech. Stack
KnolX AWS Tech. Stack
Knoldus Inc.90 visualizações
Introduction to Amazon Kinesis Data Streams por Knoldus Inc.
Introduction to Amazon Kinesis Data StreamsIntroduction to Amazon Kinesis Data Streams
Introduction to Amazon Kinesis Data Streams
Knoldus Inc.24 visualizações
Getting started with FP IO por Knoldus Inc.
Getting started with FP IOGetting started with FP IO
Getting started with FP IO
Knoldus Inc.12 visualizações

Último

SAP FOR CONTRACT MANUFACTURING.pdf por
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdfVirendra Rai, PMP
11 visualizações2 slides
The Era of Large Language Models.pptx por
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptxAbdulVahedShaik
5 visualizações9 slides
Software testing company in India.pptx por
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptxSakshiPatel82
7 visualizações9 slides
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... por
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...Deltares
10 visualizações32 slides
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... por
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
14 visualizações23 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
38 visualizações62 slides

Último(20)

SAP FOR CONTRACT MANUFACTURING.pdf por Virendra Rai, PMP
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdf
Virendra Rai, PMP11 visualizações
The Era of Large Language Models.pptx por AbdulVahedShaik
The Era of Large Language Models.pptxThe Era of Large Language Models.pptx
The Era of Large Language Models.pptx
AbdulVahedShaik5 visualizações
Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 visualizações
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... por Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares10 visualizações
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... por Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares14 visualizações
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 visualizações
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... por TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin95 visualizações
DevsRank por devsrank786
DevsRankDevsRank
DevsRank
devsrank78611 visualizações
WebAssembly por Jens Siebert
WebAssemblyWebAssembly
WebAssembly
Jens Siebert37 visualizações
HarshithAkkapelli_Presentation.pdf por harshithakkapelli
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdf
harshithakkapelli11 visualizações
FIMA 2023 Neo4j & FS - Entity Resolution.pptx por Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j6 visualizações
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... por Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver6 visualizações
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs por Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 visualizações
SAP FOR TYRE INDUSTRY.pdf por Virendra Rai, PMP
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdf
Virendra Rai, PMP24 visualizações
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports por Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Ra'Fat Al-Msie'deen5 visualizações
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action por Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 visualizações
SUGCON ANZ Presentation V2.1 Final.pptx por Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 visualizações
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx por animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 visualizações
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... por Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 visualizações

BDD with Cucumber

  • 1. BDD with Cucumber By :- Gaurav Shukla Test Engineer Knoldus Software LLP By :- Gaurav Shukla Test Engineer Knoldus Software LLP
  • 2. Agenda ● Behavior Driven Development ● 3 Amigos ● What is cucumber ● Feature file ● What is gherkins ● Cucumber installation ● Framework Integration ● Cucumber reports
  • 3. What is Behavior-Driven Development ● Behavior Driven development is the process of exploring, discovering, defining and driving the desired behavior of software system by using conversation, concrete examples and automated tests. – Using conversation and concrete examples to explore, discover and illustrate a shared understanding of the problem we need to solve for the stakeholders Then we refine those examples in automated tests, to describe the desired behavior of our solution to drive the development of the system.
  • 5. What is Cucumber ● Cucumber is a most widely open source tool for executable specifications. ● A single source of truth, merges specification and test documentation into one cohesive whole. ● Living documentation, All the specifications always up to date with cucumber automated acceptance tests. ● Product owner and IT don't always understand each other, so cucumber automated specification help to keep business value in mind all the time and encourage teams for closer collaboration with shared understanding of the system. ● Cucumber automated tests protect the teams from costly regressions.
  • 6. ● Cucumber is a way of taking features, which is the combination of scenarios written in plain English language using a simple grammar defined by a language called gherkins. ● Cucumber itself written in Ruby but supports other languages as well like java, scala, C# and many more. ● This feature is share with all the amigos involve in development, developers, tester, business analyst, product owner.
  • 7. ● Glue code : glue code works as a bridge between ubiquitous language into your application that you want to develop, it translate English in your code. – The feature is made up with scenarios and steps, and each steps essentially map to the step definition. – These step could be written in your language of your choice.
  • 9. ● What is Gherkins – Gherkins is the language that cucumber understands, it is a bussiness Readable, domain specific language that lets you describe software behavior with out detailing its implementation. – Gherkins serves two purposes- Documentation and automated testes. – Gherkin’s grammar is defined in the Treetop grammar that is part of the Cucumber codebase. – It exist in different flavors for many spoken language. (60+) – Single Gherkin source file contains a description of a single feature. – Source files have .feature extension.
  • 10. ● Gherkins source File format
  • 11. Cucumber Installation ● Add following library dependencies in build.sbt, "org.scalatest" %% "scalatest" % "3.0.0", "info.cukes" % "cucumber-core" % "1.2.4", "info.cukes" % "cucumber-junit" % "1.2.4", "info.cukes" %% "cucumber-scala" % "1.2.4", "info.cukes" % "cucumber-jvm" % "1.2.4", ● Enable cucumber plugin by adding in plugins.sbt addSbtPlugin("com.waioeka.sbt" % "cucumber-plugin" % "0.1.0")
  • 12. Framework Integration ● Cucumber works with various frameworks available in the market. – Selenium (Web browser automation) – Ruby On Rails (Web application framework) – Spring (Application framework for java platform ) – Watir (Web application testing in Ruby) – Serenity (An open source library for automated acceptance tests.)
  • 13. ● Cucumber Reports – Cucumber can report results in several different formats, using formatter plugins. The available formatters plugins are: ● Pretty : prints the gerkin source with additional colours and stack traces for errors ● HTML: Generates a HTML file, suitable for publishing. ● JSON : Generates a JSON file, suitable for post-processing to generate custom reports. ● Junit : Generates XML files just like Apache Ant’s junitreport task. This XML format is understood by most Continuous Integration servers, who will use it to generate visual reports.
  • 14. Reference ● https://github.com/cucumber/cucumber/wiki/Gherkin ● https://cucumber.io/ ● http://toolsqa.com/cucumber/cucumber-options/ ● https://www.youtube.com/watch?v=MCaXumfckmQ&t=1791s

Notas do Editor

  1. We all are follow agile practices with different roles.We faced different challenge How do you get the various roles in a Scrum team to have a common understanding about a feature? roduct owners talk in terms of user stories/UAT. Business analysts talk in terms of requirements/acceptance criteria. Developers talk in terms of code/unit tests. QA members talk in terms of scenarios/test cases.
  2. Shared understanding of the ysyte, I dont know how to implement it becaue is havent work on this feature,cucumber test cases are written in plain english language and a developer glue his code with it , so this problem has been easily resolved
  3. Ubiquitous language uses in Domain Driven Design for the practice of building up a common, rigorous language between developers and users.