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.

Slides:



Advertisements
Similar presentations
Behavior Driven Test Development
Advertisements

1 19-Jan-14 © Copyright: City Boy Salary : Simon Powers : 2014 Brown Bag – Behaviour Driven Development with Specflow Brown Bag – Behaviour Driven Development.
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Ranorex Appium Calabash
Acceptance Testing.
C UCUMBER behavior driven development Presented by: Julian Togashi and Ryan Lewis CPSC 473.
Local Touch – Global Reach The New Tester Matthew Eakin, Manager Managed Testing Practice Sogeti, USA.
Alternate Software Development Methodologies
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.
Living Requirements using Behavior Driven Development
By Ms.A.C.Sumathi AP(SG)/ Dept of CSE SNS College of Engineering, CBE.
The Integration Story: Rational Quality Manager / Team Foundation Server / Quality Center Introductions This presentation will provide an introduction.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Database Management System Lecture 2 Introduction to Database management.
Nathaniel Neitzke Lighthouse1, LLC
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Ruby & rails by Nicholas Belotti. What is ruby Ruby is an object orientated scripting language. In Ruby...everything is an object! Ruby was released in.
Copyright BSPIN Agile Practices Benchmarking Case Study by Mazataz – Tesco.
Functional Automation Testing Case Study 360logica Software Testing Services.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Requirements Engineering ments_analysis.
Object-Oriented Analysis and Design Fall 2009.
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
Acceptance criteria vs. Functional requirements by Anna Dąbrowska.
Cyreath.co.uk Empirical Pragmatic Testing Copyright ©Mark Crowther 2009 An Introduction to Behaviour Driven Testing (BDT) [Originally presented to NMQA,
Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert
BA Team: Product Ownership, Analysis, and Solution Design BA Bi-Weekly Mini-meeting May 19, Acceptance Criteria Defining Success one Story.
QUICK START OF GITHUB Lin Shuo-Ren 2013/3/6 1. Why We Should Control The Version Although it rains, throw not away your watering pot. All changes should.
SYS466 Casual Use Case Specifications. Systems Use Case Diagrams and Specifications Based on the dialog metaphor Based on the dialog metaphor The process.
Telerik Software Academy Software Quality Assurance Binding business requirements to.NET code.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
1 Presentation Title Test-driven development (TDD) Overview David Wu.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Requirements Engineering ments_analysis.
BEHAVIOR DRIVEN TEST DEVELOPMENT Specification by Example All Rights Reserved - Sound Agile Consulting.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Zhuhai Test Automation Overview Ryan Li Team lead of test automation Foglight QA.
Declarative Configuration Management with Azure Automation DSC and ARM Nathan Lasnoski Vice President of blog.concurrency.com Concurrency.
 System Requirement Specification and System Planning.
Introduction to Workbot 2.0 Ryan Li  Test automation  ant the Cucumber.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
CS223: Software Engineering
HPE ALM Octane.
Software Engineering “Practical Approach”
Leverage your Business with Selenium Automation Testing
BEHAVIOR DRIVEN DEVELOPMENT / TESTING (BDD)
TEST AUTOMATION IN BDD WAY
Use Cases Discuss the what and how of use cases: Basics Benefits
Bring Accessibility into the Development Lifecycle with CI Testing
Software testing
Software Quality Assurance
Advantages OF BDD Testing
Dynamics 365 Customer Engagement Deep Dive: Creating a Basic Plug-in
Design and Programming
Advanced BDD for large scale test automation
Lecture 09:Software Testing
Advanced BDD for large scale test automation
Practical Software Engineering
Constructing MDA-based Application Using Rational XDE for .NET
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Extreme Programming.
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Palestinian Central Bureau of Statistics
Presentation transcript:

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 million species that are named and known on this planet.

Automated tests decrease the cost of releases dramatically and ensure the integrity of the data, code, and visual representation. The goal of this project is to develop an acceptance testing framework that can check all the functionalities of EOL website. The ultimate goal of this project is to extend the framework to be general enough to check any given website, simply by changing the configuration and defining new test suits.

BDD Behavior driven development (BDD) is an agile software development technique that encourages collaboration between developers, QA, and non- technical or business participants in a software project. BDD focuses on the application behavior rather than coding. The developers write test cases in a natural language such as English, that non- programmers can read and understand, which create a bridge between developers and non- technical people.

Architecture Environment configuration files are the files that are used to customize the environment variables, which enables this project to be a generic testing framework that can be used to test any website. YAML was chosen as the preferred file format for configuration files because of its ease of use and robust integration with Ruby.

Feature and step definitions files are the specification testing files that validate the system functionality against the specifications. Support helper files are the system helper files that are used to parse the customized environment variables, path, and selectors from the environment configuration files.

Cucumber It started as a tool for Ruby, but now supports a wide variety of platforms, e.g. Java,.NET. There are 2 kinds of important files in Cucumber: Feature file and step definition files, to validate the system functionality against the specifications. Feature file ends with.feature, step definition files are ruby files.

Feature File Cucumber feature files are plain-text files that can be written in over 20 languages. A feature file describes a or a part of a feature with expected outcomes. Cucumber uses these files to validate the system functionality against the specifications. It makes it absolutely clear what the system is expected to do and helps to avoid any misunderstanding and ambiguity. It also makes it possible for an automation tool to check whether the system works according to the specification.

Feature File A feature file allows for a short description in a header, which describes the intention of the feature. The header should give the reader a context to understand the rest of the file, it usually described in the user story format: to describe a feature, name the stakeholder, the benefit and the intended solution. Each scenario follows by a title providing the reader the context required to understand the example described by the scenario. Each scenario is described by one or more steps.

Step definition file. Step definition file is a ruby file, like method or function definition. They tell Cucumber what to do when interpreting a particular step. Steps can be reused in many scenarios.

Capybara Capybara is an acceptance testing framework for the rack based (Rails, Merb) application. It simulates how a user interact with the application. Can be used with Cucumber, Rspec, RubyOnRails, or other Rack application.

Selenium By default, Capybara uses the :rack_test driver, which is fast but does not support JavaScript. So in this project, we set up the default driver: Selenium, which supports Javascript and AJAX tests.

Collaboration Due to the distributed characteristic of the team, it is critical that how effective we collaborate and manage our work. We use Distributed Version Control – GIT, to manage the code, store the repository in GitHub.

Why Git not SVN? nearly every operation is done off data on the local disk. fast and can be done offline does not have a single point of failure. Every member working on the project has a full backup of the project data, losing the collaboration servers is a minor inconvenience at best. branches operations. Create and merge branches