Upload
dangnhi
View
215
Download
0
Embed Size (px)
Citation preview
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
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
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
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?
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
Synerzip Clients
34© www.synerzip.com / www.threebeacons.com 2009
Thank You!
www.threebeacons.com
Michael Hall
214.783.3936
www.synerzip.com
Hemant Elhence
469.322.0349
Agile Software Product Development Partner
Call Us for a Free Consultation!
35© www.synerzip.com / www.threebeacons.com 2009