Agile Tour 2010 - SCRUM Turning Scum - Ignoring the false negatives
Engaging IV&V Testing Services for Agile Projects
1. Presented By:
RAVI KUMAR
HCL Technologies Ltd.
http://www.bilzits.com/servicests_en.asp
2. • agile – 1 minute intro
•agile loves testers and testers fear
•Brian Maricks test categories
•testing role , old and agile ways of
testing •case for IV&V in the agile world
•agile testing – challenges, how to • role of automation and continuous
and role of tester integration
•agile IV&V – Patterns &Anti
Patterns
•strategies & challenges
2
8. Testers are Obsolete:
• Not true at all.
• Testers add value by
– Unearthing flaws than
validating just the
completeness.
– Focussing on feature
usage for customer than
looking into technical
implementation.
• Testers need to learn and
adapt to new ways. http://www.altrock.su/music/metal/print:page,1,4083-fear-
factory-obsolete-1998.html
8
9. Brian Marick’s Test Categorization
http://www.raysullivan.com/2009/05/it-takes-a-village-to-test/
9
10. Process of testing after dev.
Quality gates come to effect.
Code hand-off.
Managing test show-stoppers, support etc.
Reduced functional deliverables
Meant for Performance Testing
Rewrites of automation scripts
Tools adoption
Unit Developer Tests (resistance to writing unit tests)
Testing Does not know what to test.
Often lack of unit tests result in show stoppers
for QA/Functional Testing
10
11. Expensive and has to be minimized.
Tools: Sahi, Watir, Selenium,
Minimizing requires thoughts and
Abbot, Frankenstein
Role of tester
analysis. UI
Testing
Acceptance Testing.
Very good to capture customer or
business user perspective. Tools: Fit, Fitnesse, RSpec,
Not a substitute to unit testing.
JBehave
Foundation of a solid test
automation strategy. Unit Testing
Acceptance Criteria drives unit test
creation. Tools: xUnit, TestNG
Testers can help developers to
identify unit test cases.
11
12. –
testers are committed to ….
• define acceptance criteria and acceptance tests.
• clarify any ambiguity until it is understood by the team.
• testing along with development without sitting behind the QA wall
awaiting code hand-off.
• being an equal participant with the customer and the developer in
defining “DONE” criteria.
• maintaining of acceptance and other test scripts with automation
where feasible.
• provide frequent and continuous feedback to the team.
12
13. –
• Work with Customers, Business, Developers and
BAs to define acceptance criteria.
• Pair with developers and testers.
• Automate whatever you can. (xUnit test suites,
Web automation…)
– Can avoid manual regression tests.
– creating mocks to test end-to-end testing
scenarios.
• Metrics on bugs surfaced…..but remember
– Trailing indicators don’t help team much. (
Bugs that escaped into UAT)
– Leading indicators does help. (Bugs that
escaped just an iteration).
13
14. –
• Old ways die hard
• Adoption of automation tools.
– Tools such as QTP alone may not be
sufficient.
• Automating/maintaining test scripts.
• Bringing testing forward.
– In agile testing is first and then
development.
• Change in tester and management mindset
– Testers are also developers.
– Writing test scripts is similar to writing
code
14
15.
16. • Conducts many types of testing
which the dev team may not
performs
– Includes Non functional, SIT,
Exploratory, Risk Based,
Security, Usability etc.
• IV&V teams support multiple •
dev teams. •
• Engaging IV&V teams are
•
economical.
• Helps is scaling agile in the
•
organization.
16
17. To achieve the above…..the IV&V teams must have
• Skills in right tools
• Just expensive proprietary tools may not work.
• Any tool to support testing.
• Right roles represented in the team
• Toolsmith Continuous
Integration is
• Test Developer CRITICAL !!!
• Testers
17
19. Early Testing Continued…
• Functional • RBT for Evolving
• Leveraging common testing frameworks Requirements
(Ex. xunits , Acceptance Tests etc.)
• Release planning to identify potential
• Invoke QC/QTP tests as part of weekly RBTs
builds. • Collaborate with BAs as an ongoing
• End-to-End Testing basis by parallel test teams
• Automate RBTs on stable sprint code
• Identify Services Interdependencies.
• Test Data Creation and Canned Test Data
Repositories ahead of time.
• Leverage Functional Test Suites from
Functional Team. Automate Input
Scenarios, Business Flows and Expected
Outputs.
19
20. PATTERNS ANTI PATTERNS
• Share a common product • Separate backlogs
backlog and sprint backlog • Separate teams
• Work in the same team as • Testers only planning
developers sessions.
• Common planning sessions • Reliance on only manual
• Automation and test script testing.
refactoring • Await code drops and hand
• Helps developers pre-empt offs to begin testing
bugs • Catalogue bugs.
20