Professional Documents
Culture Documents
Objective
Introduce Agile Testing Concepts Some background about Agile Compare with Traditional Testing practices Highlight the fundamental shift in Thought Process Discuss some tools and techniques used Some pointers to help you try some of these techniques
Analyze
Design
Code
Test/Bug Fix
Analyze
Design
Code
Test/Bug Fix
Release
Reality
Inevitably, the project plan is revised
Test/Bug Fix
Reality
Inevitably, the project plan is revised
Test/Bug Fix
Release
op e
Quality ??
Tim
Sc
e
6
Cost/Resource
Licensed Under Creative Commons by Naresh Jain
More defects found & corrected causes lower cost of defect correction
Toyoda Loom
Utilization (%)
Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc
50 % done?
Applying Lean Principles to Software Development ... A better way of doing the same
Applying Lean Principles to Software Development ... A better way of doing the same
Applying Lean Principles to Software Development ... A better way of doing the same
Traditional vs Agile
Project Plan/Estimation Requirements Gathering Use Cases / Functional Specs Design Specifications Code Test Fix / Integrate Inception $
$ $
Reduce waste
Agile Umbrella
Agile
Scrum
A typical XP Project
A typical XP Project
Project 1 year
A typical XP Project
Project Releases 1 year 3 months
A typical XP Project
Project Releases Iterations 1 year 3 months 2 weeks
A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day
A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day
Tasks
2 hrs
A typical XP Project
Project Releases Iterations Days 1 year 3 months 2 weeks 1 day
Tasks
2 hrs
Test-Code-Refactor Cycles
15 min
Source : http://www.extremeprogramming.org
Key Questions
Business Facing
Are we building the right product? Are we building the product right?
Technology Facing
Licensed Under Creative Commons by Naresh Jain
20
Technology Facing
Licensed Under Creative Commons by Naresh Jain
21
Acceptance Testing Exploratory Testing Low- prototypes UI and Usability Testing Unit Testing Performance Testing
Critique product
Technology Facing
Licensed Under Creative Commons by Naresh Jain
22
Story
Acceptance Criteria
23
Automated UI Tests
Automated Acceptance Tests Exploratory Testing
Acceptance Criteria
23
Automated UI Tests
Automated Acceptance Tests Exploratory Testing
T E S T S
Acceptance Criteria
23
Refactor
Licensed Under Creative Commons by Naresh Jain
24
Refactor
Licensed Under Creative Commons by Naresh Jain
24
Refactor
Licensed Under Creative Commons by Naresh Jain
24
Refactor
Licensed Under Creative Commons by Naresh Jain
24
Acceptance Tests
Small in Number Tools: Selenium, Sahi, Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave
Acceptance Tests
Small in Number Tools: Selenium, Sahi, Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave
Acceptance Tests
Unit Tests
Licensed Under Creative Commons by Naresh Jain
25
Small in Number Tools: Selenium, Sahi, Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave
Acceptance Tests
Unit Tests
Challenges
Challenges
Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation
Challenges
Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation Organizational Tester/Developer roles are blurred Dev/Test Teams might be separate Everyone has not bought into agile practices
Licensed Under Creative Commons by Naresh Jain
28
Challenges
Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation Organizational Tester/Developer roles are blurred Dev/Test Teams might be separate Everyone has not bought into agile practices People
Licensed Under Creative Commons by Naresh Jain
28
References
Agile/QA Testing - Elisabeth Hendrickson "Agile Testing Directions" - Brian Marick Beck, K. (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley. Cockburn, A. (2004). Crystal Clear: A Human- Powered Methodology for Small Teams. Crispin, L., & House, T. (2002). Testing Extreme Programming. AddisonWesley. Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development. Addison-Wesley. Schwaber, K. & Beedle, M. (2001). Agile Software Development with SCRUM. Prentice Hall. http://www.extremeprogramming.org
Licensed Under Creative Commons by Naresh Jain
29