Testing in Agile methodologies easier or more difficult?



Similar documents
Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile and Scrum

The Agile Manifesto is based on 12 principles:

Agile Software Development Methodologies and Its Quality Assurance

Agile Scrum Workshop

How to manage agile development? Rose Pruyne Jack Reed

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Introduction to Software Engineering: Overview and Methodologies

Introduction to Agile

Agile Methodologies and Its Processes

AGILE SOFTWARE DEVELOPMENT AND UML. John O. Iyaniwura BSc (Hons), MSc New Vision Labs Thursday 11 th October, 2012

Agile and Secure: Can We Be Both?

ISTQB Agile Tester in a Nutshell ISTQB Marketing Working Group

Agile Testing and Extreme Programming

AGILE - QUICK GUIDE AGILE - PRIMER

RISK MANAGMENT ON AN AGILE PROJECT

Role of Agile Methodology in Software Development

Role of the Business Analyst in an Agile Project

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

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

Applying Lean on Agile Scrum Development Methodology

Agile Projects 7. Agile Project Management 21

Introduction to Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development

LEAN AGILE POCKET GUIDE

Business Analysts in an Agile World. Christian Antoine

Introduction to Agile Scrum

AGILE vs. WATERFALL METHODOLOGIES

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

Agile Development Overview

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

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Agile Development with C#

Agile So6ware Development

Requirement Gathering for small Projects using Agile Methods

AGILE & SCRUM. Revised 9/29/2015

The traditional project management uses conventional methods in software project management process.

The Agile Movement An introduction to agile software development

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems

Atomate Development Process. Quick Guide

Software Engineering I (02161)

Agile Software Engineering Practice to Improve Project Success

Agile Project Management By Mark C. Layton

What does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław,

Traditional SDLC Vs Scrum Methodology A Comparative Study

Testing in Scrum Projects

Software Requirements and Specification

New Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2

D25-2. Agile and Scrum Introduction

Issues in Internet Design and Development

Accelerating software testing effectiveness using Agile methodologies..

Scrum: A disciplined approach to product quality and project success.

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

An Agile Project Management Model

Development. Lecture 3

Agile Testing. What Students Learn

Agile Software Development compliant to Safety Standards?

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

Agile Tester Foundation Course Outline

Measuring ROI of Agile Transformation

Certified Agile Software Test Professional (CASTP)

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Agile Project Management Mapping the PMBOK Guide to Agile Practices. Michele Sliger

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

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

Introduction. Industries across the globe are burgeoning. Stiff

Agile QA s Revolutionary Impact on Project Management

Don t forget the testers

Java course - IAG0040. Unit testing & Agile Software Development

Agile Testing Overview

PPM and Agile: Realizing the Best of Both Worlds

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

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Agile Development in Today s Industry. Duke CS408 Session 2014

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Software Processes. Agile Methods

Agile Software Development

Software Engineering Process Economy & Quality

Agile in Financial Services A Framework in Focus

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

Evolving Agile Testing

How To Understand The Limitations Of An Agile Software Development

Agile Development for Application Security Managers

Agile with XP and Scrum

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

Software Development Methodologies

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

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

ISTQB Worldwide Software Testing Practices Report

How Product Management Must Change To Enable the Agile Enterprise

Quality Assurance in an Agile Environment

Software Development Methodology Development Process Aress

Copyright protected. Use is for Single Users only via a VHP Approved License. For information and printed versions please see

Agile and lean methods for managing application development process

Agile Beyond The Team 1

CSSE 372 Software Project Management: More Agile Project Management

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

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Agile Project Management with Scrum

Transcription:

Testing in Agile methodologies easier or more difficult? Lucjan Stapp Warsaw University of Technology Stowarzyszenie Jakości Systemów Informatycznych L.Stapp@mini.pw.edu.pl L.Stapp@sjsi.org

Professor in Warsaw University of Technology Author of more than 40 papers, more then 10 are connected with testing; Ex - believer of Agile methodologies, especially in testing; Acting vice-president of Stowarzyszenia Jakości Systemów Informatycznych (Polish Testing Board); Member of ISTQB Dictionary Working Group. 2/31

Agile manifesto In February 2001, 17 software developers met at the Snowbird, Utah resort, to discuss lightweight development methods. They published the Agile Manifesto (Manifesto for Agile Software Development) to define the approach now known as agile software development. 3/31

Agile manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions Working software Customer collaboration Responding to change over processes and tools over comprehensive documentation over contract negotiation over following a plan That is, while there is value in the items on the right, we value the items on the left more. agilemanifesto.org 4/31

Agile manifesto Only iterative incremental approach As a result of each iteration we obtain the working software 5/31

Agile manifesto Basic Agile principles: Working software, Self-organization and motivation, Informal communication, Inspect and adapt, Customer collaboration: Welcome changing requirements, even late in development. 6/31

Agile manifesto Agile methodologies (between others): extreme Programming XP, Scrum, Kanban, Dynamic Systems Development Method, Adaptive Software Development,... 7/31

How it works? 7,0 Main aspects 6,0 5,0 4,0 3,0 2,3 6,0 4,9 2,7 5,6 6,0 2,4 3,0 3,9 4,0 4,4 Agile teams are more effective in desired functionality then traditional teams. But less in quality. 2,0 1,8 1,0 0,4 0,8 0,8 0,8 0,0 Quality Functionality ROI (money) Schedule Ad-hoc Waterfall Classical Iterative Agile Results of Dr. Dobbs Journal Investigations(2008) 8/31

Higher ROI. How it works? Agile teams work in more effective way (but not harder) and should propose needed functionality earlier, hence there is a shorter path to the market and greater profit. Faith DDJ found also that people believe that Agile teams product higher quality (however it is NOT true) then traditional teams, hence one can observe higher satisfaction of stakeholders. 9/31

First popular Agile methodology is Xtreme Programming (XP). extreme Programming 10/31

extreme Programming Basic XP testing assumptions. All code must have unit (module) tests, All code must pass all module tests before it can be released, When a failure is found tests are created before the failure is addressed, Acceptance tests are run often and the results are published. 11/31

extreme Programming But: Tests are taken on module level (XUnit tests), 2 builds a week strong automation is needed (rather expensive), Frequent changes even on accepted by testers modules, There is no place for business acceptance tests, Systems of systems problem external integration tests. 12/31

Scrum Daily scrum 13/31

Scrum 14/31

Scrum User Story Elements of User Story As (concrete user) I want (problem to be solved) because (desired results). Definition of user satisfaction criteria Typically as acceptance tests description 15/31

Scrum INVEST A good user story is: Independent Negotiable Valuable Estimable Sized Appropriately Testable 16/31

INVEST Testable Scrum Tests concentrate on simple problems Scrum team does not expect very specific complicated conditions. World wide transaction system for an international bank A fish trade company in Japan makes a payment to a vendor on Iceland. It should have been a payment in Icelandic Kronur, but it was done in Yen instead. The error is discovered after 9 days and the payment is revised and corrected, however, the interest calculation (value dating) From a talk by Hans Buwalda 17/31

Scrum Testing in Scrum Testing in Scrum should be iterative. Testers in Scrum must work without complete documentation. Testers in Scrum should be flexible. 18/31

Scrum Beginning of the project Understanding of the project principles Release planning Stories estimation; questions: What happens, if? Sprint planning Validation of satisfaction conditions, adding new ones Each sprint Creation and testing in pairs: Developer and tester Write and execute tests for each story, Write and execute functional tests, Automate test, Make exploration tests. Basic testers activities in Scrum 19/31

Scrum Team complement There is no division on developers and testers. Testers should be build in team. But: How many team members do concentrate on quality problems? (1/10, 2/10???); Group thinking only positive; Not enough business knowledge product owner problem. 20/31

Classic approach vs. Agile Acceptance tests Product owner ; Increment acceptation System tests Integration approach time Small integration test Continuous integration Unit tests Test Driven Development 21/31

Classic approach vs. Agile Ken Beck 1 : Programmers need their own tests to maintain speed and flexibility. These tests may improve quality enough that QA is no longer needed as a Great Wall to protect the customers against the depredations of the Mongrel Programmer Hordes. 1 www.soft.com/qualweek/qw2001/papers/2q.html 22/31

But Classic approach vs. Agile Module tests are limited in finding bugs: Capers Jones 1 found that average effectiveness for unit test is between 25-30%. And Rex Black 2 (for American market ) found that good system tests done by independent test team achieves 85% effectiveness in founding bugs. 1 Capers Jones: MEASURING DEFECT POTENTIALS AND DEFECT REMOVAL EFFICIENCY http://www.rbcs-us.com/images/documents/measuring-defect-potentials-and- Defect-Removal-Efficiency.pdf 2 http://www.rbcs-us.com/images/documents/ 23/31

Solution Solution: Two levels of testing: Internal testing in Agile team External testing independent test team 24/31

Solution Typical tasks of external testing: business acceptance tests. More complicated tests: Nonfunctional tests. Ending game User acceptance tests. 25/31

New stories (changes + defects) New stories (changes + defects) Solution Release no. k Release no. k+1 Internal tests TDD Independent test team External tests Acceptance UAT Exploratory Nonfunctional Scenario based 26/31

3 examples Example no.1 MIS Management Information System HR 1 HR 2 Financial 1 Financial 7.. 27/31

Example no.1 Only f2f communication No written requirements Based on old existing systems Examples Product owner Concentrate on financial modules RESULT: 6 month delay Business problems No working application Tests Only user acceptance No written information about incidents 28/31

Only f2f communication No written requirements Frequent changes Without info to test team Examples Example no. 2 NEW FUNCTIONALITY in bank system Product owner Less of business knowledge Concentrate on security problems RESULT: disaster Tests Long time before bugs closure 29/31

Examples Example no. 3 Telecom application connected with EURO 2012 90% written requirements Product owner Concentrate on performance problems Tests 2 performance testers in team 60% time performance tests RESULT: In progress Deadline June 1 st Success?? 30/31

Thanks for your attention 31/31