How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

Similar documents
Introduction to Extreme Programming

Software Development Methodologies

Lecture 7: Software Processes. Refresher: Software Always Evolves

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Extreme programming XP 6

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Dilbert Scott Adams. CSc 233 Spring 2012

Software Engineering I (02161)

Software Development Process Models

Incremental development A.Y. 2018/2019

System Development Life Cycle Methods/Approaches/Models

Introduction to. and. Scott W. Ambler Source Documents

Systems Analysis and Design in a Changing World, Fourth Edition

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

defined. defined. defined. defined. defined. defined. defined. defined. defined.

Requirements and User-Centered Design in an Agile Context

Testing in the Agile World

Adopting Agile Practices

User Stories Applied, Mike Cohn

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

XP Evolution Rachel Davies

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck

Optimize tomorrow today.

Testing in Agile Software Development

1: Software Development and.net. An approach to building software

Low Friction Data Warehousing WITH PERSPECTIVE ILM DATA GOVERNOR

Agile Tester Foundation E-learning Course Outline

5 Object Oriented Analysis

Objectives. Connecting with Computer Science 2

Bringing QA Into the Agile Process

Shift Left Testing: are you ready? Live Webinar, Sept 19

Approaches for Auditing Software Vendors

The Need for Agile Project Management

Designed in collaboration with Infosys Limited

Successful Test Automation without Coding. Marc J. Balcer Chief Architect Model Compilers

Secure Agile How to make secure applications using Agile Methods Thomas Stiehm, CTO

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

SOFTWARE LIFE-CYCLE MODELS 2.1

Development Processes Agile Adaptive Planning. Stefan Sobek

User Stories Applied, Mike Cohn

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

Agile Development

Study Of Feature Driven Development Using The Concepts Of Object Oriented Programming System

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

The Agile Unified Process (AUP)

A CONFUSED TESTER IN AGILE WORLD

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Agile vs Fragile. Susmit Bhattacharya, Solution Architect, Asia Pacific. - The need for Automation in Agile Tricentis GmbH. All Rights Reserved.

MTAT Software Engineering Management

Testing Agile Projects Stuart Reid

Daniel Lynn Lukas Klose. Technical Practices Refresher

Quality Management Plan (QMP)

Catch Your Own Bugs: Including all Engineers in the Automation Cycle

Requirements Validation and Negotiation

l e a n Lean Software Development software development Faster Better Cheaper

SE420 - Software Quality Assurance

Systems Analysis & Design

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

The Scaled Agile Framework

Agile Testing Course: 15 16/11

This Thing Called Kanban

Chapter 1: Principles of Programming and Software Engineering

CS487 Midterm Exam Summer 2005

How technical excellence helps in LeSS adoption. Anton Bevzuk Dodo Pizza Chief Agile Officer

The Process of Software Architecting

CS3205: Task Analysis and Techniques

Lecture 2: Software Engineering (a review)

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing

Answers NOT TO BE PRINTED

CertifiedAT - Version: 1. ISTQB Certified Agile Tester Foundation Level Extension

HP APPs v.12 Solutions for Dev-Ops

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg


Object-Oriented Software Design and Software Processes

Architects: Anchors or Accelerators to Organizational Agility?

Story Writing Basics

THE SCRUM FRAMEWORK 1

Life between Iterations

Test Driven Development (TDD)

Chapter 1: Programming Principles

Agile 2005 Experience Report

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Chapter 4 Objectives

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

Change Management Process on Database Level within RUP Framework

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

Applying UML to System Engineering Some Lessons Learned Murray Cantor Principal Consultant

Software Testing. An Overview

Case Management Digital Service Sprint Review Sprint 5.1: 11/16/17 11/29/17. CWDS / Child Welfare Digital Services

<Insert Picture Here> CxP Design Sprint

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

Review Software Engineering October, 7, Adrian Iftene

Disciplined Agile Delivery The Foundation for Scaling Agile

How to build a UML model

Transcription:

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? by Timothy D. Korson Version 7.0814 QualSys Solutions 2009 1

Restricted Use This copyrighted material is provided to attendees of QualSys Solutions courses under a restricted licensing agreement exclusively for the personal use of the attendees. QualSys Solutions retains ownership rights to the material contained in these course notes. Please respect these rights. Any presentation or reuse of any part of this material in any form must be approved in writing by tim@qualsys.org Copyright 2009 Qualsys Solutions. All rights reserved. QualSys Solutions 2009 2

Outline What is iterative/incremental software engineering? How can a tester cope? Analysis High-level design Detailed design Implementation Testing Production QualSys Solutions 2009 3

Traditional Software Engineering Analysis Design Code The process makes it easier to specialize and handoff Test QualSys Solutions 2009 4

Over the Wall System Process Technology QualSys Solutions 2009 5

Process Spectrum Waterfall RUP XP QualSys Solutions 2009 6

Process Spectrum Waterfall RUP XP Agile QualSys Solutions 2009 7

Incremental Model An increment is some subset of the system that is completely coded and tested. Analysis High-level design Detailed design Implementation Testing Production QualSys Solutions 2009 8

Fixed Delivery Dates Delivery dates are fixed Scope is negotiated as necessary QualSys Solutions 2009 9

It s Incremental Everything Analyze Design Implement Analyze Design Implement Analyze Design Implement Requirements Specification Domain Model Design Document Other important documents, such as the user manual and design documents, are also developed, and verified incrementally. QualSys Solutions 2009 10

Example Business logic to post a simple transaction GUI to enter transaction data DBMS to persist transaction Log on and user authentication code Additional business logic to all layers Multi-currency, fund accounting system QualSys Solutions 2009 11

Iteration Length Rational Unified Process (RUP) Up to 6 months Scrum XP One Month Could be as short as one week QualSys Solutions 2009 12

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 13

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 14

Testing Process Should Match the Development Process Basic development process is incremental Iterate within increments, with prototype support as necessary. Often this will involve reworking one piece of the system several times before an increment is finished. Previous increments are refactored as necessary. Testing process should be incremental Early increments may be gray boxes The testing perspective is black box, but an early increment may have lots of incomplete functionality and may not be executable as a stand alone system. QualSys Solutions 2009 15

Testing Increments S I1 I2 I3 Develop I1 Develop I2 Test I1 S I1 I2 I3 Develop and test I1 QualSys Solutions 2009 16

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 17

Recommended Organizational Approach Define Development Testing Team 1 Development Testing Team 2 Team 3 Development Testing Development Testing QualSys Solutions 2009 18

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 19

No One Is Done Until Everyone Is Done QualSys Solutions 2009 20

Testing Increments S I1 I2 I3 Develop I1 Develop I2 Test I1 S I1 I2 I3 Develop and test I1 QualSys Solutions 2009 21

Pair Programming Guarantees 100% code inspections QualSys Solutions 2009 22

Modern Software Engineering Domain Analysis Application Analysis Application Design Class Design and Development Application Assembly Testing The process encourages integrated teams QualSys Solutions 2009 23

Requirements RUP Use cases have lots of detail Business analysts document the requirements Testers work from written requirements expressed as use cases Agile Stories lack detail Stories are reminders to have a conversation The details from the conversations are recorded directly in test cases The test cases become the detailed specifications Testers become business analysts QualSys Solutions 2009 24

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 25

Almost Continuous Integration Almost continuous integration avoids or detects compatibility problems early. Integration is a "pay me now or pay me more later" kind of activity. Developers should be integrating and releasing code into the code repository every few hours, when ever possible. In any case never hold onto changes for more than a day. Each development pair is responsible for integrating their own code when ever a reasonable break presents itself. Smoke Test QualSys Solutions 2009 26

Regression Suites Build smoke test Daily test Weekly test Increment test Tester System QualSys Solutions 2009 27

Automation Tools Record and Playback Testing Under the Interface QualSys Solutions 2009 28

How Does One Automate? Manual or Capture and Playback Test Harness that calls the API of the Business Logic Structured Query Language (SQL) Testing under the interface QualSys Solutions 2009 29

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 30

Including Time for Acceptance Test in Planning the Estimates QualSys Solutions 2009 31

Up-Front Tester activities Identifying and making explicit hidden assumptions Defining acceptance tests for each story Including time for acceptance test in planning the estimates Enabling accurate estimates of time and velocity QualSys Solutions 2009 32

How Can I Cope? Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 33

Test First Many programmers have adopted this approach with near religious zeal Test-first design is infectious! Developers swear by it. We have yet to meet a developer who abandons test-first design after giving it an honest trial. Robert C. Martin QualSys Solutions 2009 34

Getting the Code Right vs. Getting the Right Code Test first development ensures the code is doing what the developer intended it to do Acceptance testing can now focus on determining how well the developer s intent matches client s expectations QualSys Solutions 2009 35

Agile in Action Process Organization Collaboration Automation Participate in Planning Test first development QualSys Solutions 2009 36

Thanks for coming Let us know about your testing work. We d like to hear about your successes and your difficulties. My e-mail address is: tim@qualsys.org QualSys Solutions 2009 37