36
Michael Hall Three Beacons [email protected] 214.783.3936 QA Role in Agile Teams

QA Role in Agile Teams - synerzip.com · Experienced software management team Brings in appropriate level of engineering discipline Practices Agile development –responsive, yet

  • Upload
    dangnhi

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Michael Hall

Three Beacons

[email protected]

214.783.3936

QA Role

in Agile Teams

Today’s Webinar Discussion

2© www.synerzip.com / www.threebeacons.com 2009

• Agile Methods and Quality

• Comparison of QA in Traditional versus Agile

• Agile QA Responsibilities

• Common Mistakes

• Conclusion

Agile Methods and Quality

Agile principle #7:

“Continuous attention to technical excellence and good design

enhances agility.”

Technical excellence is achieved in

many ways, but all include a constant

focus on quality.

Observation: Agile projects emphasize

quality much more than traditional.

3© www.synerzip.com / www.threebeacons.com 2009

Agile Methods and Quality

Apply these Agile values and principles to testing – HOW?

4© www.synerzip.com / www.threebeacons.com 2009

Applying Agile to QA

Comparison

QA testers are integral part of

development team

TRADITIONAL AGILE

QA is separate team

QA to Dev: “You write buggy software!”

Dev to QA: “You’re not good enough to be

a software developer!”

“I am part of the development team with

specialized expertise in delivering quality.”

“What can I do to help?”

6© www.synerzip.com / www.threebeacons.com 2009

Comparison

Test continuously, as early as

possible

AGILE

Test at end

TRADITIONAL

7© www.synerzip.com / www.threebeacons.com 2009

Comparison

Rely on conversations & shared

knowledge

AGILE

Rely on documents

TRADITIONAL

8© www.synerzip.com / www.threebeacons.com 2009

Comparison

Test functional slices iteratively

AGILE

Test full system

TRADITIONAL

9© www.synerzip.com / www.threebeacons.com 2009

Comparison

Dev Test

Requirement specs, detail designs, full system code

Test plans, bug reports

User stories

Acceptance test cases

Automation scripts

Functional slice testing

Unofficial testing

Wikis

Daily synchronization

Face-to-face conversations about bugs

Artifact Handoffs

TRADITIONAL AGILE

Holistic Development

10© www.synerzip.com / www.threebeacons.com 2009

Comparison

Conformance to Plan

TRADITIONAL AGILE

Emergent Goals

A - Start B - Planned ResultThe Plan

C – Relevant

Goal

• Verify conformance to original plan

• Write bugs to direct path back to plan

• Welcome change

• Verify relevant goals

• Write bugs to enforce emergent plan

and changed requirements

11© www.synerzip.com / www.threebeacons.com 2009

Comparison

Automate all levels – unit,

functional, integration, release,

and regression

TRADITIONAL AGILE

Lots of manual testing,

automate regression suite if

possible

12© www.synerzip.com / www.threebeacons.com 2009

Comparison

TRADITIONAL AGILE

Hiring – testers that are

good at writing test plans

and executing test cases

Hiring – testers skilled in

automation, scripting, selecting

right tool for current needs

13© www.synerzip.com / www.threebeacons.com 2009

Comparison

Hiring – testers that have a knack

for collaboration and team-based

accountability

TRADITIONAL AGILE

Hiring – testers that can

take their assignment and

run with it

14© www.synerzip.com / www.threebeacons.com 2009

Agile QA Responsibilities

User Stories

• Help customer/team develop user stories

• Assist customer/proxy in defining acceptance test cases

• When I select the Pending Loans menu

item, I expect a new window with pending loans.

• When I select the Pending Loans menu

item, I expect to see only pending loans for me.

• When I close the window, I expect to be taken back to

the Main window.

View Pending Loans

As a loan rep,

I want to see all pending loans,

so that I have a visual reminder of follow-up

calls.

16© www.synerzip.com / www.threebeacons.com 2009

Product Backlog and Estimates

• Offer up items to product backlog

• Ensure testing effort is accounted for in user

story estimates

Priority Item # Description Estimate Sprint

Urgent

1 User login 2 1

2 Establish development environment 13 1

3 Display main window 8 1

4 Record video 40

5 Connect to video feeds 8

High

6 Change video feeds 13

7 Establish test automation harness 20

8 Zoom camera 5

9 Research competition 20 1

Med

10 Tile video feeds onto single screen 40

11 Regression test legacy SW components 40

12 Configure system 20

13 Playback video 13

QA-specific

line items

17© www.synerzip.com / www.threebeacons.com 2009

Sprint Backlog and Estimates

• Ensure test efforts are accounted for as sprint backlog tasks

• Participate in release planning and iteration planning

QA-specific

line items

18© www.synerzip.com / www.threebeacons.com 2009

Who DescriptionEstimate (Hours)

Remaining (Hours) Notes

User loginChris Login window 8 4

Hide password 2 2

John Verify login id is correct 16 0 i/f with Security system

John Verify password is correct 16 12 i/f with Security system

Acceptance testing 8 8

Chris Block after 3 incorrect tries 24 0 Log occurrence to "watch file"

Mary Test case automation 24 8

Display main windowBala, Tim Query DB for video connections 32 0 Bala to do DB arch

Tim Establish connections 16 16

Ralph Regress legacy DB 64 48

Total hours 210 98

Total relative points from product backlog 32 32

Team members with

QA expertise

Definition of Done

• Ensure that a solid “definition of done” is developed up front, for example:

• All new/modified code reviewed

• Coding standards compliance

• Static purification with 0 errors and 0 warnings

• Dynamic purification – no memory leaks

• All methods <= cyclomatic complexity 10

• All code checked in to Subversion prod branch

• 80% code coverage – unit testing

• Zero known bugs

• Acceptance tests verified by QA on clean system

• Acceptance tests verified by customer or proxy

19© www.synerzip.com / www.threebeacons.com 2009

www.threebeacons.com white paper “The Three Beacons of Software Project Success”

Sashimi Acceptance Testing

20© www.synerzip.com / www.threebeacons.com 2009

Iteration 1

Iteration 2

Iteration 3

• Verify functional slices

• Verify user stories satisfy

acceptance test cases

• Adhere to definition of done

• Verify incremental integration

• “Unofficial” testing for feedback

• Exploratory testing

Sashimi Acceptance Testing

21© www.synerzip.com / www.threebeacons.com 2009

Deliver multiple times to QA in a sprint

Dev concentrates on bugfixes

several days prior to sprint end

QA writes additional tests

and creates automation

http://edgehopper.com/qatesting-in-an-agile-environment/

QA wraps up with final acceptance

QA assists iteration

planning

QA tests and

gives feedback

QA tests and gives feedback

Test Case Automation

22© www.synerzip.com / www.threebeacons.com 2009

• Choose appropriate tool for your needs

• Leverage previous experience and use of tools

• Focus on user actions and expected results for

acceptance test cases

• Anticipate what the result might look like- Screen mocks

- Design diagrams

- Collaborative discussions

• Code the automation script

• Run it prior to receiving the software- Verify the test case fails

- Prevents the test case from accidentally passing

- Similar to TDD

• Once software is received, verify the test case works

Popular Tools for Test Case Automation

23© www.synerzip.com / www.threebeacons.com 2009

Unit Testing / TDD• xUnit

• UnitTest++

• Jtest

• utMySQL

• Etc.

Sashimi / Integration / Release / Regression• FitNesse (open source)

• Selenium (open source)

• CruiseControl (CI)

• Watij, Watir, Watin (open source)

• TestComplete (by AutomatedQA)

• Quick Test Pro (HP Mercury)

• WinRunner (HP Mercury)

• LoadRunner (HP Mercury)

• SilkTest (Borland)

• Etc.

Release Testing

24© www.synerzip.com / www.threebeacons.com 2009

• Integration of multiple sprint’s functional slices

• Combining sashimi scripts into release automation

• Dependency testing

• Stress

• Performance

• Install / Uninstall

Regression Testing

25© www.synerzip.com / www.threebeacons.com 2009

• Subset (or all) can be executed nightly as CI build test

• Integration of previous releases and sprints

• Comprehensive, thorough verification

• Identify “lost” fixes and new issues

• Automated tests to expose bugs that were previously

fixed – in case they return

• Automated tests of new sprint functionality

“Regression Stagger” – if needed

Continuous Feedback

26© www.synerzip.com / www.threebeacons.com 2009

• Collaborates to share information

• Daily stand-up for synchronization

• Tracks bugs in tool, but communicates face-to-face

for awareness

• Ensures today’s efforts are in line with team priorities

and goals

• Supports the developers any way he/she can

• “WE” instead of me – don’t point fingers

Agile: Team-Based Quality

27© www.synerzip.com / www.threebeacons.com 2009

Software engineers• QA begins with developers!

• Simple designs

• Supports strong “definition of done”

• Adhere to rigorous quality plan

• Use TDD to manage technical debt

• Use CI to find problems at earliest

opportunity

QA engineers• Additional quality verification

• Supports strong “definition of done”

• Verify all levels of code output- Sashimi

- Integrated, incremental sashimi

- Release/system

- Regression

• Automate, automate, automate

Common Mistakes

Common Mistakes

29© www.synerzip.com / www.threebeacons.com 2009

• QA sashimi tests run in subsequent sprint- Violates “potentially shippable product increment”

• Mini-waterfall handoff to QA within sprint- Violates lean/agile principles

• Manual testing of sashimi slices- Latency of feedback

- You won’t have time

• QA not involved in user story development- Violates holistic team-based approach

• QA not involved in release/sprint planning- Violates “committed team” principle

• QA not physically located with project team- Violates “co-location” principle

• Others?

Conclusion

Take-Aways

31© www.synerzip.com / www.threebeacons.com 2009

• Agile – much more emphasis on QA

than traditional approach

• QA test specialist is an integral member

of the development team!

• Being a QA tester is much more

prestigious in Agile - Peer with software developers

- Respect is shown through better

communication & collaboration

- Required involvement up-front and

throughout!

• Different role, different responsibilities,

different skills

• Agile – much better chance at delivering

high-quality software on time

Questions?

www.threebeacons.com

Agile Methods Training & Consulting

26 courses - at your location

Free customization

Michael Hall, [email protected]

214.783.3936

www.synerzip.com

Hemant Elhence, [email protected]

469.322.0349

Agile Software Product Development Partner

32© www.synerzip.com / www.threebeacons.com 2009

Synerzip in a Nutshell

1. Software development partner for small/mid-sized technology companies

Focus: small/mid-sized technology companies

Deep experience in product development, testing, & deployment

Handles full software development life cycle

Technology and industry domain agnostic

2. Actually reduces risk of development/delivery Experienced software management team

Brings in appropriate level of engineering discipline

Practices Agile development – responsive, yet disciplined

3. Reduces cost – dual-shore team, 50% cost advantage

4. Offers long term flexibility – allows (facilitates) taking offshore team captive

33© www.synerzip.com / www.threebeacons.com 2009

Thank You!

www.threebeacons.com

Michael Hall

[email protected]

214.783.3936

www.synerzip.com

Hemant Elhence

[email protected]

469.322.0349

Agile Software Product Development Partner

Call Us for a Free Consultation!

35© www.synerzip.com / www.threebeacons.com 2009

THE END

Michael Hall

Three Beacons

[email protected]

214.783.3936