Michael Hall Three Beacons [email protected] 214.783.3936 QA Role in Agile Teams.
-
Upload
jeremiah-herrel -
Category
Documents
-
view
213 -
download
1
Transcript of 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 2012
• Agile Methods and Quality
• Comparison of QA in Traditional versus Agile
• Agile QA Responsibilities
• Common Mistakes
• Conclusion
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
Agile Methods and Quality
Apply these Agile values and principles to testing – HOW?
4© www.synerzip.com / www.threebeacons.com 2012
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 2012
Comparison
Test continuously, as early as possible
AGILE
Test at end
TRADITIONAL
7© www.synerzip.com / www.threebeacons.com 2012
Comparison
Rely on conversations & shared knowledge
AGILE
Rely on documents
TRADITIONAL
8© www.synerzip.com / www.threebeacons.com 2012
Comparison
Test functional slices iteratively
AGILE
Test full system
TRADITIONAL
9© www.synerzip.com / www.threebeacons.com 2012
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
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
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
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
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
Agile QA Responsibilities
User Stories
• Help customer/team develop user stories
• Assist customer/proxy in defining acceptance criteria
16© www.synerzip.com / www.threebeacons.com 2012
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
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
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”
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
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
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
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.
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
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
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
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
Common Mistakes
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?
Conclusion
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
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]
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
Confidential
Synerzip Clients
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