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

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

Transcript of Michael Hall Three Beacons [email protected] 214.783.3936 QA Role in Agile Teams.

Page 1: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Michael Hall

Three Beacons

[email protected]

214.783.3936

QA Rolein Agile Teams

Page 2: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Today’s Webinar Discussion

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

• Agile Methods and Quality

• Comparison of QA in Traditional versus Agile

• Agile QA Responsibilities

• Common Mistakes

• Conclusion

Page 3: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Agile Methods and Quality

Agile principle #9:

“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 2012

Page 4: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Agile Methods and Quality

Apply these Agile values and principles to testing – HOW?

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

Page 5: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Applying Agile to QA

Page 6: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

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 2012

Page 7: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Comparison

Test continuously, as early as possible

AGILE

Test at end

TRADITIONAL

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

Page 8: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Comparison

Rely on conversations & shared knowledge

AGILE

Rely on documents

TRADITIONAL

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

Page 9: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Comparison

Test functional slices iteratively

AGILE

Test full system

TRADITIONAL

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

Page 10: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Comparison

Dev Test

Requirement specs, detail designs, full system code

Test plans, bug reports

User storiesAcceptance test casesAutomation scriptsFunctional slice testingUnofficial testingWikisDaily synchronizationFace-to-face conversations about bugs

Artifact Handoffs

TRADITIONAL AGILE

Holistic Development

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

Page 11: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Comparison

Conformance to Plan

TRADITIONAL AGILE

Emergent Goals

A - Start B - Planned ResultThe Plan

C – RelevantGoal

• 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 2012

Page 12: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

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 2012

Page 13: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

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 2012

Page 14: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

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 2012

Page 15: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Agile QA Responsibilities

Page 16: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

User Stories

• Help customer/team develop user stories

• Assist customer/proxy in defining acceptance criteria

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

Page 17: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Product Backlog and Estimates

• Offer up items to product backlog

•Ensure testing effort is accounted for in user story estimates

Priority Item # Description Estimate SprintUrgent

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 2012

Page 18: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Sprint Backlog and Estimates

• Ensure test efforts are accounted for as sprint backlog tasks

• Participate in sprint planning and release planning

QA-specific line items

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

Who DescriptionEstimate (Hours)

Remaining (Hours) Notes

User login Chris Login window 8 4

Hide password 2 2 John Verify login id is correct 16 0 i/f with Security systemJohn 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 window Bala, 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

Page 19: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

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 2012

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

Page 20: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Sashimi Acceptance Testing

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

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

Page 21: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Sashimi Acceptance Testing

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

Deliver multiple times to QA in a sprint

Dev concentrates on bugfixes several days prior to sprint end

QA writes additional testsand 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

Page 22: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Test Case Automation

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

• 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

Page 23: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Popular Tools for Test Case Automation

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

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.

Page 24: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Release Testing

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

• Integration of multiple sprint’s functional slices

• Combining sashimi scripts into release automation

• Dependency testing

• Stress

• Performance

• Install / Uninstall

Page 25: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Regression Testing

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

• 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

Page 26: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Continuous Feedback

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

• 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

Page 27: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Agile: Team-Based Quality

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

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

Page 28: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Common Mistakes

Page 29: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Common Mistakes

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

• 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?

Page 30: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Conclusion

Page 31: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Take-Aways

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

• 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

Page 32: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Questions?

www.synerzip.com

Hemant Elhence, [email protected]

469.322.0349

Agile Software Product Development Partner

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

Agile Methods training:Scrum Team Training

Intro to AgileDistributed AgileAgile Immersion

User Stories – Requirements w/ AgilityExtreme ProgrammingProduct Owner RoleScrumMaster Role

Etc.All courses can be delivered onsite at your location

Short/Long term Agile coachingFacilitated improvement

Michael Hall, [email protected]

Page 33: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Confidential

Synerzip in a Nut-shell

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

Exclusive focus on small/mid-sized technology companies, typically venture-backed companies in growth phase

By definition, all Synerzip work is the IP of its respective clients Deep experience in full SDLC – design, dev, QA/testing, deployment

2. Dedicated team of high caliber software professionals for each client

Seamlessly extends client’s local team, offering full transparency Stable teams with very low turn-over NOT just “staff augmentation”, but provide full mgmt support

3. Actually reduces risk of development/delivery Experienced team - uses appropriate level of engineering discipline Practices Agile development – responsive, yet disciplined

4. Reduces cost – dual-shore team, 50% cost advantage5. Offers long term flexibility – allows (facilitates) taking

offshore team captive – aka “BOT” option

Page 34: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Confidential

Synerzip Clients

Page 35: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

Thank You!

www.threebeacons.com

Michael [email protected]

214.783.3936

www.synerzip.com

Hemant [email protected]

469.322.0349

Agile Software Product Development Partner

Call Us for a Free Consultation!

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

Page 36: Michael Hall Three Beacons mike@threebeacons.com 214.783.3936 QA Role in Agile Teams.

THE END

Michael Hall

Three Beacons

[email protected]

214.783.3936