Agile Testing with Acceptance Test Driven Development and Behavior Driven Design. Two Day Course Overview



Similar documents
How To Be Successful At An Agile Software Engineering

Agile Testing (October 2011) Page 1. Learning Objectives for Agile Testing

Agile Tester Foundation Course Outline

Automation testing in Agile projects - Overview Shirly Ronen-Harel Mar 2014

Agile Scrum Workshop

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

ISTQB Agile Tester in a Nutshell ISTQB Marketing Working Group

CURRICULUM VITAE DAMIR KUSAR

ICAgile Learning Roadmap Agile Testing Track

Agile Testing. What Students Learn

Certified Agile Software Test Professional (CASTP)

The Agile Manifesto is based on 12 principles:

Bridging the Gap Between Acceptance Criteria and Definition of Done

Introduction to Agile Software Development Process. Software Development Life Cycles

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Introduction to Agile

Evolving Agile Testing

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Testing and Quality in Agile Development Speaker: Allan Watty Company: ABB Inc Website:

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Agile Testing Overview

The Agile Movement An introduction to agile software development

Measuring ROI of Agile Transformation

Preface Agile Testing Review

A Practical Guide to implementing Agile QA process on Scrum Projects

Certified Scrum Developer (CSD) Course Description

Agile Testing. Workshop. Tilo Linz, imbus AG

Testing in Agile methodologies easier or more difficult?

Agile Journeys. The CareerBuilder Story

Scaling Agile Is Hard, Here s How You Do It!

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Accelerating software testing effectiveness using Agile methodologies..

Scenarios for Pair Coaching Exercises

Assignment 1: Your Best Backlog

Benefits of Test Automation for Agile Testing

The Agile Drupalist. Methodologies & Techniques for Running Effective Drupal Projects. By Adrian AJ Jones (Canuckaholic)

Agile with XP and Scrum

An Overview of Agile Testing

AGILE & SCRUM. Revised 9/29/2015

Growing testing skills using the Agile Testing Ecosystem. Dr Lee Hawkins Principal Test Architect Dell Software, Melbourne

Testing and Scrum. Agenda. Fall 2007 Scrum Gathering

Iteration Planning. also called Iteration Kickoff

Live Specifications: From Requirements to Automated Tests and Back

Selling Agile to the CFO: A Guide for Development Teams

Automated Acceptance Testing of High Capacity Network Gateway

Accelerating Time to Market with Agile Testing

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Chapter 3. Technology review Introduction

A Glossary of Scrum / Agile Terms

QA or the Highway 2016 Presentation Notes

Tech Radar - May 2015

Introduction to Agile and Scrum

Tips for Good Agile Requirements

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Evangelism Identifying key members of the user community and assist them in using clients' solutions

Chapter 9. The Role of Quality Assurance in Lean-Agile Software Development

A Study of RE Across Different Software Development Lifecycle Models. Afiya Nusrat and Navreet Ghag CS 846 Spring 2015

7/24/2015. Blackstone Drupal Team

SCALING AGILE. minutes

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

AGILE SOFTWARE TESTING

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

Agile Based Software Development Model : Benefits & Challenges

Teaching an Elephant to Dance. Patterns and Practices for Scaling Agility

Product Development Best Practices

Course Title: Planning and Managing Agile Projects

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

EB TechPaper. Managing complexity with agile development. automotive.elektrobit.com

Agile Requirements And Testing For Continuous Software Delivery

Agile Team Roles Product Owner & ScrumMaster. Brian Adkins Rick Smith

Testing in Scrum Projects

Successfully Scaling an Agile Innovation Culture with Perforce

Introduction to Enterprise Agile Frameworks

ALM Solutions using Visual Studio TFS 2013 ALMI13; 5 Days, Instructor-led

Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine

Role of the Business Analyst in an Agile Project

Global Business Services, GBS. Scrum and Kanban. Processer & IT nord seminar 5v3. Gitte Klitgaard Hansen, IBM

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

Course Title: Managing the Agile Product Development Life Cycle

HP Agile Manager What we do

DATA DONE RIGHT. Applying Agile and XP Concepts. #DataDoneRight

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

Agile software development

Marketing scrum vs IT scrum two marketing case studies who now act first and apologize later

Agenda Polteq 1. ie-net 11 juni 2013

Agile Software Development and Service Science

Issues in Internet Design and Development

Moderator: Albert Jeffrey Moore, ASA, MAAA. Presenters: Albert Jeffrey Moore, ASA, MAAA Kelly J. Rabin, FSA, MAAA Steven L. Stockman, ASA, MAAA

T14 "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

How to manage agile development? Rose Pruyne Jack Reed

NIH PROJECT MANAGEMENT COMMUNITY THE DEVOPS EFFECT DONNA KNAPP ... educate & inspire ITSM Academy

QA Tools (QTP, QC/ALM), Selenium with Java, Mobile with Automation, Unix, SQL, SOAP UI

Agile Test Planning with the Agile Testing Quadrants

Shift Left: Test Automation in Agile Environments Unlock the Secrets

Payer test platform: How to ensure compliance, reduce timeto-market and maximize return on investment

Transcription:

Agile Testing with Acceptance Test Driven Development and Behavior Driven Design Two Day Course Overview 2014 The Agile Tester,

About the instructor. Tim Walker is a career software engineer, educator and team coach applying "outside-in" behavior and test driven approaches. His goal is to assist agile teams achieve excellent results by "baking quality in", while constantly improving their the agile and lean development processes and results. Bringing over 30 years of iterative software engineering experience using Object Oriented Analysis and Design as well as Domain Driven Design to help teams build a "ubiquitous language" in to their test first disciplines. Developed and delivered "Executable Requirements with FitNesse" as a staff member of the Agile University and as an education director with an international consulting team. Developed, delivered and coached Agile Mastery, Agile Estimation and Planning and much more. Developed the "Scrum Accelerator" and delivered it to Agile 2008 in Toronto receiving several "best in show" evaluations. Have taught test first processes to many fortune 100 and 500 companies. Recently applying behavior driven and test driven development on multiple large scale utility projects managing Smart Grid devices and most recently on a mission critical government accounting system where we worked with the Relish authors to publish executable specifications as the source of truth for the API's and complex business rules. The Agile Tester, LLC Tim Walker 2537 Sweetwater Circle Lafayette, Colorado 80026 (720) 323-4652 walketim@gmail.com Twitter: @theagiletester, @walketim Specialties: Lean and agile software testing, iterative processes applied at the enterprise and mission critical levels, Executable Requirements, Physical Device Integrations, Testing in the Four Quadrants, Ruby on Rails, Cucumber, BDD, TDD, OOAD, Scrum, Kanban, Java, C and Assembler. Tim is a certified Scaled Agile (SAFe) Program Consultant (SPC).

Introduction An introduction and easy discussion about what and how will follow. Introduction Lab Prep We create our lab teams consisting of the business owner/sme, developer/tester, creating a name and a mock business and domain name. Module 1 Introduction to Agile Testing While agile and lean development practices have been evolving and becoming common place we find that we can improve our agility significantly by adopting agile testing approaches. Module 2 Technical Debt in Agile A lot of teams struggle to sustain agile and iterative processes in practice. Automation lags, quality is low and change is difficult. We explore why that happens and what the true cost is. Module 3 Specification or Test? Teams to invest in the creation of requirements and test cases and then have issues with change management and maintenance. We explore the power of executable specifications. Module 4 ATDD, BDD and TDD Explained The class learns about Acceptance Test Driven Development, Behavior Driven Development and Test Driven Design technical practices and learns how and why these practices support agility. Module 5 BDD in the Agile Context Despite incorporation of scrum and other agile approaches teams still take a v-model approach to development. We look at what happens when we write executable specifications. Module 6 New Role for QA Without changing our approaches, traditional regression testing is just too slow to support rate of change required. Whole team approaches to quality and powerful exploratory testing emerge. Lunch The Agile Tester - Introduction Day 1 Morning

Day 1 Afternoon Module 11 Introduction to Domain Driven Design Domain Driven Design works with the principles established by Eric Evans to manage complexity in software development. We will connect the dots with our executable specifications. Lab 11 Introduction to Domain Driven Design Lab We will apply domain modeling to our business context and discover the ubiquitous language for our domain. Module 7 Specification by Example We will cover ambiguity in requirements and how to resolve it while providing a deeper shared understanding of them by expression with concrete examples. Lab 7 Specification by Example Lab We will explore some ambiguous requirements and work together in teams to improve them by incorporating examples. Module 8 Mastering Cucumber We will learn how to express requirements in the Gherkin language and how Cucumber is used to automate them. Demo Cucumber Demo The instructor will do a live demonstration using Cucumber to write and execute some simple behavior. Lab Mastering Cucumber: Writing Cucumber Lab The class will get hands on experience writing Gherkin to flesh out the acceptance of some given user story contexts. The teams will review their solutions with the class. Adjourn Thank you!

Review Module 9 Review what we ve learned Cucumber Best Practices The class will learn about a dozen common smells of poorly crafted Cucumber as well as the challenges they create. Best practice guidelines are offered. Lab 3 Rate My Cucumber Lab The class will take several real world cucumber examples and sniff them for the common smells and make recommendations for improvements. Module 10 Continuous Integration One of the reasons test first development practices increase agility is because we get feedback sooner. We will explore the importance of fast feedback and how we ll use continuous integration. Module 12 Publishing Tests: Single Source of Truth Our BDD practices create a unique and powerful source of truth of how our software works by publishing them as first-class documentation which supports searching, navigation that is always up to date. Module 13 The Agile Tester - Introduction Non-Functional Requirements and BDD Day 2 - Morning BDD to used to support powerful system capability testing (performance, capacity, security etc.) of the software from the beginning of the software project ensuring constant releasability of the solution. Lunch

Module 14 Agile Test Orchestration It is critical to understand the agile testing quadrants and the testing pyramid to drive our focus in a strategic test plan and when to test through the user interface and where manual testing fits in. Module 15 Evolutionary Database In order for agile and iterative development to work we need a way to evolve our databases incrementally. Traditional mechanisms for managing databases are fragile and risky. Lab Option The Cucumber Client Simulation Day 2 - Afternoon If the situation allows we will take some use cases from the customer domain and break into small teams to craft them with Cucumber s Gherkin. We will ask the team to think about the data required in setup and other tactical problems. Lab Option The Cucumber Business Simulation Otherwise we will take the business concept through very abbreviated 5 levels of agile planning. We ll take the top 5 stories discovered by the process and express the acceptance criteria for them in the first sprint applying what we ve learned. Adjourn Thank you.

LAB PREP The class will self organize in to teams of three. Write the words: QA, DEV, BIZ on pieces of paper, fold and place in a hat or similar. Each team member picks a paper and fills out a name placard, sticker or neck hanger with that role. This is the role they will play on the teams for the labs. Each team decides on a name and industry of a mock company or they can choose to use their current company. This will be used to drive the exercises in the labs. See lab handout for more information.

Agile Testing with Acceptance Test Driven Development and Behavior Driven Design For any questions or to receive more information please contact: tim.walker@theagiletester.com or twitter: @theagiletester 2014 The Agile Tester,