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 byCarina Loos
Modified over 2 years ago
1 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Brown Bag – Behaviour Driven Development with Specflow Brown Bag – Behaviour Driven Development with
2 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 What is BDD? BDD changes the way we define and document software and helps us to think more about how our software behaves than how it is structured. Behaviour Driven Development is an Agile process that comes from TDD that allows teams to define tests upfront in common business language.
3 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Benefits of using the BDD process Communication Increases communication and understanding within and outside of the team Clarity Drives out ambiguities in stories early before valuable coding time is used up Documentation Gives specification by example – living documentation which can be shared to downstream systems Business led Functionality is driven by the business and has to conform to acceptance criteria Testable Ensures functionality is testable providing robust code. Get integration and regression testing for free. Progress indicator Instant feedback of development progress as tests pass Instant feedback Tests and results are transparent at code check in and bugs identified immediately. Reduces support Reduces support by reducing bugs and misunderstanding of requirements. Documentation can be used to reduce support. Increased confidence Living documentation can highlight large test coverage with passing tests to downstream teams and gives developers confidence to make large changes knowing the interfaces have not been broken.
4 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Installing SpecFlow We will cover SpecFlow which is a free add-on for Visual Studio. SpecFlow can use any test runner – (Tested with MSTest and NUnit) Install SpecFlow 1.Add SpecFlow in Visual Studio through the Extension Manager 2. Add SpecFlow NuGet package to your test project 3. Add a feature file to your project
5 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Feature Tests As new features are added, we write tests around each feature. Tests are grouped by feature.
6 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature Feature tests are written in the format: Given -> When -> Then Given is the set up of the existing state before the test When is the action I am testing Then is the result I expect to get back Example of a test for a feature
7 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature The C# framework code is auto-generated Right click and creating step definitions to allow SpecFlow to generate the C# methods for developers to write wiring code into. Auto-generate C# method stubs
8 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature The C# framework code is auto-generated The auto-generated method stubs are complete but basic. Additional steps are required for best practices and code re-use. Auto-generate C# method stubs Stock ticker can be a variable to allow test re-use Variable names should be more descriptive
9 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature The C# framework code is auto-generated The auto-generated method stubs are complete but basic. Additional steps are required for best practices and code re-use. Change hard coded string to wild card Rename variable and add stock ticker variable
10 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature Feature file is colour coded Variables are a different colour Test font colour is now black as there are matching code stubs
11 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Structure of a feature Feature file is colour coded Variables are a different colour Test font colour is now black as there are matching code stubs Further enhancements with tabled data The test is run once for each line in the table
12 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Turning a feature into a test Given [The test puts records in the database] When [The test uses a service client to call the service under test] Then [The test compares the result with an expected result]
13 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Turning a feature into a test Given [The test puts files in a directory] When [The test executes the dtsx (ssis) package] Then [The test compares the data in the database with an expected result]
14 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Living Documentation Documentation can be generated from the tests on check-in via the build server using Pickles. (http://www.picklesdoc.com)http://www.picklesdoc.com Documentation can be generated in HTML (with or without search capabilities), JSON, Word, DITA or Excel formats. Documentation can be generated via MS Build with a supplied task or with PowerShell Generating documentation Example Feature text appears here, so this can be more descriptive Test result of last test run is appended to the documentation.
15 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Resources Other BDD tools Cucumber - Rspec - Other documentation generation systems Relish (https://relishapp.com) SpecLog (http://www.speclog.org)http://www.speclog.org Other Resources Tutorial on SpecFlowSpecFlow
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
(Advanced) Web Application Development Test Driven Development with Ruby and Rails Bruce Scharlau, University of Aberdeen, 2013.
Automated Testing Ted Driggs (tdriggs). What Verify program behavior without human interaction Programmatically load and run test code on a wide array.
BEHAVIOR DRIVEN TEST DEVELOPMENT Specification by Example.
Wikispaces 101 Training Standards & Interoperability (S&I) Framework May 30, :00 - 5:00pm EDT 1.
Acceptance Testing vs. Unit Testing: A Developers Perspective Owen Rogers Rob Styles
Information Technology Quiz Questions with Answers Part 11 Visit: quizzes/information-technology/it-quiz-part- 11/
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Unit testing in.Net. Copyright 2007 Tikal Knowledge, Ltd. | 2 | Agenda Introduction Visual Studio built-in support Open source frameworks Working together.
Background The Encyclopedio of Life (EOL) is an ROR open source project to create a free, online reference source and database for every one of the 1.8.
A TEST FRAMEWORK USING PROTRACTOR, CUCUMBER & CUCUMBER SANDWICH Adonis Celestine Panacea.
Learn how SpecFlow enables you to do TDD with friction-free plain-English executable tests. Larry Apke Agile Expert
BDD with SpecFlow. Why BDD? 1. BDD helps build the right thing. Traditionally there are many handoffs - Requirements, development, component testing,
1 15 Making the System Operational Lecture Activities of the Implementation and Support Phases Figure 15-1.
12. NLTS2 Documentation: Quick References. 1 Prerequisites Recommended modules to complete before viewing this module 1. Introduction to the NLTS2 Training.
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
Acceptance Testing. What Is Acceptance Testing Customers write acceptance tests to determine if the system is doing the right things. Acceptance tests.
Enterprise Java and Data Services Designing for Broadly Available Grid Data Access Services.
© Hive Studios 2011 Ivan Pavlović, Hive Studios Visual C# MVP, MCT, CSM
Slide 1 FastFacts Feature Presentation June 14, 2011 We are using audio during this session, so please dial in to our conference line… Phone number:
Copyright © 2012 Accenture All rights reserved. 1 Living Requirements using Behavior Driven Development May 8, 2015
Flex Your APEX Implementing Oracle E-Business Suite Descriptive Flexfields in Application Express Shane Bentz InterVarsity Christian Fellowship/USA.
FitNesse in Fifty Minutes Chris Harbert Resonate 1.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Slide 1 FastFacts Feature Presentation October 24, 2013 To dial in, use this phone number and participant code… Phone number: Participant.
Tools for Automated Testing Presented by: Žygimantas Mockus.
Concordion. You've been there... starting a project with great intentions but, 6 months down the line, you're sitting in front of another plate of spaghetti.
© 2002 D & D Enterprises 1 Linking Images For Navigation & Clickable Image Maps.
An open source QA stack testing tools for agile teams Presented by Aaron Evans
Lecture 8: Testing, Verification and Validation Dr Valentina Plekhanova University of Sunderland, UK.
Java CGI Lecture notes by Theodoros Anagnostopoulos.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
© 2006 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. 1 © 2005 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary.
List and Search Grants Chapter 2. List and Search Grants 2-2 Objectives Understand the option My Grants List Grant Screen Viewing a Grant Understand the.
1 OECDs StatLinks Using DOIs to link to Statistical Data.
Cyreath.co.uk Empirical Pragmatic Testing Copyright ©Mark Crowther 2009 An Introduction to Behaviour Driven Testing (BDT) [Originally presented to NMQA,
1 NatQuery 3/05 An End-User Perspective On Using NatQuery To Extract Data From ADABAS Presented by Treehouse Software, Inc.
Jan 25 th 2013 Test Automation: Coded UI Test 1.Introduction 2.Internal Class Structure (Generic Structure) 3.Program architecture 4.Framework function.
Joe F. Hair, Jr. Founder & Senior Scholar Joe F. Hair, Jr. Founder & Senior Scholar Using the SmartPLS Software.
Trnsport Test Suite Project Tony Compton, Texas DOT Charles Engelke, Info Tech.
1 After completing this lesson, you will be able to: Check spelling in a document. Check for grammatical errors. Find specific text. Replace specific text.
1 An Introduction to Pivot Tables Using Excel 2000.
Data Mining with R/ORE Minming Duan. 2 iTech Solution Profile Agenda R/ORE Overview 1 XML output generation using SQL 4 Integration with IBP and BIEE.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Lecture 12: Web Services MicrosoftIntroducing CS using.NETJ# in Visual Studio.NET Objectives “Web Services are objects callable across a network.
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Workflow Product Overview.
INTRODUCTION TO ASP.NET MVC AND EXAMPLE WALKTHROUGH RAJAT ARYA EFECS - OIM DAWG – 4/21/2009 ASP.NET MVC.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
IS 4420 Database Fundamentals Chapter 10: The Internet Database Environment Leon Chen.
© 2017 SlidePlayer.com Inc. All rights reserved.