Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert

Slides:



Advertisements
Similar presentations
Behavior Driven Test Development
Advertisements

An Effective Agile Testing Framework AN AGILE TESTING FRAMEWORK
Acceptance Testing.
Google Confidential and Proprietary Succeeding with Behavior Driven Development (BDD) Testing and Automation Seattle Area Software Quality Assurance Group.
Local Touch – Global Reach The New Tester Matthew Eakin, Manager Managed Testing Practice Sogeti, USA.
Alternate Software Development Methodologies
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Agile Testing with Testing Anywhere The road to automation need not be long.
Software Development Unit 6.
Learn how SpecFlow enables you to do TDD with friction-free plain-English executable tests. Larry Apke Agile Expert
Living Requirements using Behavior Driven Development
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
THE CONTINUOUS DELIVERY ZONE Craig Berntson Chief Software Gardener Mojo Software Worx.
Nathaniel Neitzke Lighthouse1, LLC
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
DevOps Jesse Pai Robert Monical 8/14/2015. Agile Software Development 8/14/2015© 2015 SGT Inc.2.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
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.
Copyright BSPIN Agile Practices Benchmarking Case Study by Mazataz – Tesco.
Solar Orbiter SOC: Software Development Solar Orbiter SOC SW Development Team 07 Jul 2015.
Integrating Automation into Manual Testing
SYSTEM DYNAMICS MODELING OF AGILE CONTINUOUS DELIVERY PROCESS 資工 4A 鄭鈞輿.
& Dev Ops. Sherwin-Williams & DevOps Introduction to Sherwin-Williams.
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.
© ALEXANDRE CUVA  VERSION 2.00 Test Driven Design.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Cyreath.co.uk Empirical Pragmatic Testing Copyright ©Mark Crowther 2009 An Introduction to Behaviour Driven Testing (BDT) [Originally presented to NMQA,
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
Telerik Software Academy Software Quality Assurance Binding business requirements to.NET code.
Agile Software Development Jeff Sutherland, one of the developers started it In February 2001, 17 Tools: continuous integration, automated or xUnit test,
BEHAVIOR DRIVEN TEST DEVELOPMENT Specification by Example.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
LOGO Introduction to DevOps 中科大移动云计算系统实验室 孟宁. LOGO Page  2 Agenda Introduce DevOps DevOp Patterns How to Start Adopting DevOps.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Introduction to Software Testing (2nd edition) Chapter 4 Putting Testing First Paul Ammann & Jeff Offutt August.
MSF 4.0 for Agile Software Development Ron Tolido Capgemini.
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.
How and why we should use Behat?. About me Bozhidar Boshnakov QA Department FFW Drupal.org – bboshnakov Linkedin.com/in/bboshnakov.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
CS223: Software Engineering Lecture 31: Acceptance Testing.
Agile = regular iterations, releases time-boxed incremental regular heartbeat streamlined collaboration co-located team on-site customer face-face communication.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
HPE ALM Octane.
Continuous Delivery and Quality Monitoring
Implementing Full-Stack Test Automation for Drupal 8
User Stories > Big and Small
From manual test shop to fully automated test coverage: A How-To session to speed up your journey Jayshree Bhakta ITHAKA/JSTOR.
Leverage your Business with Selenium Automation Testing
Where Agile Business Meets Agile Development
Paul Ammann & Jeff Offutt
Behavior Driven Test Development
Advantages OF BDD Testing
Johanna Rothman Create Technical Excellence Chapter 9
DevOps CSCI 577b.
TDD adoption plan 11/20/2018.
Testing and Test-Driven Development CSC 4700 Software Engineering
Automated Testing and Integration with CI Tool
Continuous Delivery good & bad 4/20/2012
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
TDD & ATDD 1/15/2019.
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
Presented by Elodie Bernard
Introduction to BDD. Introduction to BDD “BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation,
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Development Process Using UML Recap
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Presentation transcript:

Automated Acceptance Testing and Continuous Delivery Larry Apke Agile Expert

The ability to consistently and predictably deliver high- quality software that the end user can easily understand and use into a production-like environment every iteration. Consistent – every iteration Predictable – over 90% story completion High Quality – fully tested with no end user compromising defects Usable– the end user knows how to, and can, efficiently use the functionality

Consistency problems Predictability problems Quality problems Usability problems

Sometimes described with different terms: TDD – Test Driven Development ATDD – Automated Test Driven Development BDD – Behavioral Driven Development Specification by Example AMDD – Agile Model Driven Development Executable specifications EDD - Example Driven Development AAT - Agile Acceptance Testing

A collaborative approach to defining requirements and business-oriented functional tests for software products based on capturing and illustrating requirements using realistic examples instead of abstract statements. It is applied in the context of Agile software development methods, in particular Behavior driven development. This approach is particularly successful for managing requirements and functional tests on large-scale projects of significant domain and organisational complexity. Wikipedia.

Specifications are written in terms of behavior or by using examples Given…When…Then (Initial Context…Event…Result) Referred to as scenarios Focuses the conversation at the right level and becomes something that business and developers can understand Scenarios become the framework for automated tests The tests that are generated/written from scenarios fail when run Code is written / refactored until tests pass and it meets code quality standards

Write the Story Feature: Calculator In order to avoid silly mistakes As a math idiot I want to be able to add, subtract, multiply and divide numbers

Write the Scenarios Scenario: 1. Add two numbers Given I have entered +50 into the calculator And I have entered +70 into the calculator When I press calculate Then the result should be 120 on the screen

Code and Passing the Tests Code Coverage Feature Files

How long does it take for one line of code that is changed to flow through the delivery chain? How long should it take? Some companies release to production multiple times per day – Flickr, Facebook, Twitter, LinkedIn – are held up as examples

Automated Testing Every code check in is a release candidate Broken builds are fixed immediately There is a deployment pipeline that takes release candidates from one level to the next ie Dev, QA, UAT, Production There are different levels of testing along the pipeline based on increasing confidence Highly automated – one button deploy

Always use version control Check in everything – “have everything that can possibly change at any point in the life of the project stored in a controlled manner” – Jez Humble – Continuous Delivery Check in to trunk Manage dependencies and configuration through automated scripts Build your environments automatically from scratch

Specification By Example - How successful teams deliver the right software Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation The Cucumber Book: Behaviour-Driven Development for Testers and Developers Dan North – Introducing BDD Fitnesse -