An Iteration in the Life of an Agile Tester

Similar documents
IT4305: Rapid Software Development Part 2: Structured Question Paper

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Generating Test Cases From Use Cases

Chapter 5: TEST THE PAPER PROTOTYPE

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Visit us at:

Android App Development for Beginners

Software Maintenance

From Self Hosted to SaaS Our Journey (LEC107648)

The Moodle and joule 2 Teacher Toolkit

Get with the Channel Partner Program

Mike Cohn - background

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

Lean UX: Applying Lean Principles to Improve User Experience

M55205-Mastering Microsoft Project 2016

LEGO MINDSTORMS Education EV3 Coding Activities

Ministry of Education, Republic of Palau Executive Summary

Two Futures of Software Testing

QUESTIONING QUALITY. Chapter 6. Shortcut 16: Bah! Scrum Bug! New Definitions. Definition 1: Issues

A BOOK IN A SLIDESHOW. The Dragonfly Effect JENNIFER AAKER & ANDY SMITH

The Flaws, Fallacies and Foolishness of Benchmark Testing

LEARN TO PROGRAM, SECOND EDITION (THE FACETS OF RUBY SERIES) BY CHRIS PINE

The Nature of Exploratory Testing

LEARNER VARIABILITY AND UNIVERSAL DESIGN FOR LEARNING

STANDARD OPERATING PROCEDURES (SOP) FOR THE COAST GUARD'S TRAINING SYSTEM. Volume 7. Advanced Distributed Learning (ADL)

Major Milestones, Team Activities, and Individual Deliverables

The open source development model has unique characteristics that make it in some

Cognitive Thinking Style Sample Report

Urban Analysis Exercise: GIS, Residential Development and Service Availability in Hillsborough County, Florida

Strategy and Design of ICT Services

Online Marking of Essay-type Assignments

How to make an A in Physics 101/102. Submitted by students who earned an A in PHYS 101 and PHYS 102.

Computer Software Evaluation Form

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Practice Examination IREB

Blackboard Communication Tools

Beyond the Blend: Optimizing the Use of your Learning Technologies. Bryan Chapman, Chapman Alliance

Team Dispersal. Some shaping ideas

Education: Integrating Parallel and Distributed Computing in Computer Science Curricula

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

Top Ten Persuasive Strategies Used on the Web - Cathy SooHoo, 5/17/01

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Spring 2015 Online Testing. Program Information and Registration and Technology Survey (RTS) Training Session

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

5 Guidelines for Learning to Spell

TU-E2090 Research Assignment in Operations Management and Services

Listening to your members: The member satisfaction survey. Presenter: Mary Beth Watt. Outline

Requirements-Gathering Collaborative Networks in Distributed Software Projects

Davidson College Library Strategic Plan

Group Assignment: Software Evaluation Model. Team BinJack Adam Binet Aaron Jackson

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

Case study Norway case 1

Measurement & Analysis in the Real World

Problem Solving for Success Handbook. Solve the Problem Sustain the Solution Celebrate Success

Course Content Concepts

The Creation and Significance of Study Resources intheformofvideos

Infrared Paper Dryer Control Scheme

Speak Up 2012 Grades 9 12

Day 1 Note Catcher. Use this page to capture anything you d like to remember. May Public Consulting Group. All rights reserved.

Essentials of Rapid elearning (REL) Design

Outreach Connect User Manual

UNA PROFESSIONAL ACCOUNTING PREP PROGRAM

Every curriculum policy starts from this policy and expands the detail in relation to the specific requirements of each policy s field.

IT Project List. Description

The Wegwiezer. A case study on using video conferencing in a rural area

White Paper. The Art of Learning

Nearing Completion of Prototype 1: Discovery

File # for photo

Introduction to Communication Essentials

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Pragmatic Use Case Writing

IMPORTANT STEPS WHEN BUILDING A NEW TEAM

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

and. plan effects, about lesson, plan effect and lesson, plan. and effect

Apples (I Know That!) By Claire Llewellyn

IBM Training Custom Catalog

Testing for the Homeschooled High Schooler: SAT, ACT, AP, CLEP, PSAT, SAT II

Education the telstra BLuEPRint

Banner Financial Aid Release Guide. Release and June 2017

MKTG 611- Marketing Management The Wharton School, University of Pennsylvania Fall 2016

Fundraising 101 Introduction to Autism Speaks. An Orientation for New Hires

Section 3.4. Logframe Module. This module will help you understand and use the logical framework in project design and proposal writing.

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

Designing Propagation Plans to Promote Sustained Adoption of Educational Innovations

JING: MORE BANG FOR YOUR INSTRUCTIONAL BUCK

WP 2: Project Quality Assurance. Quality Manual

Time, talent, treasure FRATERNITY VALUE: PHILANTHROPIC SERVICE TO OTHERS SUGGESTED FACILITATOR: VICE PRESIDENT OF PHILANTHROPY

MMOG Subscription Business Models: Table of Contents

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Fearless Change -- Patterns for Introducing New Ideas

Justin Raisner December 2010 EdTech 503

CUSTOM ELEARNING SOLUTIONS THAT ADD VALUE TO YOUR LEARNING BUSINESS

Human Resources Diploma Toolbox. BSB50801 Diploma of Business (Human Resources)

How to get the most out of EuroSTAR 2013

License to Deliver FAQs: Everything DiSC Workplace Certification

Technology in the Classroom

Appendix L: Online Testing Highlights and Script

Transcription:

An Iteration in the Life of an Agile Tester Better Software 2008 Lisa Crispin With Material from Janet Gregory 1

Introduction Me: Coding, testing Joined first agile team in 2000 Currently on Scrum/XP team developing Java-based web app Tester's place in agile unclear! Since 2003 Help agile teams/testers 2

Introduction How about you? What do you hope to take from this tutorial? 3

Goals When you leave, you'll know: How to plan testing for agile projects How agile testers hit the ground running How testers collaborate, and who with How to ensure a successful release How agile testers help their teams improve their product Other items you brought up 4

Let's Follow an Agile Tester......through an iteration, and more: Release/Theme Planning Laying the Ground Work Iteration Planning Coding and Testing Successful Delivery Wrap Up the Iteration 5

Release/Theme Planning (1) Preparing for the next few iterations Sizing stories Help business set priorities 20,000 ft. view Test planning Different teams take different approaches Only plan first few stories Lean 6

Release/Theme Planning (2) Avoid too much work up front Priorities change! Identify stories to be done first Steel thread or thin slice Consider impact on larger system Don't forget load, security, reliability, other ilities 7

Sizing Stories Estimate the relative size of each story Planning poker Reduce scope as needed Consider risk Quick process (they're just estimates!) Planning poker originated with Mike Cohn, Mountain Goat Software 8

How Testers Contribute (1) Consider different viewpoints: What problem is this solving? What business value does it deliver? How will the end user use it? What's the worst thing that can happen? Programmer's perspective how to implement Ask open-ended questions 9

How Testers Contribute (2) Identify hidden assumptions Mismatch between different viewpoints Obvious from customer or programmer perspective Non-functional components Security Performance Usability... 10

How Testers Contribute (3) Infrastructure considerations Test environments, data Tools Resources Embedded systems? Outdated hardware? Third parties? Legacy code? 11

Group Exercise Divide into small groups. Appoint one person to act as the product owner and answer questions. Size each story as small, medium or large. What assumptions might be missed? What are some different perspectives? Any special concerns that affect size? As an online shopper, I want a smart toy shopping tool so I can find an appropriate gift As an online shopper, I want a simple way to search for a brand or type of toy so I can see a list of results As an online shopper, I want to be able to see the cost of different shipping options when I check out, so I can choose 12

A Little Prep Work Agile tries to work just in time But, need to hit the ground running Some preparation may save time during iteration Don't do it if it doesn't save time Be proactive Help customer prepare 13

Pre-Planning Development, Customer Team together Discuss each story Examples, user acceptance tests Brainstorm risks, dependencies, design Identify unusual testing needs eg. load, security Help customers get advance clarity accommodate different needs but achieve consensus 14

Small Chunks, Steel Threads Identify steel threads / thin slices / tracer bullets Test/code/test basic path that delivers value Quick feedback on design, test approach Then test/code/test next little chunk Continue until story is complete 15

Steel Thread Example A steel thread diagram, with passes numbered 1, 2, 3, 4. 16

Distributed Teams Keep remote team members, customers in loop Get their input for planning Divide up work May need extra roles Functional analysts, proxies Tools for collaboration, communication Tracking tasks Requirements, tests Conferencing, pairing 17

Resources, Technical Solutions Identify expertise not already on team Bring in specialists if needed Or budget time to develop expertise Spike technical solutions Story to research technologies, architecture Tools, infrastructure 18

Do You Really Need Pre-Planning? Consider if: Distributed teams Less experienced team High risk stories Maybe not if: These activities can be part of iteration Lean approach 19

Group Exercise Given the following story or feature set, what do you think is the steel thread? What features might be added on once the steel thread works? As an Internet shopper, I want to select shipping options for my items during checkout and see the shipping cost. Assumptions: User has already entered shipping address. User will be able to choose different options for different items. The options are USPS, Ground, 2 day and Overnight. PO Boxes are USPS only. Items > 20 lbs are Ground only. API to cost calculator available, takes postal code and weight. 20

Iteration Kickoff Iteration Planning Tasks, estimates High level tests Examples Big picture Collaborate with customers Review with developers Test data 21

Iteration Planning (1) Address stories in priority order If no pre-planning, product owner: Explains purpose Gives examples of how it will be used Provides mockups, wireframes 22

Iteration Planning (2) If not already done: Steel thread exercise Evaluate story size Break up if too large Watch for scope creep, bling Keep big picture in mind 23

How Testers Contribute (1) Again, consider all viewpoints Stakeholder User Programmer Technical writer Focus on examples Suggest steel thread exercise Evaluate story size break up if too big 24

How Testers Contribute (2) Ask questions What's the business goal? Can the user mess up? How do they fix it? Are we working with a vendor or specialist? How do we coordinate testing? Can we obtain data for testing? 25

Planning Tasks (1) Write development and testing cards together Some teams start with tests Some teams write testing tasks on development cards Other teams write separate testing cards Color coding helpful Physical or virtual 26

Planning Tasks (2) Write cards for anything that might be forgotten Unit tests Showing UI to customers Send test files to vendor Write cards for performance, reliability, other 'ility' testing Identify information needed for test cases Vendor API requirements 27

Estimating Tasks Use hours (remember, just estimates!) Consider alternatives Scale tasks so they're all one day's work Write big task card to be broken down when more is known Be conservative Consider lean approach 28

Testable Stories Think about how you can test each story Work from examples Team solves testing, testability problems Ex. Way to override server date/time Design code in layers Testable at each layer 29

High Level Tests and Examples (1) Start with tests written together Start with big picture Turn examples into tests Lots of options Spreadsheets Bullet points Graphical Use cases Matrix Errors Warning s Product 1 Product 2 Functionality 1 Functionality 2 Functionality 3 Functionality 4 Functionality 5 Functionality 6 Functionality 7 30

High Level Tests and Examples (2) Capture somewhere entire team can see Wiki Whiteboard Use screenshots, mockups, visual aids Customer-friendly format Forms core of documentation Include non-functional requirements eg. Security, usability 31

High Level Tests and Examples (3) Review with developers Face to face communication best When remote, use tools As direct as possible Adjust work schedule Review with customers Collaborate closely Leave details for later When coding starts 32

Group Exercise Story: As an Internet shopper, I want to select shipping options for my items during checkout and see the shipping cost. Divide your team into testers and customers. Write high level tests for the story. Use whatever format and techniques you like. What are some examples of desired behavior? What would help make the story testable? What requirements might change later? 33

Coding and Testing Coding and testing are part of one process Write detailed, executable tests Collaborate with developers Automate tests Do exploratory testing Keep up 34

Write Detailed Tests (1) High level tests get programmers started Don't let coding get way ahead of testing Write executable tests But think about exploratory testing scenarios 35

Write Detailed Tests (2) Start simple Simplest happy-path test case Developer helps automate Once passing, add more complex tests Add passing tests to build We can't keep up without automating regression tests No time for manual exploratory testing without automation 36

Driving Development with Tests All team members collaborate on stories Focus on completing one story at a time Iterative process Revise tests as needed Use risk analysis as guide Power of three Tester, developer, customer discuss questions, issues 37

Dealing with Bugs Aim for zero-defect development Show developer the problem Write bug if it might be forgotten Pair with developer to find bugs Customer, too Look for patterns Use simplest tool for tracking bugs 38

Testing Tasks Anyone on team can take one Important if there's a crunch If lacking automated regression tests Everyone on team should do manual regression tests, each iteration Great motivation for designing testable code, solving automation problems 39

Talk to Customers Mock up UI's, reports Simply on paper, whiteboard Take time to understand the business Sit with customers Learn their jobs Get their input 40

Regression Tests = Safety Net Multiple builds Unit Functional No build process? Team should address Keep the builds green Keep feedback loop short 41

Exploratory Testing Lets you learn more about the features May produce more executable tests Leverage automation to facilitate Follow smells, your instincts Take notes, record results Time box 42

Group Exercise Story: As an Internet shopper, I want to select shipping options for my items during checkout and see the shipping cost. Pick a role and devise exploratory scenarios which that role might get into (don't limit yourself to the list below) High-stakes gambler Blackjack dealer Blue Man Group Penn and/or Teller Stand-up comedian 43

Successful Delivery The End Game UAT Packaging Production support Training Customer expectations Releasing 44

The End Game Some teams release each iteration Others wait for enough value End game may be a few hours, or days Not a bug fix cycle Don't code right to the last minute Doesn't have to be panic mode 45

User Acceptance Testing Performed by all affected business groups Verify existing and new business functionality Bugs deferred for future iterations (except showstoppers) Shrink-wrapped software Plan UAT at customer site Installation testing 46

Staging Release Test database changes, migrations Test with other systems Inside, outside organization May be tied to client's release schedule Opportunity for final exploratory, end to end testing Write task cards for release tasks Learn system down time required 47

Deliverables (1) Who's accepting the product? What are their expectations? EX. Sarbanes-Oxley compliance measures How much documentation is enough? Who is it for? How are they using it? 48

Deliverables (2) Internal customers What will make their jobs easier? Workflows to understand new features Workarounds for problems Training Formal training sessions Online help, tutorials 49

Releasing (1) Make product available to customers Update website Packaging Deliver custom app to customers Shrink-wrapped and delivered or downloaded Start early Acceptance criteria Define when product is done Enough value 50

Releasing (2) Release management may fall to testers Release readiness meeting Release readiness checklist Identify risks Understand impact on busines Release notes Should fit needs of audience Useful for future tests 51

Group Exercise We're releasing the stories to allow shoppers to select shipping options and see the shipping costs during checkout. The shipper provides the API for the cost calculation. New columns will be added to the database to collect the shipping costs. What events and activities would you plan for the staging release? What might be some of the deliverables? What plans would you make to ensure a successful production release? 52

Wrap Up the Iteration Iteration review Improving your team's process Celebrating success Dealing with change 53

Iteration Review Demo completed stories to customers Real, live, working code Customers can ask questions and give feedback Sense of accomplishment Testers may conduct the review 54

Improving Your Process Team retrospective, every iteration Review previous list of start, stop, continue items Identify what worked, what didn't Write task cards or set guidelines to fix issues Aim for steady, sustainable pace over course of iteration 55

Celebrate Successes Recognize achievements 3,000 Unit Tests Value delivered to business Reward small accomplishments Celebrate individual successes Celebrate achievements of other teams as well No donkeys were harmed in the production of this tutorial 56

Change Is Hard Need time, training to master new skills Value quality over speed Build your credibility Show how you add value Avoid quality police mentality Find creative ways to encourage change Make it a team problem to solve Look for areas of greatest pain 57

Group Exercise What are you doing now to work more closely with developers? With customers? Compile a top three list from your group to share. 58

Questions? 59

Some Agile Testing Resources lisa.crispin.home.att.net www.agilealliance.org www.testing.com agile-testing@yahoogroups.com www.fitnesse.org webtest.canoo.com fit.c2.com 60

Exploratory Testing Resources Testing Computer Software, Kaner Lessons Learned in Software Testing; Kaner, Bach, Pettichord www.testinglessons.com http://groups.yahoo.com/group/softwaretesting/ http://www.satisfice.com http://www.satisfice.com/articles/sbtm.pdf 61

Agile Resources User Stories Applied by Mike Cohn 62

Agile Resources Agile Estimating and Planning By Mike Cohn 63

Collaboration Collaboration Explained : Facilitation Skills for Software Project Leaders By Jean Tabaka Available on Amazon 64

Implementing Change Fearless Change: Patterns for introducing new ideas By Linda Rising and Mary Lynn Manns Available on Amazon 65

Agile Testing Resources Available on Amazon 66

Coming in 2009! Agile Testing: The Role of the Tester in Agile Projects By Lisa Crispin and Janet Gregory www.agiletester.ca 67

Goal Have fun, whatever you do! 68