SlideShare a Scribd company logo
1 of 17
Shadrach Jabonir
Rephrase Your Automation Testing
Shadrach
Jabonir
•Tribe Architect Automation Tribe
at Prudential Indonesia
•Ex IBM, RedHat, Blanja.com, NTT
•Software ARCHITECT
•Java EE and Spring Developer
•DevOps Engineer
•Middleware Engineer
•Test Engineer
•Cloud Engineer
•AI, ML, DL Seeker
shadrachjabonir
Agenda
•Philosophy
•BDD
•Example
•Demo
• The use of software to control
the execution of tests
• Automating manual process that
uses a formalized testing process
What
Why
Reduce impact during regression test
Reduce
Increase flexibility of time and resource
Increase
Fast and accuracy
Fast
• Frequency build and regression
testing on demand
• Long term maintenance
• Avoid human error
• Check real time application
performance
When
UI Driven
Selenium
Appium
Katalon
Screen Recording
Test Driven
Development
Junit
Mocha
Karma
Cucumber
Business Driven
Development
Cucumber
Gherkins Syntax
Katalon
How
BDD
Business/Behavior Driven
Development
Cucumber library
Gherkin syntax
BDD
Cycle
Describe
Behavior
Write Step
Definition
Run and fail
Write code
to make it
pass
Run and
pass
BDD Features
COMPLETE TESTABLE SPECIFIC
Example
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from ATM
So that I can get the money when the bank is closed
Scenario 1: Account has sufficient amount
Given the account balance is 100$
And the card is valid
And the ATM contains enough money
When the Account Holder requests 20$
Then the ATM should dispense 20$
And the account balance should be 80$
And the card should be returned
Example
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from ATM
So that I can get the money when the bank is closed
Scenario 2: Account has insufficient amount
Given the account balance is 10$
And the card is valid
And the ATM contains enough money
When the Account Holder requests 20$
Then the ATM should not dispense any money
And the account balance should be remain 10$
And the card should be returned
Example
Story: Account Holder withdraws cash
As an Account Holder
I want to withdraw cash from ATM
So that I can get the money when the bank is closed
Scenario 3: Card is invalid
Given the account balance is 1000$
And the card is invalid
And the ATM contains enough money
When the Account Holder requests 20$
Then the ATM should not dispense any money
And the ATM should retain the card
And the card should not be returned
Gherkins and Cucumber
•Given I have 3 red balls
•Then the kids will be happy
@Given("I have {int} red balls")
def i_have_red_balls(int balls) {
println “we will test “ +balls + “ balls with cucumber”
}
@Then(“the kids will be {status}”)
def the_kids_will_be(String status) {
println “The kids seems “ +status +
}
Links • https://cucumber.io
• https://www.tutorialspoint.com/cucumber/cucumber_gherkins.htm
• https://www.katalon.com/katalon-studio/
• https://www.guru99.com/gherkin-test-cucumber.html
DEMO
Katalon
BDD
Cucumber
Gherkins

More Related Content

Similar to Rephrase your automation testing by shadrach jabonir

How to detect smelly acceptance tests - Agile Dev Practices
How to detect smelly acceptance tests - Agile Dev PracticesHow to detect smelly acceptance tests - Agile Dev Practices
How to detect smelly acceptance tests - Agile Dev Practices
Kishen Simbhoedatpanday
 
blockchain introduction for computer engineering students
blockchain introduction for computer engineering studentsblockchain introduction for computer engineering students
blockchain introduction for computer engineering students
cspdepartmentdrive
 
Unt bank final presentation
Unt bank   final presentationUnt bank   final presentation
Unt bank final presentation
Kavuru Sai
 

Similar to Rephrase your automation testing by shadrach jabonir (20)

Detecting fraud with Python and machine learning
Detecting fraud with Python and machine learningDetecting fraud with Python and machine learning
Detecting fraud with Python and machine learning
 
How Eastern Bank Uses Big Data to Better Serve and Protect its Customers
How Eastern Bank Uses Big Data to Better Serve and Protect its CustomersHow Eastern Bank Uses Big Data to Better Serve and Protect its Customers
How Eastern Bank Uses Big Data to Better Serve and Protect its Customers
 
Introduction to predictive modeling v1
Introduction to predictive modeling v1Introduction to predictive modeling v1
Introduction to predictive modeling v1
 
Behaviour Driven Development with Cucumber
Behaviour Driven Development with CucumberBehaviour Driven Development with Cucumber
Behaviour Driven Development with Cucumber
 
Behaviour Driven Development with Cucumber
Behaviour Driven Development with CucumberBehaviour Driven Development with Cucumber
Behaviour Driven Development with Cucumber
 
Cqrs, Event Sourcing
Cqrs, Event SourcingCqrs, Event Sourcing
Cqrs, Event Sourcing
 
Data Science Applications in Finance and Investing
Data Science Applications in Finance and InvestingData Science Applications in Finance and Investing
Data Science Applications in Finance and Investing
 
2 ivan pashko - fake it 'til you make it
2   ivan pashko - fake it 'til you make it2   ivan pashko - fake it 'til you make it
2 ivan pashko - fake it 'til you make it
 
Use cases - As approach to building shared vision
Use cases - As approach to building shared visionUse cases - As approach to building shared vision
Use cases - As approach to building shared vision
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
 
Requirements in Agile Projects (Brief Intro), by Razvan Radulian (RTPIIBA, 20...
Requirements in Agile Projects (Brief Intro), by Razvan Radulian (RTPIIBA, 20...Requirements in Agile Projects (Brief Intro), by Razvan Radulian (RTPIIBA, 20...
Requirements in Agile Projects (Brief Intro), by Razvan Radulian (RTPIIBA, 20...
 
How to detect smelly acceptance tests - Agile Dev Practices
How to detect smelly acceptance tests - Agile Dev PracticesHow to detect smelly acceptance tests - Agile Dev Practices
How to detect smelly acceptance tests - Agile Dev Practices
 
Introduction to BDD
Introduction to BDD Introduction to BDD
Introduction to BDD
 
blockchain introduction for computer engineering students
blockchain introduction for computer engineering studentsblockchain introduction for computer engineering students
blockchain introduction for computer engineering students
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptx
 
GPUG Academy: Microsoft Excel and Microsoft Dynamics Receivables Management
GPUG Academy:  Microsoft Excel and Microsoft Dynamics Receivables ManagementGPUG Academy:  Microsoft Excel and Microsoft Dynamics Receivables Management
GPUG Academy: Microsoft Excel and Microsoft Dynamics Receivables Management
 
Unt bank final presentation
Unt bank   final presentationUnt bank   final presentation
Unt bank final presentation
 
QuickBooks Desktop: Going Out of Style Like VHS Tapes
QuickBooks Desktop: Going Out of Style Like VHS TapesQuickBooks Desktop: Going Out of Style Like VHS Tapes
QuickBooks Desktop: Going Out of Style Like VHS Tapes
 
Hack in Cash out OWASP London
Hack in Cash out OWASP LondonHack in Cash out OWASP London
Hack in Cash out OWASP London
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 

Rephrase your automation testing by shadrach jabonir

  • 1. Shadrach Jabonir Rephrase Your Automation Testing
  • 2. Shadrach Jabonir •Tribe Architect Automation Tribe at Prudential Indonesia •Ex IBM, RedHat, Blanja.com, NTT •Software ARCHITECT •Java EE and Spring Developer •DevOps Engineer •Middleware Engineer •Test Engineer •Cloud Engineer •AI, ML, DL Seeker shadrachjabonir
  • 4. • The use of software to control the execution of tests • Automating manual process that uses a formalized testing process What
  • 5. Why Reduce impact during regression test Reduce Increase flexibility of time and resource Increase Fast and accuracy Fast
  • 6. • Frequency build and regression testing on demand • Long term maintenance • Avoid human error • Check real time application performance When
  • 7. UI Driven Selenium Appium Katalon Screen Recording Test Driven Development Junit Mocha Karma Cucumber Business Driven Development Cucumber Gherkins Syntax Katalon How
  • 9.
  • 10. BDD Cycle Describe Behavior Write Step Definition Run and fail Write code to make it pass Run and pass
  • 12. Example Story: Account Holder withdraws cash As an Account Holder I want to withdraw cash from ATM So that I can get the money when the bank is closed Scenario 1: Account has sufficient amount Given the account balance is 100$ And the card is valid And the ATM contains enough money When the Account Holder requests 20$ Then the ATM should dispense 20$ And the account balance should be 80$ And the card should be returned
  • 13. Example Story: Account Holder withdraws cash As an Account Holder I want to withdraw cash from ATM So that I can get the money when the bank is closed Scenario 2: Account has insufficient amount Given the account balance is 10$ And the card is valid And the ATM contains enough money When the Account Holder requests 20$ Then the ATM should not dispense any money And the account balance should be remain 10$ And the card should be returned
  • 14. Example Story: Account Holder withdraws cash As an Account Holder I want to withdraw cash from ATM So that I can get the money when the bank is closed Scenario 3: Card is invalid Given the account balance is 1000$ And the card is invalid And the ATM contains enough money When the Account Holder requests 20$ Then the ATM should not dispense any money And the ATM should retain the card And the card should not be returned
  • 15. Gherkins and Cucumber •Given I have 3 red balls •Then the kids will be happy @Given("I have {int} red balls") def i_have_red_balls(int balls) { println “we will test “ +balls + “ balls with cucumber” } @Then(“the kids will be {status}”) def the_kids_will_be(String status) { println “The kids seems “ +status + }
  • 16. Links • https://cucumber.io • https://www.tutorialspoint.com/cucumber/cucumber_gherkins.htm • https://www.katalon.com/katalon-studio/ • https://www.guru99.com/gherkin-test-cucumber.html