O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Behavior-Driven Developmentand Automation Testing using Cucumber Framework. 
TrongBui 
KMS-Technologytrongbui@kms-technolo...
About: KMS-Technology 
•Global Company 
–U.S. Company 
–Development Center in Ho Chi Minh City, Vietnam 
–Act local, think...
About: Trong Bui 
•QA Architect, Automation Test Lead at KMS-Technology 
•8 years experience in Software testing, includin...
WebinarAgenda: 
•Introduction 
•What is Behavior Driven Development (BDD) 
•What is Cucumber 
•BDD Automation Test with Cu...
Introduction 
BDD AUTOMATION TESTING WITH CUCUMBER 5
Software Development Life Cycle 
BDD AUTOMATION TESTING WITH CUCUMBER 6
Classic example on collaboration skills 
BDD AUTOMATION TESTING WITH CUCUMBER 7
Skill gap and review dependency 
BDD AUTOMATION TESTING WITH CUCUMBER 8
Specific example of an requirement 
Feature: login to the system. 
Asa user, 
I want to login into the system when I provi...
and normal Automation Test 
@Test 
public void fb_login_test() throwsException { 
driver.get("https://www.facebook.com/");...
What is Behavior Driven Development (BDD) 
BDD AUTOMATION TESTING WITH CUCUMBER 11
Definition: 
Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration...
More specific: 
It’sallaboutGiven,WhenandThen–Mapseasilytouserstories 
Extends Test Driven Development (TDD) by utilizing ...
BDD scenario detail: 
A description of each specific case of the narrative. Such a scenario has the following structure: 
...
Mapping User storiesto BDD scenarios: 
User story 
BDD scenario 
As a calculator user, I want to add two numbers so that I...
Tooling principles: 
The tooling reads a specification document. 
The tooling directly understands completely formal parts...
What is Cucumber 
BDD AUTOMATION TESTING WITH CUCUMBER 17
Cucumber definition: 
From Wikipedia, Cucumberis asoftwaretool thatcomputer programmersuse for testing other software. It ...
How cucumber works: 
BDD AUTOMATION TESTING WITH CUCUMBER 19
BDD Automation Test with Cucumber 
BDD AUTOMATION TESTING WITH CUCUMBER 20
Example of BDD scenario: 
Feature: login to the system. 
Asa user, 
I want to login into the system when I provide usernam...
BDD Scenario with parameters: 
BDD AUTOMATION TESTING WITH CUCUMBER 22
How Cucumber works: 
BDD AUTOMATION TESTING WITH CUCUMBER 
Given/^I launch "([^"]*)" page$/ do |page| 
visit(page) 
End 
W...
BDD scenario with multi dataset: 
BDD AUTOMATION TESTING WITH CUCUMBER 24
Cucumber Live Demo 
BDD AUTOMATION TESTING WITH CUCUMBER 25
Environment setup: 
•Windows: 
–Install Ruby Installer 
•Download: http://rubyinstaller.org/downloads[Ruby 1.9.3-p125] 
•I...
Q&A 
BDD AUTOMATION TESTING WITH CUCUMBER 27
THANK YOU 
© 2013 KMS Technology
APPENDIX 
APPENDIX –PAGE OBJECT PATTERN 29
UI Test Setup with Page Object Pattern 
APPENDIX –PAGE OBJECT PATTERN 30
PAGEOBJECTPATTERN 
Page Object Pattern is UI Automation Test good practice. 
It represents the screens of Web app as a ser...
Page Object Pattern advantages: 
Reduces the duplication of code 
Makes tests more readable and robust 
Improves themainta...
Cucumber Live Demo with Page Object Pattern 
APPENDIX –PAGE OBJECT PATTERN 33
References 
•Spring + Behavior-Driven-Development 
•Cukes.info 
•The Cucumber Book 
•Page Object Pattern 
BDD AUTOMATION T...
Terminou este documento.
Transfira e leia offline.
Próximos SlideShares
Behavior Driven Development and Automation Testing Using Cucumber
Avançar
Próximos SlideShares
Behavior Driven Development and Automation Testing Using Cucumber
Avançar
Transfira para ler offline e ver em ecrã inteiro.

Compartilhar

Behavior-Driven Development and Automation Testing Using Cucumber Framework Webinar

Baixar para ler offline

This is the presentation that used in BCC and Automation Testing using Cucumber Framework webinar

Behavior-Driven Development and Automation Testing Using Cucumber Framework Webinar

  1. 1. Behavior-Driven Developmentand Automation Testing using Cucumber Framework. TrongBui KMS-Technologytrongbui@kms-technology.comhttp://www.kms-technology.com 06|12|2014
  2. 2. About: KMS-Technology •Global Company –U.S. Company –Development Center in Ho Chi Minh City, Vietnam –Act local, think global (around-the-clock / distributed global team model) –480 resources globally •Proven and Experienced –Founded in January, 2009 –100% of clients are reference-able –Microsoft Gold Partner •Value Driven Philosophy –Focus all aspects of business on delivering quality and value to our clients 2 BDD AUTOMATION TESTING WITH CUCUMBER
  3. 3. About: Trong Bui •QA Architect, Automation Test Lead at KMS-Technology •8 years experience in Software testing, including 4 years experience in Automation Test. •Test tools: Cucumber, Selenium. BDD AUTOMATION TESTING WITH CUCUMBER 3
  4. 4. WebinarAgenda: •Introduction •What is Behavior Driven Development (BDD) •What is Cucumber •BDD Automation Test with Cucumber •Cucumber Live Demo •Appendix: –UI Test Setup with Page Object Pattern –Cucumber Demo with Page Object Pattern BDD AUTOMATION TESTING WITH CUCUMBER 4
  5. 5. Introduction BDD AUTOMATION TESTING WITH CUCUMBER 5
  6. 6. Software Development Life Cycle BDD AUTOMATION TESTING WITH CUCUMBER 6
  7. 7. Classic example on collaboration skills BDD AUTOMATION TESTING WITH CUCUMBER 7
  8. 8. Skill gap and review dependency BDD AUTOMATION TESTING WITH CUCUMBER 8
  9. 9. Specific example of an requirement Feature: login to the system. Asa user, I want to login into the system when I provide username and password. Scenario:login successfully Giventhe login page is opening WhenI input username into the username textbox AndI input valid password into the password textbox AndI click Login button ThenI am on the Home page BDD AUTOMATION TESTING WITH CUCUMBER 9
  10. 10. and normal Automation Test @Test public void fb_login_test() throwsException { driver.get("https://www.facebook.com/"); driver.findElement(By.id("email")).clear(); driver.findElement(By.id("email")).sendKeys("bddtest@yahoo.com"); driver.findElement(By.id("pass")).clear(); driver.findElement(By.id("pass")).sendKeys("********"); driver.findElement(By.id("u_0_e")).click(); } BDD AUTOMATION TESTING WITH CUCUMBER 10
  11. 11. What is Behavior Driven Development (BDD) BDD AUTOMATION TESTING WITH CUCUMBER 11
  12. 12. Definition: Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. BDD AUTOMATION TESTING WITH CUCUMBER 12
  13. 13. More specific: It’sallaboutGiven,WhenandThen–Mapseasilytouserstories Extends Test Driven Development (TDD) by utilizing natural language that non-technical stakeholders can understand. Encourages collaboration between Domain experts, Business Analysts, QA Engineers, Developers & Business Owners / Stakeholders Driven by Business Value and finally, with the aim of delivering "software that matters". BDD AUTOMATION TESTING WITH CUCUMBER 13
  14. 14. BDD scenario detail: A description of each specific case of the narrative. Such a scenario has the following structure: BDD AUTOMATION TESTING WITH CUCUMBER 14
  15. 15. Mapping User storiesto BDD scenarios: User story BDD scenario As a calculator user, I want to add two numbers so that I can do addition. Given I have two numbers 500 & 500 When I add them upThen I should get result 1000 As a Math teacher, I want to automate marks sorting process so that I can declare top 5 in my class. Given a list of numbersWhen I sort the listThen the list will be in numerical order As a QA engineer, I want to check a critical feature so that I can do smoke test easily. Given I visit Google.comWhen I type ‘TestingWhiz' as a search string Then I should get search results matching TestingWhiz BDD AUTOMATION TESTING WITH CUCUMBER 15
  16. 16. Tooling principles: The tooling reads a specification document. The tooling directly understands completely formal parts of the ubiquitous language (such as the Given keyword in the example above). Each individual clause in a scenario is transformed into some sort of parameter for a test for the user story. The framework then executes the test for each scenario, with the parameters from that scenario. BDD AUTOMATION TESTING WITH CUCUMBER 16
  17. 17. What is Cucumber BDD AUTOMATION TESTING WITH CUCUMBER 17
  18. 18. Cucumber definition: From Wikipedia, Cucumberis asoftwaretool thatcomputer programmersuse for testing other software. It runs automatedacceptance testswritten in aBehavior-Driven Development(BDD) style. BDD AUTOMATION TESTING WITH CUCUMBER 18
  19. 19. How cucumber works: BDD AUTOMATION TESTING WITH CUCUMBER 19
  20. 20. BDD Automation Test with Cucumber BDD AUTOMATION TESTING WITH CUCUMBER 20
  21. 21. Example of BDD scenario: Feature: login to the system. Asa user, I want to login into the system when I provide username and password. Scenario:login successfully Giventhe login page is opening WhenI input username into the username textbox AndI input valid password into the password textbox AndI click Login button ThenI am on the Home page BDD AUTOMATION TESTING WITH CUCUMBER 21
  22. 22. BDD Scenario with parameters: BDD AUTOMATION TESTING WITH CUCUMBER 22
  23. 23. How Cucumber works: BDD AUTOMATION TESTING WITH CUCUMBER Given/^I launch "([^"]*)" page$/ do |page| visit(page) End When/^I fill in "([^"]*)" with "([^"]*)"$/ do |field, value| fill_infield, :with => value end 23
  24. 24. BDD scenario with multi dataset: BDD AUTOMATION TESTING WITH CUCUMBER 24
  25. 25. Cucumber Live Demo BDD AUTOMATION TESTING WITH CUCUMBER 25
  26. 26. Environment setup: •Windows: –Install Ruby Installer •Download: http://rubyinstaller.org/downloads[Ruby 1.9.3-p125] •Install: rubyinstaller-xxx.exe •Verify: gem –Install Ruby DevKit •Download: http://rubyinstaller.org/downloads[DevKit-tdm-32- xxx] •Run: DevKit-tdm-32-xxx.exe •Generate config.ymlfile: ruby dk.rbinit •Install DevKit: ruby dk.rb •Test Installation:gem install rdiscount--platform=ruby BDD AUTOMATION TESTING WITH CUCUMBER 26
  27. 27. Q&A BDD AUTOMATION TESTING WITH CUCUMBER 27
  28. 28. THANK YOU © 2013 KMS Technology
  29. 29. APPENDIX APPENDIX –PAGE OBJECT PATTERN 29
  30. 30. UI Test Setup with Page Object Pattern APPENDIX –PAGE OBJECT PATTERN 30
  31. 31. PAGEOBJECTPATTERN Page Object Pattern is UI Automation Test good practice. It represents the screens of Web app as a series of objects and encapsulates the features represented by a page. It allows us to model the UI in our tests. A page object is an object-oriented class that serves as an interface to a page of your AUT. APPENDIX –PAGE OBJECT PATTERN 31
  32. 32. Page Object Pattern advantages: Reduces the duplication of code Makes tests more readable and robust Improves themaintainabilityof tests, particularly when there is frequent change in the AUT.(Useful in Agile methodology based projects) APPENDIX –PAGE OBJECT PATTERN 32
  33. 33. Cucumber Live Demo with Page Object Pattern APPENDIX –PAGE OBJECT PATTERN 33
  34. 34. References •Spring + Behavior-Driven-Development •Cukes.info •The Cucumber Book •Page Object Pattern BDD AUTOMATION TESTING WITH CUCUMBER 34
  • SathishKumarJR

    Aug. 21, 2020
  • HarvinderSingh164

    Nov. 17, 2018
  • mohanreddyalavalla

    Jul. 22, 2018
  • olli404

    Nov. 9, 2015
  • tieutieulienhoa

    May. 30, 2015
  • junwankong

    Jan. 11, 2015
  • vadimj

    Jan. 11, 2015

This is the presentation that used in BCC and Automation Testing using Cucumber Framework webinar

Vistos

Vistos totais

3.956

No Slideshare

0

De incorporações

0

Número de incorporações

5

Ações

Baixados

155

Compartilhados

0

Comentários

0

Curtir

7

×