Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

QA Automation - Agile Engineering

260 views

Published on

BDD with QA Automation to help Agile Testing
GO-Jek meetup presentation by Tommy Hidayat

  • Be the first to comment

QA Automation - Agile Engineering

  1. 1. BDD with QA Automation to help Agile Testing
  2. 2. HELLO! I am Tomy Hidayat Digital Application Head at AIA Indonesia Responsible for leading digital application developer and DevOps team • https://www.linkedin.com/in/tommy-hidayat- 3a339456 • Tommy.hidayat10@gmail.com
  3. 3. What is Agile Testing? Agile testing is a software testing process that follows the principles of agile software development. Agile testing aligns with iterative Development Methodology in which requirements develop gradually from customers and testing teams. The development is aligned with customer requirement Agile testing is a continuous process rather than being sequential. The testing begins at the start of the project and there is ongoing integration between testing and development. The common objective of agile development and testing is to achieve a high product quality
  4. 4. Principles of Agile Testing
  5. 5. Testing Pyramids Agile testing not only facilitates the early detection of defects but also reduces the cost of bugs by fixing them early. This approach also yields a customer-centric approach by delivering a high-quality product as early as possible. Product Delivered
  6. 6. Agile Testing Components Test Driven Development Behavior Driven Development Acceptance Test Driven Development TDD BDD ATDD
  7. 7. What are they? TDD & BDD ATDD & BDD BDD Junit, Mocha, Nunit Cucumber, Fitnesse Selenium, UFT, Katalon
  8. 8. How they work together? BDD
  9. 9. BDD (Behavior Driven Development)
  10. 10. BDD Flow
  11. 11. Gherkin Language Agile testing is a software testing process that follows the principles of agile software development. Agile testing aligns with iterative Development Methodology in which requirements develop gradually from customers and testing teams. The development is aligned with customer requirement 1 Agile testing is a continuous process rather than being sequential. The testing begins at the start of the project and there is ongoing integration between testing and development. The common objective of agile development and testing is to achieve a high product quality 2Gherkin is a Business Readable, Domain Specific Language created especially for behaviour descriptions. It gives you the ability to remove logic details from behaviour tests
  12. 12. RunnerClassFeature StepDefinition JAVA Example for TDD (Unit Testing) with BDD (Cucumber)
  13. 13. StepDefinition JAVA Example for TDD (JUnit) without BDD Node JS Example for TDD (Mocha) without BDD Both Unit Testing are not using BDD directly but both need to be created based proper BDD based story creation
  14. 14. Jira Story creation with Gherkin Format It all starts with how clear the story creation so that the result is a closer relationship to acceptance criteria for a given function and the tests used to validate that functionality
  15. 15. DEMO
  16. 16. We import Jira Story to Katalon using JQL
  17. 17. We create feature file based on BDD gherkin format in Jira Story
  18. 18. We create Step definition in script in the Katalon where it’ll automatically glue back to the feature file
  19. 19. We link the test case to the feature file related
  20. 20. We set a parallel test case runner as a test suite
  21. 21. We execute the Katalaon test suite via Jenkins
  22. 22. We see the Katalon automation testing result in Jira and download the attached report
  23. 23. We can see the Katalon cucumber report

×