baking in quality: the evolving role of the agile tester

Post on 22-Jan-2015

318 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

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 ∙ sqeinfo@sqe.com ∙ www.sqe.com

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.

BAKING QUALITY IN

The Evolving Role of the Agile Tester

Talk to those around you. Introduce yourself.

What role do they play in software

development?

Introduce yourself!

Illusion of Waterfall

Requirements

Design

Development

QA

Wate

rfa

ll

Release

80

% D

on

e??

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

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

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

Test automation is a core agile practice.

- Lisa Crispin (Agile Testing)

The Test Automation Pyramid

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

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

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

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

Tests Are a Safety Net

Image Source: drawingwater.org

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

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

Image Source: innovativelearningdesignes.ca

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

Push Testing Down

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

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

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

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

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/

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.

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

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

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

Baking quality in puts

YOU

in the driver’s seat!

Automated tests don’t find bugs, people do!

I look forward to improving this based on your

feedback.

Thank You!

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

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

top related