9
Most read
11
Most read
14
Most read
Automated Test Framework
with Cucumber
PROJECT WORK PRESENTATION
Ramesh Krishnan G
2014HT12514
Agenda
 Objective
 Existing Problem
 Proposed Solution
 Why this Project ?
 Cucumber Automation Tool
 Cucumber Testing Stack
 Framework Architecture
 Cucumber Workflow
 Test Reports
 Summary and Conclusion
 Directions for the future
Objective
The Objective of Automated Test Framework with Cucumber are as follows:
 To reduce the gap between software developers and stakeholders
 To overcome the disadvantages of existing automation tool QTP
 To reduce Testing Cost and Time
 To improve Test Coverage
 To reduce Redundancy
 To gain confidence in the system
 To reduce the number of defects found by users
 To run regression test overnight and weekends
Existing Problem
 Producer Gap - Difference between what is specified vs what is delivered
 Customer Gap - Difference between what the producers actually delivered vs
what the customer wanted
Proposed Solution
 Cucumber is a software tool based on Behavior Driven Development (BDD)
model which is used to write acceptance tests for web application
 Allows automation of functional validation in easily readable and
understandable format (like plain English) to Stakeholders, Business Analysts,
Developers, Testers, etc.
 The test suites are then translated into the programming language by
Cucumber, which supports multiple programming and scripting languages.
Why this Project ?
 Need to deliver the project using a good reliable tool which is open source
 Management should understand what the project does. Using Cucumber a
layman can understand what the test case is.
 Deliver quickly with a high standard compared to QTP
 In agile development process, cucumber is more useful to validate the
requirements
 Software Testers with less coding knowledge can use this framework to develop
the test suites
Cucumber Automation Tool
 Tool that executes plain text functional descriptions as automated test
 Runs automated acceptance test on Web applications
 Language that Cucumber understands is called “Gherkin”
 Cucumber Test are written in a file called Feature
 Feature file contains list of test scenarios
 Each line in a scenario is called step which are defined with the help of “Given”,
“When”, “Then” and “And” keywords
 Step Defintion is a place where the automation codes are written for steps
 Steps in the feature file are directly mapped to step definitions
 Step definition is a block of code written with any one of the programming
language such as Java or Ruby
Simple Cucumber Test
Feature: E-Commerce Application
Scenario: Users should see sign out button once signed in
Given I open the Login page of the application
When I enter valid credentials and click sign-in button
Then I verify the application Home Page is displayed
And I verify the sign out button is displayed at bottom of home page
Cucumber Testing Stack
Setting up Environment
Step 1: Download and Install Java and Java Development Kit
Step 2: Setup Java Runtime Environment
Step 3: Install and Configure Maven
Step 4: Download and Configure Eclipse IDE
Step 5: Install Plugins for Eclipse IDE
Step 6: Create New Maven Project
Step 7: Configure Cucumber and Selenium with Maven Project
Cucumber Framework Architecture
Folder Structure
Cucumber Workflow
Key Feature of Framework
 Page Object Model is used as design pattern to capture the object repository for
web elements
 Reusable step definitions can be developed and used for any web applications
 Extent Report is used to for Report Generation
 Test Reports will be placed in target folder
 If test scenario fails, the screen for each failed scenario will be taken and placed in
Screenshots folder
 Email will be delivered to mail ids with test report
 Integrated with Jenkins, a Continuous Integration Tool which is used to schedule
test and separate cucumber reports also be generated
 Cross Browser Testing
Extend Report
Jenkins Workflow
Jenkin Cucumber Report
Summary & conclusion
 Automated Testing with cucumber minimizes the software quality gap and
reduces the communication gap between the developers and stakeholders
 The Functional and Unit testing for the web applications has become easy
with this framework which minimizes the human effort involved in testing
and to overcome the disadvantages of testing made with UFT/QTP tool
 Automation team can be formed with Software Testers with less coding
knowledge or no coding knowledge
Directions for the future
 This automation framework can be enhanced to do automation in multiple
browsers and parallel execution with help of Selenium Grid
 Selenium Grid provides the flexibility to distribute the test cases for
execution. It reduces the batch processing time.
 Further, this project can be enhanced by deploying the automation test
source code in a common server which is accessible by all the team
members and integrated with the help of Source tree
Demo
Questions?
Thank you 

Automated Test Framework with Cucumber

  • 1.
    Automated Test Framework withCucumber PROJECT WORK PRESENTATION Ramesh Krishnan G 2014HT12514
  • 2.
    Agenda  Objective  ExistingProblem  Proposed Solution  Why this Project ?  Cucumber Automation Tool  Cucumber Testing Stack  Framework Architecture  Cucumber Workflow  Test Reports  Summary and Conclusion  Directions for the future
  • 3.
    Objective The Objective ofAutomated Test Framework with Cucumber are as follows:  To reduce the gap between software developers and stakeholders  To overcome the disadvantages of existing automation tool QTP  To reduce Testing Cost and Time  To improve Test Coverage  To reduce Redundancy  To gain confidence in the system  To reduce the number of defects found by users  To run regression test overnight and weekends
  • 4.
    Existing Problem  ProducerGap - Difference between what is specified vs what is delivered  Customer Gap - Difference between what the producers actually delivered vs what the customer wanted
  • 5.
    Proposed Solution  Cucumberis a software tool based on Behavior Driven Development (BDD) model which is used to write acceptance tests for web application  Allows automation of functional validation in easily readable and understandable format (like plain English) to Stakeholders, Business Analysts, Developers, Testers, etc.  The test suites are then translated into the programming language by Cucumber, which supports multiple programming and scripting languages.
  • 6.
    Why this Project?  Need to deliver the project using a good reliable tool which is open source  Management should understand what the project does. Using Cucumber a layman can understand what the test case is.  Deliver quickly with a high standard compared to QTP  In agile development process, cucumber is more useful to validate the requirements  Software Testers with less coding knowledge can use this framework to develop the test suites
  • 7.
    Cucumber Automation Tool Tool that executes plain text functional descriptions as automated test  Runs automated acceptance test on Web applications  Language that Cucumber understands is called “Gherkin”  Cucumber Test are written in a file called Feature  Feature file contains list of test scenarios  Each line in a scenario is called step which are defined with the help of “Given”, “When”, “Then” and “And” keywords  Step Defintion is a place where the automation codes are written for steps  Steps in the feature file are directly mapped to step definitions  Step definition is a block of code written with any one of the programming language such as Java or Ruby
  • 8.
    Simple Cucumber Test Feature:E-Commerce Application Scenario: Users should see sign out button once signed in Given I open the Login page of the application When I enter valid credentials and click sign-in button Then I verify the application Home Page is displayed And I verify the sign out button is displayed at bottom of home page
  • 9.
  • 10.
    Setting up Environment Step1: Download and Install Java and Java Development Kit Step 2: Setup Java Runtime Environment Step 3: Install and Configure Maven Step 4: Download and Configure Eclipse IDE Step 5: Install Plugins for Eclipse IDE Step 6: Create New Maven Project Step 7: Configure Cucumber and Selenium with Maven Project
  • 11.
  • 12.
  • 13.
  • 14.
    Key Feature ofFramework  Page Object Model is used as design pattern to capture the object repository for web elements  Reusable step definitions can be developed and used for any web applications  Extent Report is used to for Report Generation  Test Reports will be placed in target folder  If test scenario fails, the screen for each failed scenario will be taken and placed in Screenshots folder  Email will be delivered to mail ids with test report  Integrated with Jenkins, a Continuous Integration Tool which is used to schedule test and separate cucumber reports also be generated  Cross Browser Testing
  • 15.
  • 16.
  • 17.
  • 18.
    Summary & conclusion Automated Testing with cucumber minimizes the software quality gap and reduces the communication gap between the developers and stakeholders  The Functional and Unit testing for the web applications has become easy with this framework which minimizes the human effort involved in testing and to overcome the disadvantages of testing made with UFT/QTP tool  Automation team can be formed with Software Testers with less coding knowledge or no coding knowledge
  • 19.
    Directions for thefuture  This automation framework can be enhanced to do automation in multiple browsers and parallel execution with help of Selenium Grid  Selenium Grid provides the flexibility to distribute the test cases for execution. It reduces the batch processing time.  Further, this project can be enhanced by deploying the automation test source code in a common server which is accessible by all the team members and integrated with the help of Source tree
  • 20.
  • 21.
  • 22.