Testing in an Agile Environment



Similar documents
How to manage agile development? Rose Pruyne Jack Reed

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Comparing Plan-Driven and Agile Project Approaches

Agile Software Development

Using Agile with Large, Geographically Dispersed Development Teams

Introduction to Agile Software Development Process. Software Development Life Cycles

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Agile and Secure: Can We Be Both?

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Iteration Planning. also called Iteration Kickoff

RUP for Software Development Projects

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Introduction to Agile Software Development

Laboratório de Desenvolvimento de Software

Agile Testing and Extreme Programming

Software Development Methodologies

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Agile Testing Overview

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

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

Automated Acceptance Testing of High Capacity Network Gateway

Accelerating software testing effectiveness using Agile methodologies..

A Hundred Days of Continuous Integration

Workshop on Agile Test Strategies and Experiences. Fran O'Hara, Insight Test Services, Ireland

Introduction to Agile

SOFTWARE PROCESS MODELS

Lean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson

How To Be Successful At An Agile Software Engineering

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Don t forget the testers

The Agile Movement An introduction to agile software development

Taking the first step to agile digital services

Applying Agile Project Management to a Customized Moodle Implementation

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Strategy. Agility. Delivery.

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software processes that are:

AGILE & SCRUM. Revised 9/29/2015

Agile Software Development compliant to Safety Standards?

Axe in the Agile World

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

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

Nationwide Application Development Center

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH

Ten tips for making your Agile adoption successful

Agile Testing. What Students Learn

CMMI - The AGILE Way By Hitesh Sanghavi

Issues in Internet Design and Development

Agile vs. Waterfall. Why not both. Arnold Okkenburg PMP

Introduction to Agile Scrum

Agile Project Management By Mark C. Layton

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Quality Assurance in an Agile Environment

Applying Agile Methods in Rapidly Changing Environments

Software Development Life Cycle (SDLC)

Project Management in Software: Origin of Agile

Preface Agile Testing Review

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

How To Understand The Tools Your Organization Uses To Manage An Agile Process

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Software Life Cycles and Configuration Management

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

Process Vs. Agility. Why Not Have Both? Brought to you by

CONTINUOUS DELIVERY + DISTRIBUTED TEAMS Keys to Success

AGILE vs. WATERFALL METHODOLOGIES

Selling Agile at Your Company

7/24/2015. Blackstone Drupal Team

Challenges in adopting Agile

A Capability Maturity Model (CMM)

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

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Continuous Delivery - is it from the Devil? Tamas Csako

Testing Rails. by Josh Steiner. thoughtbot

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Test Automation: A Project Management Perspective

The Agile Manifesto is based on 12 principles:

Scale agile throughout the enterprise A PwC point of view

Java course - IAG0040. Unit testing & Agile Software Development

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

DELIVERING SOFTWARE WITH AGILITY, WITHOUT AGILE FIVE REAL-WORLD LESSONS

Agile Blending. Rachel Davies

Introduction to Agile Methods

ICAgile Learning Roadmap Agile Testing Track

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal

Agile Development with Agile Business Suite

Alternative Development Methodologies

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Continuous integration End of the big bang integration era

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

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Project Success. The Prince of Scrum. Using Scrum in a Prince 2 Environment Project Success Ltd

Designing g and Implementing a Successful Agile Transformation. David Hicks

Using Use Cases on Agile Projects

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Contracting for Agile Software Projects

About Me Developer Workspaces Enable Agile Teams

Transcription:

Testing in an Agile Environment Marie Walsh mariewalsh@anztb.org http://www.linkedin.com/in/mariewalsh

In this presentation, Marie will share her experiences working in agile teams across multiple projects and companies over the years. Marie started working in iterative development teams before agile methodologies were accepted at the companies she was working in. Throughout this presentation, Marie will share the challenges and learnings from her journey as an agile tester, and will dispel the common myths and misconceptions around agile (when done properly).

Who am I? Marie Walsh http://www.linkedin.com/in/mariewalsh Independent Contractor Solutions Delivery Manager for Health Industry Exchange ANZTB Board Member & SIGiSTCoordinator for Aust& NZ Have been in IT / Testing since 1998 Contact: mariewalsh@anztb.org

OVERVIEW OF AGILE TESTING JOURNEY Additional slides displayed during presentation only

So What is Agile. The Agile Manifesto Individuals and interactionsover processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to changeover following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/ 9

Comparison of models Traditional Software Development Relies on the unrealistic premise that requirements won t change Doesn't involve testing early Test late in the process Naturally contributes to a wedge between Business / Development / Testing by nature of baton passing Agile Software development Encourages change to deliver what the customer wants Testing is involved early and occurs throughout Bridges gaps by collaboratively designing, doing walkthroughs and working to preventdefects -not find them a moment before shipping to Production.

Flavours of Agile Well known flavours of Agile include: Agile Modelling Agile Unified Process (AUP) Crystal Clear Dynamic Systems Development Method (DSDM) Extreme Programming (XP) Feature Driven Development (FDD) Graphical System Design (GSD) Kanban(development) Lean software development Scrum Velocity tracking etc.

Where does testing fit into Agile?

Testing activities across iterations Iteration Planning Next Iteration Current Iteration Previous Iteration Test Strategy/Plan Story Reviews System Testing Clean up activities Identify & Prepare: Environments Data Resources Perform test automation maintenance Update invalid scripts Retire redundant scripts General script & code tidy up Identify Acceptance Criteria Identify high level test scenarios Prepare test management tool Identify any potential impacts to automation Review: Environment Data Resources Accept frequent builds into Test (eg: daily, twice daily, etc) Document and perform tests for dev completed tasks / stories Automate passing test scripts flagged for automation Perform Exploratory Testing (refer to next slide) Finalise test case execution Update test cases with any changes from iteration Test automation maintenance Performance testing activities Showcase

Agile Testing Phases Pre-Check in Testing Build Verification Testing Daily Functional Testing Iteration Stabilisation Release Stabilisation Pre-Check in Testing Build Verification Testing Daily functional testing Iteration Stabilisation Project Stabilisation Purpose Verify processes have been followed, and feature is complete. To determine if the build is worth testing. To ensure application stability has not regressed and new features are working as expected. To ensure the combined new features with existing functionality are production quality before progressing to the next feature set. To ensure the application can be released into production. Frequency Every check in Every daily build Daily Once per iteration Once per release Coverage Low -Focuses on a single feature. Shallow. Broad Automated regression tests, plus manual exploratory testing Broad -Manual execution of structured test cases. High. All test cases executed and extensive regression testing. Time Required ½ hour per check in ½ hour A few hours Multiple days Multiple weeks

Example: day in the life of an agile tester 9:00 am 12:00 pm 2:00 pm 3:00 pm 3:30 pm 4:30 pm Daily Stand up Analysis of test failures Automation develops new automated scripts Manual testers continue verification testing & test case writing New Build deployed by Release Team Build verification testing 5:00 pm Automated tests execute

Lessons Learnt Along my journey working with dysfunctional and highly functional teams, I learnt the following, which I now apply to every new project where possible: Communication within the team is key testers and developers should be colocated to enable free flowing conversations and discussions Tools not just automated tools other tools to be used are: Wiki central location for all written communication Use for recording design discussions and decisions Collaborative sharing and viewing of important information Keeps history automatically easy to see changes made Searchable able to find information quickly Can subscribe to pages to know when they are updated Agile Boards either physical on online Team Calendars Experienced staff as with all development, working with experienced staff is vital. If a new less-experienced staff member joins the team, pair them with the experienced staff for a few weeks have a mentor programme in place. One size does NOT fit all!!! Find what s right for your team and use it discard the things that slow you down. Continuous Integration is your friend!!

Agile Boards

Dispelling Agile Myths and Misconceptions Agile means no documentation Agile means you never have to write documentation - FALSE Agile values working software over comprehensive documentation. Documentation should be just enough and just in time. Documentation should not be rigid, it needs to cater for changing requirements Agile means no discipline Agile means no plan Agile is a silver bullet solution Agile only works for trivial projects Agile projects always fail Agile is a sloppy, ill disciplined way of developing. - FALSE Agile teams must be more disciplined for success. Agile engineering practices such as test driven development, automated builds and continuous integration create a very focused, transparent and efficient way of building a product. Agile projects don t plan. It s very chaotic and direction-less. - FALSE Agile continuously plans and estimates, it is not a one time up front activity. Continuous planning, adapting and refining allows for flexibility and changing requirements (which happens on ALL projects) We are constantly over schedule Agile will save us -FALSE Bad disciplines will be more evident in an agile environment. Switching to agile needs to be for the right reasons not as a reaction to poor performance. Agile provides the ability to deliver smaller working deliverables sooner, rather than big bang deliverables Agile isn t scalable, therefore can only be used on small projects FALSE Agile has been used on many large programmesof work successfully. Large corporations are adopting agile practices as they mature their software delivery. We ve tried agile, and it failed POSSIBLY TRUE BUT NOT IN ALL CASES Agile isn t something you just do. Rationalisationfor changing from traditional practices to agile practices needs to be accepted by the teams and actively adopted. Changing practices isn t trivial, therefore needs buy-in from all team members. Any team member who doesn t understand or doesn t want to understand agile practices can be the demise of the whole team.

Why agile fails. We re agile we don t need testers or analysts

Continuous Integration

Thank you Marie Walsh mariewalsh@anztb.org