Top Banner
85

Being an Agile Tester

Jan 23, 2018

Download

Technology

liorf
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Being an Agile Tester
Page 2: Being an Agile Tester

Role Of A Tester

Skills

Testing Tools

Team Structure

Supporting The Team

High Quality

CI

Feedback Loops

ATDD/TDD

Exploratory Testing

Automation

Company structure

Page 3: Being an Agile Tester

Product Owner workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

A-HA wall

Parking lot

Page 4: Being an Agile Tester

Product Owner workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.4

Page 5: Being an Agile Tester

Product Owner workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.5

Page 6: Being an Agile Tester

Product Owner workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Photos

Page 7: Being an Agile Tester

Product Owner workshop by Practical Agile is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Page 8: Being an Agile Tester
Page 9: Being an Agile Tester
Page 10: Being an Agile Tester
Page 11: Being an Agile Tester
Page 12: Being an Agile Tester
Page 13: Being an Agile Tester
Page 14: Being an Agile Tester
Page 15: Being an Agile Tester
Page 16: Being an Agile Tester

In each Group:

What are the 3 biggest issues your facing today, with you development process?

Lets Discuss

Page 17: Being an Agile Tester

Eliminate waste.

Faster release cycles.

Deliver maximum business value.

Measure and improve.

Respond to change.

Increase quality.

Have Fun.

Page 18: Being an Agile Tester

SCRUM is very simpleA complex process draws focus from real issues.

SCRUM maximize feedbackUsing SCRUM everything is known.

All the information to enable good decision making

SCRUM is flexibleGives the ability to respond to change

Inspect and adapt

Page 19: Being an Agile Tester
Page 20: Being an Agile Tester

First Step – Prepare the Product Backlog

Stories Priority Estimate

As a user I want to be able to input disability % data using a GUI, so it will be faster.

1 5

As a user I want to get the calculation result for a complex case 2 3

As a developer I want to be able to input disability % data using a text file, so it can be easier to test.

3 1

As a user I want to be able to store result to a file 4 1

As a user I want to be able to easily install the application. 5 3

As a user I want to be able to learn how to use the application 6 2

Page 21: Being an Agile Tester

A story represents a requirement

3C’s – Ron Jeffries

Card – Placeholder for conversation

Conversation – discussion between implementer and customer

Confirmation – Definition Of Done (DOD)

Possible format:

As a ____ I want ______ so that _____.

Page 22: Being an Agile Tester

Stories Pri. Est.

As a user I want … 1 5

As a user I want … 2 3

As a user I want … 3 1

As a user I want … 4 1

Stories Pri. Est.As a user I want … 1 5As a user I want … 2 3As a user I want … 3 1As a user I want … 4 1As a user I want … 5 3As a user I want … 6 1As a user I want … 7 1As a user I want … 8 3As a user I want … 9 1As a user I want … 10 1

Sprint 2

Rest

Stories Priority EstimateAs a user I want … 1 5As a user I want … 2 3As a user I want … 3 1As a user I want … 4 1As a user I want … 5 3As a user I want … 6 5As a user I want … 7 3As a user I want … 8 1As a user I want … 9 1As a user I want … 10 3As a user I want … 11 5As a user I want … 12 3As a user I want … 13 1As a user I want … 14 1As a user I want … 15 3As a user I want … 16 5As a user I want … 17 3As a user I want … 18 1

… … …

Product Backlog

Stories Pri. Est.

As a user I want … 1 5

As a user I want … 2 3

As a user I want … 3 1

As a user I want … 4 1

As a user I want … 5 3

As a user I want … 6 5

Sprint 1

Page 23: Being an Agile Tester

Help in Story Writing

Help to define the scope of the stories

Write Acceptance criteria

Think on Testing aspects

What other thing we need to consider?

Planning

Help with Story estimation

Make sure there is enough time to test

Page 24: Being an Agile Tester

Sprint is a short cycle in which work get done.

Typically between 1-4 weeks

Once started, content does not change

Goal

Allow the team to work, without interference, in order to produce a potentially shippable productthat will increase business value.

A sprint results in a Product Increment.

Page 25: Being an Agile Tester

Product Backlog

Sprint Planning

Story To Do In Progress Done

As a user…

As a user…

As a user…

As a user…

Stories Priority EstimateAs a user I want … 1 5As a user I want … 2 3As a user I want … 3 1As a user I want … 4 1As a user I want … 5 3As a user I want … 6 5As a user I want … 7 3As a user I want … 8 1As a user I want … 9 1As a user I want … 10 3As a user I want … 11 5As a user I want … 12 3As a user I want … 13 1As a user I want … 14 1As a user I want … 15 3As a user I want … 16 5As a user I want … 17 3As a user I want … 18 1As a user I want … 19 1As a user I want … 20 3As a user I want … 21 5As a user I want … 22 3

… … …

Page 26: Being an Agile Tester

Understanding the storyExplain how this is going to be tested

Ask question that will help to set clear scope boundaries

Task decompositionAdd testing tasks (what about automation)

Make sure programmer do some unit test

What about setting up the system?

Help with estimation

Page 27: Being an Agile Tester

Stand up meeting held every day (15 minutes).

Each team member answer 3 questions (only)What has he done the previous day,

What is he going to do today

Is there anything holding him back (that the team can help with).

Goals Daily planning

Communication with other team members

Page 28: Being an Agile Tester

Report on your progress

Push work to testing as soon as possible

Guard the sprint time-box

Will there be enough time for testing?

“Code that isn't tested doesn't work—this seems to be the safe assumption.”

Kent Beck 2002

Page 29: Being an Agile Tester

Get feedback

General feedback – are we headed in the right direction

Specific feedback – to the stories completed

feedback should reflect in product backlog.

Page 30: Being an Agile Tester

Share your story

What have been done (and tested)

Where do you feel are the weak points?

Provide general feedback to the PO & stakeholders

Page 31: Being an Agile Tester

Scrum is an adaptive processReview what went well and we want to keep,

and what needs to be changed.

Team formingLet the team be heard

Let the team handle issues

Reflect on overall planChanges to release plans.

Changes to goals.

Page 32: Being an Agile Tester

Agile = no processScrum is a rigorous process.

Agile = No DocumentationAgile stresses only needed documentation.

Agile = No DesignDesign is an ongoing activity.

Agile = No PlanningJust in Time & just enough Information.

Agile = Small TeamsHas been scaled to very large groups (hundreds).

Page 33: Being an Agile Tester
Page 34: Being an Agile Tester

“The Product Owner is responsible for maximizing the value of the product and the work of the Development Team… The Product Owner is the sole person responsible for managing the Product Backlog …. The Product Owner may do the above work, or have the Development Team do it. However, the Product Owner remains accountable. … The Product Owner is one person…” – Scrum guide

Page 35: Being an Agile Tester

Goal Setting (on many levels)Responsible for the ROI.Responsible for the product backlog

Writing StoriesPrioritizationUpdating backlog

Helps the developers understand what needs to be done

DOD – Definition Of DoneProduct conflicts resolution

Page 36: Being an Agile Tester

“The Scrum Master is responsible for ensuring Scrum is understood and enacted … The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.” – Scrum guide

Page 37: Being an Agile Tester

Finding techniques for effective Product Backlog managementHelping the Scrum Team understand the need for clear and concise Product Backlog itemsUnderstanding product planning in an empirical environmentEnsuring the Product Owner knows how to arrange the Product Backlog to maximize valueUnderstanding and practicing agilityFacilitating Scrum events as requested or needed.

Page 38: Being an Agile Tester

Coaching the Development Team in self-organization and cross-functionalityHelping the Development Team to create high-value productsRemoving impediments to the Development Team’s progressFacilitating Scrum events as requested or neededCoaching the Development Team in organizational environments in which Scrum is not yet fully adopted and understood.

Page 39: Being an Agile Tester

Leading and coaching the organization in its Scrum adoption

Planning Scrum implementations within the organization

Helping employees and stakeholders understand and enact Scrum and empirical product development

Causing change that increases the productivity of the Scrum Team

Working with other Scrum Masters to increase the effectiveness of the application of Scrum in the organization.

Page 40: Being an Agile Tester
Page 41: Being an Agile Tester

“The Development Team The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. … Development Teams are structured and empowered by the organization to organize and manage their own work…” – Scrum Guide

Page 42: Being an Agile Tester

They are self-organizing. Development Teams are cross-functionalScrum recognizes no titles for Development Team members other than Scrum recognizes no sub-teams in the Development TeamIndividual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.

Page 43: Being an Agile Tester

In each Group:

Go over the list of issues we have and see if you can find things in the process that might address them.

Lets Discuss

Page 44: Being an Agile Tester
Page 45: Being an Agile Tester
Page 46: Being an Agile Tester

Team size should be 5-9 members.

Focus on team results:

• Team must share a common goal.

Team should be heterogeneous:

• Include coders, testers, DBA, GUI,…

Self Contained teams:

• All required skills are present at the team level.

• Allow the team to progress at full speed.

Page 47: Being an Agile Tester

1. Formingpolite but untrusting.

2. StormingI know best.

3. NormingMaybe they can help me.

4. PerformingThey are really good.

Tuckman added a 5th stage 10 years later:5. Adjourning

Time to move on.

Page 48: Being an Agile Tester
Page 49: Being an Agile Tester

Versatile

Should be able to do several things.

Responsible

Take ownership of the process

Collaborative

“Lone wolves” generally does not fit an agile team.

Page 50: Being an Agile Tester

Development and QA are often operational silos.

Tests are derived from detailedrequirements and specifications.

Usually don’t actively participate in planning

Almost never help in the product design

Page 51: Being an Agile Tester

Testers are often viewed as second class citizens

They are not active partners at building the product

Developers considers testing as an obstacle in the delivery process.

Testers do not get the necessary knowledge (from R&D) to test effectively.

Page 52: Being an Agile Tester

Represents the customer.

Provide feedback about new work.

Improve the testing process.

May help in defects handling.

Page 53: Being an Agile Tester

Help define and elicit the acceptance criteria (or requirements)

Preferably in the form of automated acceptance tests.

Work with the customer (PO) to identify risks

If its hard to test it might be very hard to use.

Provide information to customer about Quality.

Page 54: Being an Agile Tester

Performing regression tests When major changes are about to be committed.

Validate acceptance criteria's

Exploratory testingPut more testing effort into the areas where the developers tests (unit and integration) are weakest.

Page 55: Being an Agile Tester

Quality must have an owner.

Train developers in effective testing.

Build specialized internal testing tools

Identify trends and areas of deteriorating quality.

Page 56: Being an Agile Tester

Two main strategiesHandle as they come

Postpone until next cycle and schedule as any other feature.

Pragmatic approach Allocate resources for treating critical defects as they come.

Postpone the rest (or when allocated resources are not enough)

Page 57: Being an Agile Tester

Reproduce Defect

Work with customer to understand the issue.

Initial investigation

Is it a defect or a misunderstanding.

Root Cause Analysis

Defects are not acceptable.

Verify fix

To make sure this wont happen again.

Page 58: Being an Agile Tester
Page 59: Being an Agile Tester
Page 60: Being an Agile Tester
Page 61: Being an Agile Tester
Page 62: Being an Agile Tester

Stakeholders always have questions:

What’s the status?

When will you finish?

Why is it taking so long?

Is the testing of __________ finished?

Page 63: Being an Agile Tester

A report containing

Product Areasvs.

Test Effort, Coverage &

Quality Assessment

vs.

Time

Page 64: Being an Agile Tester

Testing Dashboard Ver. # -1.1.4.31

Last Updated: 3/12/2016

Area Effort Cov. Qual. RemarksSuppliers Ship 3

Search Flow High 2+ Def 1674

Booking Flow Pause 2 Automation broken

Auxiliary Operation Low 1+

Asmx Low 1 Memory leak

Cont. search Blocked 0 No testing Env.

Scoring & Connosuir Start (20/12)

0

MarkUp None 0

Page 65: Being an Agile Tester

None - No Plan to Test

Start - Expect to start testing soon

Low - Mainly regression, keeping cov.

High - In focus, increase cov.

Pause - hard to test/stopped for now

Blocked – Cant test this for now

Ship - Final testing before live

Page 66: Being an Agile Tester

0 We don’t know

1 Sanity only

1+ some functional, not all

2 Finished Common cases + some

2+ did some error & edge cases

3 All Corner cases covered

Page 67: Being an Agile Tester

We don’t know about any problems that should stop production or suspect any.

We know of possible showstoppers, or suspect there are some severe issues

We have issue that should not reach production,.

Page 68: Being an Agile Tester
Page 69: Being an Agile Tester
Page 70: Being an Agile Tester

If I Could have 3 magic boxes, I would like to know:

1. Am I doing things right?

2. Am I doing the right things?

3. Am I Adding Business Value?

Page 71: Being an Agile Tester

This is what unit test are used for.

Unit tests:Are fast

Test each unit in isolation

Enable me to test all paths of my code

Will improve my technical design

Page 72: Being an Agile Tester

E2E tests are a good tool for:Help me understand the requirements

E2E tests:Goes through all the system

Help me understand how the system behaves

Help me refine Acceptance Criteria

Page 73: Being an Agile Tester
Page 74: Being an Agile Tester
Page 75: Being an Agile Tester

The foundation that supports all of the rest.

Majority of effort should be invested at this level.

Very cheap to write and maintain, have high ROI.

Very effective at catching regression bug

Usually done by the programmer who writes the code

Page 76: Being an Agile Tester

Should & can be automatedRelatively cheap to write and maintain

Business-facing testsFunctional tests that verify we are “building the right thing”Should be written in domain specific language, that customers understand

Operate at the API level, “below the GUI”They run more slowly, to cover complex scenarios

Page 77: Being an Agile Tester

Focus on GUI operated tests:

Written after code is completed, to critique the product

Likely to change often (high maintenance)–as often as GUI changes

Run slow & breaks often

so we try to keep the number small

Never use a recorder to generate them

Page 78: Being an Agile Tester

Have a lot of value

Should be intelligent (not scripted)

Utilize human advantages over the computer (exploratory testing)

Page 79: Being an Agile Tester

In Pairs:Find a volunteer.

Have him map out his team/company testing process.

Write down the different kinds/Levels of testing they perform.

See if you can draw out his pyramid

Lets Discuss

Page 80: Being an Agile Tester

Automated Unit 60% - 70%

Automated E2E 20% - 30%

Exploratory 20% - 30%

Page 81: Being an Agile Tester

Unit Testing

An integral part of the coding phase. (TDD)

All code should be tested before it moves to next stage

E2E Testing

Most of the effort is done as part of the requirement.

Actual automation in parallel to coding

Exploratory Testing

Final activity before Done.

Page 82: Being an Agile Tester

Unit TestingProgrammers (Each on his own code)

E2E TestingProduct + Testers (Programmers) – define the test scenarios

Test Engineers/Programmers - Automation

Exploratory TestingExpert testers

Page 83: Being an Agile Tester

Developed by Elisabeth Hendriksom

Page 84: Being an Agile Tester
Page 85: Being an Agile Tester