baking in quality: the evolving role of the agile tester

31
W4 Agile Testing 5/1/2013 11:30:00 AM Baking In Quality: The Evolving Role of the Agile Tester Presented by: Dena Laterza Agile Velocity Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ [email protected] www.sqe.com

Upload: techwellpresentations

Post on 22-Jan-2015

320 views

Category:

Technology


3 download

DESCRIPTION

While more and more organizations are practicing agile development methodologies, many have not learned how to “bake in quality” throughout the process. As an agile tester, you are an integral part of the development team—working on requirements, design, implementation, writing automated tests, and testing However, are all team members working together as they should to ensure quality from day one through final delivery? Dena Laterza offers proven tips to help you and your team make the cultural shift to adopt and foster a “quality first” team standard. Gain an understanding of a tester's involvement in test-driven development and behavior-driven development. Take back new ideas on automating tests, working with stakeholders, and becoming a fully informed tester. Learn how to push testing back into development and maximize the value of testers on the team. Take back a plan to get your agile team working together—as a team.

TRANSCRIPT

Page 1: Baking In Quality: The Evolving Role of the Agile Tester

W4 Agile Testing

5/1/2013 11:30:00 AM

Baking In Quality: The Evolving

Role of the Agile Tester

Presented by:

Dena Laterza

Agile Velocity

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073

888-268-8770 ∙ 904-278-0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Baking In Quality: The Evolving Role of the Agile Tester

Dena Laterza

In software quality for seventeen years and currently a quality coach for Agile Velocity (AgileVelocity.com), Dena Laterza became an agile enthusiast five years ago when the director of development brought in agile coaches. The coaching succeeded - and so did the project! Dena has worked on applications in the medical, lead management, contract management, project management, retail, and video-conferencing domains - with both commercial and open-source test automation tools. She is continually learning and mentoring others on automated testing tools and techniques for unit, integration, and GUI testing. Dena lives and practices her craft in Austin, Texas.

Page 3: Baking In Quality: The Evolving Role of the Agile Tester

BAKING QUALITY IN

The Evolving Role of the Agile Tester

Page 4: Baking In Quality: The Evolving Role of the Agile Tester

Talk to those around you. Introduce yourself.

What role do they play in software

development?

Introduce yourself!

Page 5: Baking In Quality: The Evolving Role of the Agile Tester

Illusion of Waterfall

Requirements

Design

Development

QA

Wate

rfa

ll

Release

80

% D

on

e??

Page 6: Baking In Quality: The Evolving Role of the Agile Tester

Requirements

Design

Development

Requirements

Design

Development

Requirements

Design

Development

Requirements

Design

Development

Ag

ile

Sprint 1 Sprint 2 Sprint 3 Sprint 4

QA QA QA QA

Potentially Releasable Product Increment

Working software is the primary

measure of progress

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY

Page 7: Baking In Quality: The Evolving Role of the Agile Tester

Tear Down This Wall

Testers are integrated into Development

Image Source: http://www.thesniper.us

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY

Page 8: Baking In Quality: The Evolving Role of the Agile Tester

What is Testing in Agile?

Testing is embedded into the Definition of Done

Testing drives development

Test whenever possible throughout development

Agile testing is a team effort

Agile testing needs automation

http://www.agiletesting.info/what-is-agile-testing-112

Page 9: Baking In Quality: The Evolving Role of the Agile Tester

Test automation is a core agile practice.

- Lisa Crispin (Agile Testing)

Page 10: Baking In Quality: The Evolving Role of the Agile Tester

The Test Automation Pyramid

Page 11: Baking In Quality: The Evolving Role of the Agile Tester

Unit Tests

Test a class, function, or method in isolation

Test common, normal use

Test boundary cases for valid input

Test failure conditions (invalid input, exceptions)

http://starship.python.net/~tbryan/UnitTestTalk/slide2.html Tom Bryan

Page 12: Baking In Quality: The Evolving Role of the Agile Tester

Acceptance Tests

Verifies User Story meets expectations of the stakeholders

Test with full stack running

Easy to understand outside of Development

Validate API, UI, persistence layer (db)

Tests the system from the user’s perspective

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY

Page 13: Baking In Quality: The Evolving Role of the Agile Tester

Acceptance Test Example Feature: Login

Wrong way Scenario: Tests login with invalid credentials Given I am on the Login screen

When I enter "user1" in the username field

And I enter "mypassword" in the password field

And I click the Login button

Then I should see the error message "Username/password is invalid"

Right way Scenario: Tests login with invalid credentials Given I am on the Login screen

When I enter invalid credentials

Then I am not logged in and a meaningful error message is displayed

Page 14: Baking In Quality: The Evolving Role of the Agile Tester

More Examples

Feature: Fixed amount withdrawal Scenario: Tests withdrawing a fixed amount Given I have $1000 in my account When I withdraw a fixed amount of $200 Then my account balance is $800 Scenario: Tests attempting withdrawal of a fixed amount when balance is too low Given I have $200 in my account When I withdraw a fixed amount of $300 Then I see “Insufficient funds to withdraw this amount.” Error

Page 15: Baking In Quality: The Evolving Role of the Agile Tester

Tests Are a Safety Net

Image Source: drawingwater.org

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY

Page 16: Baking In Quality: The Evolving Role of the Agile Tester

What is the cost of finding a

defect late?

Images Source: http://wendistry.com/wp-content/uploads/2010/03/haystack.jpg

20 Developers making 10 code changes a day

1 Day =

200 Changes

2 Weeks = 2,000

Changes

2 Months = 8,000

Changes

Page 17: Baking In Quality: The Evolving Role of the Agile Tester

Image Source: innovativelearningdesignes.ca

Page 18: Baking In Quality: The Evolving Role of the Agile Tester

As a user planning a trip, I want to know the last

date I can change my flight without being

charged a fee, so that I can avoid incurring a

charge.

Acceptance Criteria:

1. User must be logged in to create or edit a reservation

2. User can enter their fly date when creating or editing a

reservation

3. Last date to change flight without a fee is displayed to the

right of the fly date

4. Premium users can change their flight up to 3 days prior

5. All other users can change their flight up to two weeks prior

6. Date formats are based on language in Browser

Page 19: Baking In Quality: The Evolving Role of the Agile Tester

Push Testing Down

• Strategize as a team on the testing of each story/feature

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/

Page 20: Baking In Quality: The Evolving Role of the Agile Tester

Push Testing Down

• Strategize as a team on the testing of each story/feature

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/

• Understand what can/cannot be tested at each level

Page 21: Baking In Quality: The Evolving Role of the Agile Tester

Push Testing Down

• Strategize as a team on the testing of each story/feature

• Understand what can/cannot be tested at each level

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/

• Ensure entire team gains value from all automated tests

Page 22: Baking In Quality: The Evolving Role of the Agile Tester

Push Testing Down

• Strategize as a team on the testing of each story/feature

• Understand what can/cannot be tested at each level

• Ensure entire team gains value from all automated tests

• Minimize duplication

Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/

Page 23: Baking In Quality: The Evolving Role of the Agile Tester

Test-Driven Development

Image Source: http://code.dortikum.net

Rinse, repeat

Add a

test.

Run it.

See it fail.

Write

code.

Run test.

See it

pass.

Refactor.

Page 24: Baking In Quality: The Evolving Role of the Agile Tester

Acceptance Test-Driven

Development

• Product Owner

• Developer

• Tester

Involve the “Power of

3”

Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY

• Use plain words – “Tests that the user cannot log in with an invalid password”

Describe Application Behavior

Page 25: Baking In Quality: The Evolving Role of the Agile Tester

Automation Framework Strategy

Image Source: www.cwrmobility.com

Design for maintainability

Decide on execution frequency

Decide max execution time

Whole team owns

Whole team gets value

Make tests part of Continuous Integration

Page 26: Baking In Quality: The Evolving Role of the Agile Tester

What Not To Automate

Everything •On legacy systems, start with a smoke test

•Automate what gives the “most bang for your buck”

•Execution frequency is key

GUI •Especially if the GUI is in flux

•Can tests be covered at a lower level?

Low priority functionality •Non-mission critical

•Not frequently used

•Very little code churn

Page 27: Baking In Quality: The Evolving Role of the Agile Tester

Baking quality in puts

YOU

in the driver’s seat!

Page 28: Baking In Quality: The Evolving Role of the Agile Tester

Automated tests don’t find bugs, people do!

Page 29: Baking In Quality: The Evolving Role of the Agile Tester

I look forward to improving this based on your

feedback.

Thank You!

Page 30: Baking In Quality: The Evolving Role of the Agile Tester

We provide Agile Training, Coaching, & Implementation Services in the following areas:

Organization - Culture, Structure, Lean, Leadership, Enterprise Optimization

Product - Value Focus, Customer Needs, Prioritization, Planning, Portfolio, Strategy

Team - Scrum, Kanban, Quality, Speed to Market, Tool Selection & Implementation

Technical Practices - Test Automation, Test Driven Development (TDD), Continuous Integration/ Delivery

Implementation - SaaS, Cloud, Architecture, Development, QA, Product Management

Agile Velocity Austin, TX

Page 31: Baking In Quality: The Evolving Role of the Agile Tester

BDD Resources

http://jbehave.org/ (Java)

http://www.specflow.org/ (.NET) http://cukes.info/ (Ruby)

The Cucumber Book: Behaviour-Driven

Development for Testers and Developers

by Matt Wynne and Aslak Hellesøy