We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMegan Owens
Modified over 2 years ago
Infosys Confidential © 2012 © Infosys Limited. Strictly private and confidential. No part of this document should be reproduced or distributed without the prior permission of Infosys Technologies Limited. Agile BDD using RSpec and Cucumber Aruna Banavar Shankar & Miti Bhat
Infosys Confidential © 2012 Contents BDD Installation Demo for Rspec Demo for Cucumber The Basic Features Cucumber vs. Rspec 2
Infosys Confidential © 2012 A story An elephant as seen by 6 blind people! The elephant was assumed to be what was felt by these blind people One question! – Can everyone see one entity as it is??? 3
Infosys Confidential © 2012 Introduction to BDD Getting the Words Right is the focus of BDD, leading to building one language that is understood the same way by the project stakeholders Vision is to bring in consistency, accuracy and meaning Behavior Driven Development (BDD) claims the words you use about something influence the way you think about that. 4
Infosys Confidential © 2012 How it works? As I need a towards Examples As an I need to As the I need to 5
Infosys Confidential © 2012 Key stakeholders in a project Different stakeholders, unlike mindset, varied mission come together in the project. Building an application by understanding its behavior from all stakeholder point of view. This builds a collaboration between developer, Tester, business and other teams. Developer – -Interested in coding than testing -If tester finds a defect or if time permits …… focus on defects -Let me code first is the general tendency Tester – -Primary responsibility is to test and find defects Customer – -Clarifications, approvals, sign off 6
Infosys Confidential © 2012 Then……what is BDD In the "Agile specifications, BDD and Testing eXchange" in November 2009 in London, Dan North gave the following description of BDD: BDD is a second-generation, outside–in, pull-based, multiple-stakeholder, multiple- scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters. 7
Infosys Confidential © 2012 About them… RSpec created by Steven Baker in To explore new TDD frameworks Encourage focus on behavior…. Rspec 2008, Aslak Hellesøy To explore new BDD frameworks Rewrites RSpecs Story Runner with a real grammar… Cucumber 8
Infosys Confidential © 2012 Installation Installed as gems: rspec cucumber 9
Infosys Confidential © 2012 Folder Structure 10
Infosys Confidential © 2012 Cucumber & RSpec Ref: The Rspec Book by David Chelimsky and others published by The Pragmatic Bookshelf 11
Infosys Confidential © 2012 Demo Hello Rspec 12
Infosys Confidential © 2012 Demo: Hello Cucumber 13
Infosys Confidential © 2012 Step Definitions Creates a step. Methods: Given( ) When( ) Then( ) Each must have Regexp A block. 14
Infosys Confidential © 2012 Step definitions Sample Given /^a greeter$/ = CucumberGreeter.new end When /^I send it the greet message$/ end Then /^I should see "([^"]*)"$/ do == greeting end 15
Infosys Confidential © 2012 Demo: step Definitions website2 16
Infosys Confidential © 2012 User stories Consider: User navigates to home page User enters details User successfully logs in User unsuccessful in logging in 17
Infosys Confidential © 2012 DEMO: Multiple scenarios Website: adding more scenarios without tables 18
Infosys Confidential © 2012 Scenario outlines Let us define a single scenario outline Tables of input data Expected output. 19
Infosys Confidential © 2012 Sample: Scenario outlines Scenario Outline: submit guess Given the secret code is " " When I guess " " Then the symbol should be " " 20
Infosys Confidential © 2012 Sample: scenario Outlines Scenario Outline: submit details Given the user name is " " When I guess " " Then the message should be " " Scenarios: no matches | uname | pwd | symbol| | ^^^^ | a1a1 | failed | Scenarios: 1 uname incorrect | uname | pwd | mesg | | abcd | 1555 | passed | | ba-mn| 2555 | failed | 21
Infosys Confidential © 2012 Test doubles An object that behaves as though it is the original object Eg: output 22
Infosys Confidential © 2012 Demo: Test Double Uses test double but shows logical error 23
Infosys Confidential © 2012 It method The it( ) method: creates an example ExampleGroup returns an instance of it using describe( ) Demo: website5 Note: Rspec double(out) – a mock for STDOUT 24
Infosys Confidential © 2012 A small change def 'Welcome to website!' end The test passes!!! Once the passing code is ready… See it in action!!! Demo: website6 using.bat file 25
Infosys Confidential © 2012 When Cucumber & WHEN Rspec Cucumber - integration/acceptance testing rspec/test unit - Model unit tests. 1)Define feature scenario in cucumber 2)Start by implementing every step of feature scenario 3)For each functionality required BDD that with rspec 4)Repeat until functionality is complete 26
Infosys Confidential © 2012 Hooks Hooks: Before - every scenario After - every scenario AfterStep - after every step 27
Infosys Confidential © 2012 Backgrounds Steps that are invoked Before and After every scenario Feature: browse books Background: Logged in Given I have logged in as Aruna" And the following models exist: | manufacturer | carmodel? | | Ford | yes | | Honda| no | Scenario: Display a car that already exists Scenario: Display a car that is not yet in market 28
Infosys Confidential © 2012 Configuration Command Line configuration for: Switches Options Eg: mycmd: features Usage: cucumber –p mycmd 29
Infosys Confidential © 2012 References / Bibliography The Rspec Book by David Chelimsky and others published by The Pragmatic Bookshelf Wikipedia 30
Infosys Confidential © 2012
2 Welcome To Defect Management Training Objective: The objective of this course is to learn about standards that emphasize a best practice approach for.
BEHAVIOR DRIVEN TEST DEVELOPMENT Specification by Example.
1 Week 2 The Object-Oriented Approach to Requirements.
1 GREY BOX TESTING Web Apps & Networking Session 10 Boris Grinberg
1419 West Main Street Richmond, Virginia ©2010 CapTech Ventures The Business End of Data Modeling Bob Lambert.
Use Cases 1. Question 1 Each waiter is assigned a group of tables, after taking orders for a table the waiters enter the orders (a list of dishes and.
1 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Brown Bag – Behaviour Driven Development with Specflow Brown Bag – Behaviour Driven Development.
1 Test documentation and Test case design Iana Mourza QA Lead/Release Lead VMware, Inc
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java L6 (Adapted For ISE 2005/6 By Ananda Amatya, University.
(Advanced) Web Application Development Test Driven Development with Ruby and Rails Bruce Scharlau, University of Aberdeen, 2013.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Lecture 6: Software Design (Part I) Dr Valentina Plekhanova University of Sunderland, UK
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter Chapter 7 Defining Your Own Classes Part 2 Animated Version.
Renesas Technology America Inc. 1 SKP8CMINI-15,17 Tutorial 2 Creating A New Project Using HEW4.
Advanced Features for INCOSE Connect Administrators with Windows SharePoint Services 3.0 Prepared by: James Chism, Adjunct Faculty-Johns Hopkins University.
Agile Projects Making working software as a team Bruce Scharlau, University of Aberdeen, 2012.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Rapid Software Development IS301.
Chapter 5 – System Modeling 1Chapter 5 System modeling Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson Education,
Testing the Workflows of a System Vasil Chimev Junior QA Engineer Centaur Team Centaur Team Telerik QA Academy Telerik QA Academy.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 10 Object-Oriented Analysis and Modeling Using the UML.
1 GREY BOX TESTING Web Apps & Networking Session 4 Boris Grinberg
IT203 Unit 2: Gather Information and Define Requirements Gathering Information Copyright © 2012 Pearson Education, Inc. Publishing as Prentice HallChapter2.1.
1 Computer Systems & Architecture Lesson 3 5. Designing the Architecture.
State of Connecticut Core-CT Project Query 8 hrs Updated 4/14/2003.
Test Driven Development in PHP Jason E. Sweat
Group Projects Making working software as a team Bruce Scharlau, University of Aberdeen, 2011.
© Telcordia Technologies 2004 – All Rights Reserved AETG Web Service Tutorial AETG is a service mark of Telcordia Technologies. Telcordia Technologies.
© 2016 SlidePlayer.com Inc. All rights reserved.