Creating a Walking Skeleton

Similar documents
Summer Session 2014 Match Results Entry and Verification Instruction Manual

CLUB REGISTRATION & SUPPORT / TICKETING


2017 Census Reporting To access the SOI s Census Reporting web site go to:

ClubNet System Instructions

BVIS Beach Volleyball Information System

Fencing Time Version 4.3

Sanctioning Events with USA Triathlon

Heart Foundation Walking Website user guide for Walk Organisers

GOLF LIFE MANAGEMENT SYSTEM Member Manual

Q. Will I be able to change to Combo plan if I am still within contract?

Non Functional Requirement (NFR)

The Spin Bowler and the Agile Tester

SCW Web Portal Instructions

resultszone Post Result Service

Competition Management

GN21 Frequently Asked Questions For Golfers

Website User Guide for Walk Organisers

Registering Club players in Whole Game Club Official Training Guide

High usability and simple configuration or extensive additional functions the choice between Airlock Login or Airlock IAM is yours!

Hydrocephalus Association WALKs Frequently Asked Questions about registering to participate, WALK participant web pages, WALK teams and more!

Online League Management lta.tournamentsoftware.com. User Manual. Further support is available online at

Quintic Automatic Putting Report

NASCAR Media Group CASE STUDY: LOCATION: Charlotte, NC GOAL: SOLUTION:

Greater Portland City League Tennis FAQ. Table of Contents

State Representatives - How to approve and lock your state teams

ACCOUNT MANAGER REFERENCE GUIDE

League Registration for New Leagues

(SWI) Swiss Volley. Scoring Service. using. Data Volley 2007 Professional

XC2 Client/Server Installation & Configuration

How to enter a scorecard into Play Cricket

Youth Progression Tracking System Manual

New Jersey Travel Team Registration Handbook 2010/2011 Season Contents

Tennis Ireland National Player Database

Dive Sheets & Running Events Meet Management Software Tutorial for EZMeet Version 3.1 revised 2/4/2006

ITF SCORER ONLINE TRAINING SETUP

Apple Device Instruction Guide- High School Game Center (HSGC) Football Statware

SPORTS TG ELECTRONIC TEAM SHEETS AND RESULTS ENTRY SOUTH AUSTRALIAN AMATEUR SOCCER LEAGUE

GN21 Frequently Asked Questions For Golfers

Full-Time People and Registrations Version 5.0

Access will be via the same Player Registration tab via the Player Registrations Officer role section.

ExcelDerby User's Manual

CONTENTS... 2 CONFIGURATION... 3 VENUE MANAGEMENT SETTING UP COMPETITIONS TEAM MANAGEMENT FIXTURING PUBLICATION...

APP NOTES Onsight Connect Cisco Integration. July 2016

KIOSK: SCORE CENTRE USER MANUAL RCGA Network Kiosk: Score Centre User Manual

The South Carolina Independent School Association 2014 State Swimming Championships

Missouri Hockey Youth Division Scheduling Web Site Club Coach & Manager Manual Updated - 9/5/2013

TEAM MEDICAL PERSONNEL

MEET SANCTIONING REFERENCE BOOKLET

uemis CONNECT: Synchronisation of the SDA with myuemis

For running only the scoresheet application without any video features only some very basic hardware / software requirements have to be fulfilled:

Quick Start Guide. For Gold and Silver Editions

Team Manager's Manual

How to register for a SENIORS IPIN

The MRL Furnaces USED FOR THIS MANUAL COVERS

IDeA Competition Report. Electronic Swimming Coach (ESC) for. Athletes who are Visually Impaired

FAQ RCGA Network. The RCGA is dedicated to offering you the best customer support possible. Our goal is to respond to your requests within 24hrs.

Click IRB Resources Frequently Asked Questions

A GUIDE TO USING MYNETBALL (CLUBS)

by Robert Gifford and Jorge Aranda University of Victoria, British Columbia, Canada

Roster Maintenance. How-to Access Your Club Roster

Agile Drupal Development with Scrum. 3. September 2009 Philipp Schroeder, Liip AG Mori Sugimoto, Diasporan

CONTENTS. Welcome to Season Setup in Play Football Setting Up Our Details Setting up Age Groups... 9

Competition Management Online User Guide for Basketball

McKnight Hockey Association

For clarification or assistance with TDM-web or any USTA web-based application,

The Reserve Club. Introduction to. On Line Tee Time System For Private Clubs

Clyne Golf Club Online Booking System Booking

Using the Sailwave Results Programme April 2016

ROTAX GLOBAL APP GUIDE. (revised ) GRAND FINALS EDITION

How to Use the TennisLink Online Sanction Form for Sanctioned Tournament

Hertfordshire Girls Football Partnership League Promoting the development of girl s football in Hertfordshire

Meter Data Distribution User Manual

Table of Contents Diagnosis ICD9 to ICD10 GEM Report... 1 Diagnosis Form... 5 Helpful Hints on Correcting Issues... 8 Disclaimer...

Guide to Using I CSA TechScore

Computer Operator Instructions. Extra Instructions for High School District Championship Meets

MyCricket User Manual

American Thoroughbred Handicapping Program

BiiSafe Buddy User Guide

INSTRUCTIONS FOR NAVIGATING TOPDOG

OVENS & MURRAY BOWLS REGION PROCEDURES FOR ENTERING PLAYER NAMES AND BOWLS RESULTS

Who takes the driver seat for ISO and DO 254 verification?

TOURNAMENT TEAM REGISTRATION INSTRUCTIONS:

Group walks & events manager: Getting Started for Editors

Step One - Visiting the School Zone:

Player Ratings Summary

OMS Alerts with Milsoft IVR Written by: Darcy O Neal Presented by: Clayton Tucker

Hazard Training Guide

Operating Manual. SUPREMA Calibration. Software for Fire and Gas Warning Units. Order No.: /01. MSAsafety.com

David C. Yen Miami University

BUYER S GUIDE AQUAlogger 530WTD

Club s Homepage Welcome Club Calendar Logout Add a Request Play Date Requested Time Hole Selection # of Tee Times Break Link

Napa Technology Trouble Shooting. For Premier & Premier PLUS Models

E.D.S.C. Masters Meet - Sunday 19 th May 2019

Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not defined.

OZCHASE RACING - ONLINE NOMINATIONS USER GUIDE - Ozchase Online Nominations User Guide Page 1 of 28

SLDMB Project NSS NIF. Brian Stone Canadian Coast Guard 2011

Boyle s Law: Pressure-Volume Relationship in Gases

Group walks & events manager: Getting Started for Contributors

Table of Content IMPORTANT NOTE: Before using this guide, please make sure you have already set up your settings in

Transcription:

Creating a Walking Skeleton Paul Grenyer Aviva Team Meeting April 2012 Norwich Developers Community April 2012 ACCU Conference April 2012 ACCU London September 2012 Agile Cambridge (TBC) September 2012 Email: paul.grenyer@gmail.com Twitter: pjgrenyer Blog: http://paulgrenyer.blogspot.com

About Me Husband & Father Independant Software Engineering Consultant Robust software development Automated testing Java, C# & C++ Published Author Book on the way Agile Evangelist Agile East Anglia Organiser (On The Code City) BDD 7 th June 2012 Heavy metal, Sci-fi & Formula 1 Fan

Agenda What is a Walking Skeleton? Why do you want a Walking Skeleton? How do you create a Walking Skeleton?

Creating a Walking Skeleton Session Objectives You to understand what a Walking Skeleton is. You to understand why you need a Walking Skeleton. You to see how easy it is to create a Walking Skeleton. Approximately 25 steps

Creating a Walking Skeleton Danger Will Robinson There Will Be Code

Creating a Walking Skeleton Ask Questions!

Creating a Walking Skeleton What is a Walking Skeleton?

What is a Walking Skeleton? A Walking Skeleton is a tiny implementation of the system that performs a small end-to-end function. - Cockburn 1994, 1997, 2004

What is a Walking Skeleton? A Walking Skeleton is an implementation of the thinnest possible slice of real functionality that we can automatically build, deploy and test endto-end. - Freeman & Pryce GOOS

What is a Walking Skeleton? Automated: Build Unit & Integration Tests Deploy Acceptance Tests Static Analysis Code Coverage

Creating a Walking Skeleton Why do you want a Walking Skeleton?

Why do you want a Walking Skeleton? Code without tests is bad code. It doesn t matter how well written it is; how pretty or object orientated or well encapsulated it is. With tests we can change the behaviour of our code quickly and verifiably. Without them, we really don t know if our code is getting better or worse. - Michael Feathers, Working Effectively with Legacy Code

Why do you want a Walking Skeleton? Automated Build Automated Deploy Solve deployment process issues early Automate deployment Automated Acceptance Tests for Features. Test Driven Development (TDD) at the system level (GOOS) Automated Unit and Integration Tests Automated Coverage Automated Static Analysis Continuous Integration

Creating a Walking Skeleton How do you create a walking skeleton?

How do you create a Walking Skeleton? Review User Stories Write and Automate First Acceptance Test (which will FAIL!) Automate Build and Package Automate Deploy Implement Feature Automate Static Analysis Automate Code Coverage & Integration Test

How do you create a Walking Skeleton? As a user I want to be able to log into the application so that it knows who I am. 1. When I first access the application I am presented with the login screen. 2. If I enter incorrect credentials I receive the message "Bad credentials". Combinations include: bad username bad password 3. If I enter the correct credentials I am taken to the applications home page.

How do you create a Walking Skeleton? As a user I want to be able to log into the application so that it knows who I am. Test That: Login Page Is Displayed When Accessing The Application For The First Time. Bad Username Results In Error Message Bad Password Results In Error Message Correct Credentials Display Home Page

How do you create a Walking Skeleton? Java Web Application Spring Security JUnit & HtmlUnit Ant PMD Cobertura Tomcat

How do you create a Walking Skeleton? Write and Automate First Acceptance Test Automate Build and Package Automate Deploy Implement Feature Automate Static Analysis Automate Code Coverage & Integration Test

How do you create a Walking Skeleton? Integration Tests: Integration tests are automated tests that test the interaction between at least two different parts of a system. For example a test which checks that a data access layer correctly loads data from a database is an integration test. Acceptance Tests: Rachel Davies describes acceptance tests as...scripts - manual or automated - that detail specific steps to test a feature. [Davies] Generally acceptance tests are run against a deployed system to check that it behaves in a way that will be accepted as a complete or partially complete feature.

How do you create a Walking Skeleton? Unit Tests Unit tests are automated tests that test a single unit, such as a class or method. Usually the class under test is instantiated with any dependent colaborators mocked out and then tests are run against it. In some ways it is easier to describe what a unit test is not and Michael Feathers has done this very well: A test is not a unit test if: It talks to the database It communicates across the network It touches the file system It can't run at the same time as any of your other unit tests You have to do special things to your environment (such as editing config files) to run it.

How do you create a Walking Skeleton?

How do you create a Walking Skeleton? Stop! Code Time!

How do you create a Walking Skeleton? Integration Tests: Integration tests are automated tests that test the interaction between at least two different parts of a system. For example a test which checks that a data access layer correctly loads data from a database is an integration test. Acceptance Tests: Rachel Davies describes acceptance tests as...scripts - manual or automated - that detail specific steps to test a feature. [Davies] Generally acceptance tests are run against a deployed system to check that it behaves in a way that will be accepted as a complete or partially complete feature.

How do you create a Walking Skeleton? Automated First Acceptance Test Automated Build and Package Automated Deploy Implemented a Feature Automated Static Analysis Automated Code Coverage & Integration Tests

Creating a Walking Skeleton Session Objectives Do you to understand what a Walking Skeleton is? Do you to understand why you need a Walking Skeleton? Did you to see how easy it is to create a Walking Skeleton?

Creating a Walking Skeleton Any questions? Don't forget: BDD 7 th June. See you in the bar... Email: paul.grenyer@gmail.com Twitter: pjgrenyer Blog: http://paulgrenyer.blogspot.com