SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Is BDD Worth It? Considerations for
Advanced Test Automation
Eran Kinsbruner
• Chief Evangelist, Product Manager, and Author at Perfecto by Perforce
• Blogger, Inventor, and Speaker
• 20+ years in software development & testing
• Author of:
• The Digital Quality Handbook
• Continuous Testing for DevOps Professionals
• Accelerating Software Quality
• Twitter: @ek121268
perfecto.io
3 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Behavior Driven Development (BDD) Definition
Source: Tricentis OSS Report 2020 Source: Dzone - John f. Smart
perfecto.io
4 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Behavior Driven Development (BDD) is a synthesis and refinement of practices stemming from Test Driven Development
(TDD) and Acceptance Test Driven Development (ATDD). BDD augments TDD and ATDD with the following tactics:
• Apply the “Five Why’s” principle to each proposed user story, so that its purpose is clearly related
to business outcomes.
• Thinking “from the outside in” — in other words, implement only those behaviors which contribute
most directly to these business outcomes to minimize waste.
• Describe behaviors in a single notation which is directly
accessible to domain experts, testers,
and developers to improve communication.
• Apply these techniques all the way down to the lowest levels
of abstraction of the software, paying particular attention to the
distribution of behavior, so that evolution remains cheap.
Behavior Driven Development (BDD) Definition
Source: Agile Alliance
perfecto.io
5 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
The 3 Amigos
Source: Embrace DevOps
perfecto.io
6 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
In Gherkin, each line that isn't blank has to start with a
Gherkin keyword, followed by any text you like.
The main keywords are:
• Feature
• Scenario
• Given, When, Then, And, But (Steps)
• Background (Pre-requisites to avoid repetition
across scenarios)
• Scenario Outline
• Examples
Gherkin Primer/101
https://cucumber.io/docs/gherkin/reference/
There are a few extra keywords as well:
• """ (Doc Strings)
• | (Data Tables)
• @ (Tags)
• # (Comments)
perfecto.io
7 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Gherkin Scenarios & Outline
https://cucumber.io/docs/gherkin/reference/
perfecto.io
8 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Example Based Testing — BDD
Source: John F. Smart - BDD In Action
perfecto.io
9 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Differences Between BDD, TDD, and ATDD
• TDD is rather a paradigm than a process. It describes the cycle of
writing a test first, and application code afterwards – followed by
an optional refactoring.
• TDD doesn’t make any statements about: Where do I begin to
develop? What exactly should I test? How should tests be
structured and named?
• BDD always start with the piece of functionality that’s most
important to your user.
• TDD and BDD have language differences. BDD tests are written in
an English-like language.
• BDD is customer-focused while ATDD leans towards the
developer-focused side of things like [Unit] TDD does. This allows
much easier collaboration with non-techie stakeholders than TDD.
• BDD gives a clearer understanding as to what the system should
do from the perspective of the developer and the customer.
• BDD focuses on the behavioral aspect of the system, unlike TDD
which focuses on the implementation aspect of the system.
• ATDD focuses on capturing requirements in acceptance tests and
uses them to drive the development. (Does the system do what it
is required to do?)
• TDD tools and techniques are usually much more techie in nature,
requiring that you become familiar with the detailed object model
(or in fact create the object model in the process, if doing true
test-first canonical TDD).
• TDD allows a good and robust design. Still, your tests can be very
far away from the users' requirements. BDD is a way to ensure
consistency between requirements and the developer tests.
• TDD allows for a good and robust design. Still, your tests can be
very far from the users' requirements. BDD is a way to ensure
consistency between requirements and the developer tests.
Getting Started: BDD With Perfecto’s Quantum Framework
perfecto.io
11 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Architecture
Perfecto Advanced
Reporting
Object Spy
Repository
file
Live Dashboard
Cucumber BDD test
Test Java/JS code
testNG
Perfecto utils
Pre-defined steps
User
advance
code
Script Creation Execute Report
Access to devices
Remote debugging
Real devices and desktop browsers
Manual Services
perfecto.io
12 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Scenarios Example
Test -Feature files
Pre define steps
by Perfecto
Logical steps
created by
customers
perfecto.io
13 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Step Definitions
Test feature files
Pre-defined steps
created by
Perfecto
Logical steps
created by
customers
perfecto.io
14 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Architecture
objectID = locatorID = locator
search.text.box = {"locator":"name=q","desc":"Search Text Box"}
perfecto.io
15 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Project Structure
BDD
Logical commands
Java tests for Java coder testers
Perfecto extensions
TestNG execution
Data repository
Cloud/app configuration file
perfecto.io
16 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum Driver Configuration (Web vs. Mobile)
Appium
Selenium
perfecto.io
17 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum – API Test Automation With BDD
Create the
API Details
in JSON File
Create a
Gherkin
Scenario to
Test the API
perfecto.io
18 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
Quantum – API Test Automation With BDD
TestNG Execution
Configuration
Examine Report
(Perfecto/External
Framework)
perfecto.io
19 | Perfecto by Perforce Š 2020 Perforce Software, Inc.
BDD – Which Testing Types?
Functional and End-to-End Testing:
Business Behavior Flows
• Mobile App Testing
• Appium & Gherkin
• Cross-Browser Testing
• Selenium & Gherkin
• Cypress & Gherkin
• API Testing
https://www.perfecto.io/behavior-driven-development-testing
LIVE DEMO – Quantum BDD Framework With Selenium
perfecto.io
21 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
22 | Getting Ready for iOS 13 Testing perfecto.io
Thank You
Visit perfecto.io or follow us @perfectomobile

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021The DevOps Journey in an Enterprise - DOES 2021
The DevOps Journey in an Enterprise - DOES 2021
 
Deliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CTDeliver Flawless Mobile Apps Faster with CI/CD & CT
Deliver Flawless Mobile Apps Faster with CI/CD & CT
 
5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing5 Mobile App Trends & What They Mean for Dev & Testing
5 Mobile App Trends & What They Mean for Dev & Testing
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
 
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
DevOps Testing | Continuous Testing In DevOps | DevOps Tutorial | DevOps Trai...
 
Appium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with PerfectoAppium & Selenium Alone vs Appium & Selenium with Perfecto
Appium & Selenium Alone vs Appium & Selenium with Perfecto
 
An Introduction to Dependency Injection
An Introduction to Dependency InjectionAn Introduction to Dependency Injection
An Introduction to Dependency Injection
 
Use Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual TestingUse Automation to Assist -Not Replace- Manual Testing
Use Automation to Assist -Not Replace- Manual Testing
 
ATAGTR2017 Wearable App Testing
ATAGTR2017 Wearable App TestingATAGTR2017 Wearable App Testing
ATAGTR2017 Wearable App Testing
 
ATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps CultureATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps Culture
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Devops with Alibaba Cloud
Devops with Alibaba CloudDevops with Alibaba Cloud
Devops with Alibaba Cloud
 
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web contentATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
 
Getting Started with IT Service Intelligence
Getting Started with IT Service IntelligenceGetting Started with IT Service Intelligence
Getting Started with IT Service Intelligence
 
BDD along with Continuous Integration
BDD along with Continuous IntegrationBDD along with Continuous Integration
BDD along with Continuous Integration
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
Breaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an ApplicationBreaking the 2 Pizza Paradox with your Platform as an Application
Breaking the 2 Pizza Paradox with your Platform as an Application
 
Selenium training in chennai
Selenium training in chennaiSelenium training in chennai
Selenium training in chennai
 
Continuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshareContinuous testing webinar 041017 slideshare
Continuous testing webinar 041017 slideshare
 

Ähnlich wie Is BDD Worth It? Considerations for Advanced Test Automation

CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
Perfecto by Perforce
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Lucas Jellema
 

Ähnlich wie Is BDD Worth It? Considerations for Advanced Test Automation (20)

Mastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and SeleniumMastering Cross-Browser Test Automation With Cypress and Selenium
Mastering Cross-Browser Test Automation With Cypress and Selenium
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
Enhancing Your Test Automation Scenario Coverage with Selenium - QA or the Hi...
 
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
 
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best PracticesHow to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
How to Prepare Your Apps for iOS 14 - Test Strategy, Coverage, & Best Practices
 
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
GDG Cloud Southlake 31: Santosh Chennuri and Festus Yeboah: Empowering Develo...
 
Topic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolutionTopic tdd-and-bdd b4usolution
Topic tdd-and-bdd b4usolution
 
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...Perforce on Tour 2015 -  Optimising the Developer Pipeline: Deliver Faster & ...
Perforce on Tour 2015 - Optimising the Developer Pipeline: Deliver Faster & ...
 
Keeping Your Continuous Test Automation Continuously Valuable
Keeping Your Continuous Test Automation Continuously ValuableKeeping Your Continuous Test Automation Continuously Valuable
Keeping Your Continuous Test Automation Continuously Valuable
 
Resume: DevOps/Technology Architect - Satya Prakash
Resume: DevOps/Technology Architect   -  Satya PrakashResume: DevOps/Technology Architect   -  Satya Prakash
Resume: DevOps/Technology Architect - Satya Prakash
 
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
Software Engineering as the Next Level Up from Programming (Oracle Groundbrea...
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
How to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsHow to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOps
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
 

Mehr von Perfecto by Perforce

Mehr von Perfecto by Perforce (17)

Cloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More AccessibleCloud Testing Has Never Been Easier or More Accessible
Cloud Testing Has Never Been Easier or More Accessible
 
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps NextCognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
Cognitive Engineering - Shifting Right with Gated.AI Testing - DevOps Next
 
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps NextThe Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
The Rise and Benefits of Robotic Process Automation (RPA) - DevOps Next
 
The New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps NextThe New Categories of Software Defects in the Era of AI and ML - DevOps Next
The New Categories of Software Defects in the Era of AI and ML - DevOps Next
 
Moving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps NextMoving to Modern DevOps with Fuzzing and ML - DevOps Next
Moving to Modern DevOps with Fuzzing and ML - DevOps Next
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps Next
 
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps NextHow Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
How Does AIOps Benefit DevOps Pipeline and Software Quality? - DevOps Next
 
Classification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps NextClassification of Advanced AI and ML Testing Tools - DevOps Next
Classification of Advanced AI and ML Testing Tools - DevOps Next
 
Automated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps NextAutomated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps Next
 
Advancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps NextAdvancing the State of The Art in AI and Testing - DevOps Next
Advancing the State of The Art in AI and Testing - DevOps Next
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Why Mobile and Web Testing MUST Move to the Cloud
Why Mobile and Web Testing MUST Move to the CloudWhy Mobile and Web Testing MUST Move to the Cloud
Why Mobile and Web Testing MUST Move to the Cloud
 
Uncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyondUncovering the unknowns of appium and beyond
Uncovering the unknowns of appium and beyond
 
4 Testing Methods to Scale and Automate Your DevOps Pipeline
4 Testing Methods to Scale and Automate Your DevOps Pipeline4 Testing Methods to Scale and Automate Your DevOps Pipeline
4 Testing Methods to Scale and Automate Your DevOps Pipeline
 
How to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test AutomationHow to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test Automation
 
Everything You Need to Know About Testing i os 13
Everything You Need to Know About Testing i os 13Everything You Need to Know About Testing i os 13
Everything You Need to Know About Testing i os 13
 

KĂźrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂźrzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Is BDD Worth It? Considerations for Advanced Test Automation

  • 1. Is BDD Worth It? Considerations for Advanced Test Automation
  • 2. Eran Kinsbruner • Chief Evangelist, Product Manager, and Author at Perfecto by Perforce • Blogger, Inventor, and Speaker • 20+ years in software development & testing • Author of: • The Digital Quality Handbook • Continuous Testing for DevOps Professionals • Accelerating Software Quality • Twitter: @ek121268
  • 3. perfecto.io 3 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Behavior Driven Development (BDD) Definition Source: Tricentis OSS Report 2020 Source: Dzone - John f. Smart
  • 4. perfecto.io 4 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Behavior Driven Development (BDD) is a synthesis and refinement of practices stemming from Test Driven Development (TDD) and Acceptance Test Driven Development (ATDD). BDD augments TDD and ATDD with the following tactics: • Apply the “Five Why’s” principle to each proposed user story, so that its purpose is clearly related to business outcomes. • Thinking “from the outside in” — in other words, implement only those behaviors which contribute most directly to these business outcomes to minimize waste. • Describe behaviors in a single notation which is directly accessible to domain experts, testers, and developers to improve communication. • Apply these techniques all the way down to the lowest levels of abstraction of the software, paying particular attention to the distribution of behavior, so that evolution remains cheap. Behavior Driven Development (BDD) Definition Source: Agile Alliance
  • 5. perfecto.io 5 | Perfecto by Perforce Š 2021 Perforce Software, Inc. The 3 Amigos Source: Embrace DevOps
  • 6. perfecto.io 6 | Perfecto by Perforce Š 2021 Perforce Software, Inc. In Gherkin, each line that isn't blank has to start with a Gherkin keyword, followed by any text you like. The main keywords are: • Feature • Scenario • Given, When, Then, And, But (Steps) • Background (Pre-requisites to avoid repetition across scenarios) • Scenario Outline • Examples Gherkin Primer/101 https://cucumber.io/docs/gherkin/reference/ There are a few extra keywords as well: • """ (Doc Strings) • | (Data Tables) • @ (Tags) • # (Comments)
  • 7. perfecto.io 7 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Gherkin Scenarios & Outline https://cucumber.io/docs/gherkin/reference/
  • 8. perfecto.io 8 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Example Based Testing — BDD Source: John F. Smart - BDD In Action
  • 9. perfecto.io 9 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Differences Between BDD, TDD, and ATDD • TDD is rather a paradigm than a process. It describes the cycle of writing a test first, and application code afterwards – followed by an optional refactoring. • TDD doesn’t make any statements about: Where do I begin to develop? What exactly should I test? How should tests be structured and named? • BDD always start with the piece of functionality that’s most important to your user. • TDD and BDD have language differences. BDD tests are written in an English-like language. • BDD is customer-focused while ATDD leans towards the developer-focused side of things like [Unit] TDD does. This allows much easier collaboration with non-techie stakeholders than TDD. • BDD gives a clearer understanding as to what the system should do from the perspective of the developer and the customer. • BDD focuses on the behavioral aspect of the system, unlike TDD which focuses on the implementation aspect of the system. • ATDD focuses on capturing requirements in acceptance tests and uses them to drive the development. (Does the system do what it is required to do?) • TDD tools and techniques are usually much more techie in nature, requiring that you become familiar with the detailed object model (or in fact create the object model in the process, if doing true test-first canonical TDD). • TDD allows a good and robust design. Still, your tests can be very far away from the users' requirements. BDD is a way to ensure consistency between requirements and the developer tests. • TDD allows for a good and robust design. Still, your tests can be very far from the users' requirements. BDD is a way to ensure consistency between requirements and the developer tests.
  • 10. Getting Started: BDD With Perfecto’s Quantum Framework
  • 11. perfecto.io 11 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Architecture Perfecto Advanced Reporting Object Spy Repository file Live Dashboard Cucumber BDD test Test Java/JS code testNG Perfecto utils Pre-defined steps User advance code Script Creation Execute Report Access to devices Remote debugging Real devices and desktop browsers Manual Services
  • 12. perfecto.io 12 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Scenarios Example Test -Feature files Pre define steps by Perfecto Logical steps created by customers
  • 13. perfecto.io 13 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Step Definitions Test feature files Pre-defined steps created by Perfecto Logical steps created by customers
  • 14. perfecto.io 14 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Architecture objectID = locatorID = locator search.text.box = {"locator":"name=q","desc":"Search Text Box"}
  • 15. perfecto.io 15 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Project Structure BDD Logical commands Java tests for Java coder testers Perfecto extensions TestNG execution Data repository Cloud/app configuration file
  • 16. perfecto.io 16 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum Driver Configuration (Web vs. Mobile) Appium Selenium
  • 17. perfecto.io 17 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum – API Test Automation With BDD Create the API Details in JSON File Create a Gherkin Scenario to Test the API
  • 18. perfecto.io 18 | Perfecto by Perforce Š 2021 Perforce Software, Inc. Quantum – API Test Automation With BDD TestNG Execution Configuration Examine Report (Perfecto/External Framework)
  • 19. perfecto.io 19 | Perfecto by Perforce Š 2020 Perforce Software, Inc. BDD – Which Testing Types? Functional and End-to-End Testing: Business Behavior Flows • Mobile App Testing • Appium & Gherkin • Cross-Browser Testing • Selenium & Gherkin • Cypress & Gherkin • API Testing https://www.perfecto.io/behavior-driven-development-testing
  • 20. LIVE DEMO – Quantum BDD Framework With Selenium
  • 21. perfecto.io 21 | Perfecto by Perforce Š 2021 Perforce Software, Inc.
  • 22. 22 | Getting Ready for iOS 13 Testing perfecto.io Thank You Visit perfecto.io or follow us @perfectomobile