ICT role in 21st century education and its challenges
What is agile_testing
1. What is Agile
Testing?
key success factors
& practices
presented by:
in partnership with:
2. Introduction
Andy Painter
• Agile Coach/Trainer/Practitioner
• CSM, CSP, CSD Instructor
• andy@davisbase.org
• (704) 835-0194
http://www.linkedin.com/in/andypainter @_andy_painter
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
3. Testing in Your World
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of
just documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
4. What is our Desired State?
Let’s ask the practitioners
that are ALREADY where
you want to BE a simple
question:
“Why do you love
Agile Testing?”
Source: http://www.infoq.com/news/2009/06/love_agile_testing
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
5. Automation
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
6. Collaboration
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
7. Test Driven Development
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
8. Continuous Process
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
9. One Team
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
10. Collective Ownership
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
11. Feedback
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
12. Supportive
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
13. Focus on Quality
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
QUALITY
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
14. Test First
No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
15. Top 10 Reasons to Love Agile Testing
1. No more manual test scripts!
2. Developers actually like me!
3. Now I can break features before they're written!
4. Automated test results appear many times a day
5. The atmosphere is very team oriented
6. Tester can fix the occasionally bug
7. Provides the opportunity to constantly review
Test Practices
8. I spend much, much less time debugging
9. The chance to actually impact quality instead of
just documenting it!
10. There's always time for testing, because testing
happens first
Source: http://www.infoq.com/news/2009/06/love_agile_testing
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
16. 10 Principles for the Agile Tester
Provide Continuous Feedback
Deliver Value to the customer
Enable face-to-face communication
Have courage
Keep it Simple
Practice continuous improvement
Respond to change
Self-organize
Focus on People
Enjoy
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
17. Agile Tester Qualities
Enjoy learning & challenges
Creative
Collaborative
Open-minded
Results-oriented
Willingness to take on any task
or role
View of the big picture
Focus on the customer
Passionate
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
18. Traditional vs. Agile Testing
Traditional
Requirements Specification Code Test Deploy Phased
Gated
Time
E F Iterative
D D Incremental
Integrated:
C C C Elaborate
•
• Develop
• Test
A B A B A B A B
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
19. Agile Testing Quadrants
Q2 Q3
Q1 Q4
Source: Agile Testing by Lisa Crispin & Janet Gregory
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
20. Mike Cohn’s Testing Pyramid
Small in number
Tools: Selenium, Watir, QTP
At least one per Story
Tools: FIT/Fitnesse, BDD
At least one per class or module
Tools: JUnit, xUnit
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
21. Cost of Defects
20000
Catch Defects Early in the
15000
Lifecycle during design
10000 & development phases
5000 to lower TCO in short
0 term (current release)
Requirements Development Maintenance
and long term (future
releases)
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Based
on
a
2003
Capers
Jones
Study
of
over
4000
so7ware
projects
22. TDD Red, Green, Refactor
Test Driven Development (TDD)
Create a Test • Test cases, testing harnesses, testing
Pass
scripts are written before any coding
begins.
Run a Test
Fail
• Refactoring and development of code until
testing scripts run “all green.”
Make a Change
• Requires developers to think of the larger
solution and approach to be developed
Run the Test before coding begins.
Pass
• Benefits include more testing integrated
Refactor into development efforts, higher quality
code delivered, decrease amounts of code
rework later in project cycle.
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
23. Acceptance Test Driven Development
(ATDD)
Discuss Distill
Demo Develop
Test
Refactor Code
ATDD Cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elizabeth Hendrickson
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
The ATDD Cycle
Discuss: work with the business stakeholders to understand their real needs and concerns. In traditional environments, this is usually called
“requirements elicitation.” In the context of Agile development, the purpose of this discussion is not to gather a huge list of requirements but
rather to understand what the business stakeholder needs from one particular feature. During these discussions, ask questions designed to
uncover assumptions, understand expectations around non-functional needs such as stability, reliability, security, etc., and explore the full scope
of work the business stakeholder is requesting.
Distill: collaborate with the business stakeholders to distill their stated needs into a set of acceptance tests, or examples, that define “done.”
These tests should focus on externally detectable behavior and will be expressed in tables or keywords.
Develop: write the code to implement the requested feature using test- driven development (TDD).
Demonstrate: show the business stakeholder the new feature in the emerging system and request feedback.
24. Automate, Automate, Automate
‣ Understand how you work
individually and collectively
‣ Automate anything you do
more than once within a
task, test, story, process
‣ Automation is essential to
shorten feedback loops
and maintain flow state
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
25. Automate Early & Often
‣ Steep drop off in
benefits of Automation
‣ Get the benefits when
you need it most
‣ Cost will prohibit
adoption later as
benefits are not easy Source: Succeeding with Agile: Software Development using Scrum, Mike Cohn
seen
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
26. Continuous Integration Defined
A process that supports teams in making
small, working incremental changes to
software. Continuous Integration is an
automated process that provides feedback
and supports:
• Transparency
• Consistency
• Continuous Builds
• Continuous Inspections
• Continuous Testing
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
27. Challenges & Constraints
‣ Organizational Culture
‣ Existing Processes &
Models
‣ Knowledge, Training,
Understanding
‣ Organization Size
‣ Roles & Identities
‣ Past Experiences &
Attitudes
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
28. Iterating to Testing Agility
‣ Keep a Backlog & Prioritize
Regularly
‣ Realize Constraints
‣ Keep Moving Forward
‣ Automate
‣ Automate
‣ Automate
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
29. Improvement Backlog
Start! Example:
• Increase Test Automation
Keep a Improvement • Enable teams to use Continuous
Backlog Integration
• Adopt TDD
Track Progress • Increase Code Coverage
toward Goals • Continuous Deployment
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
30. Top 5 Key Contributors to Success
‣ People ‣ Test Continuously
‣ Test First ‣ Collaborate in
response to Feedback
‣ Automate
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
32. Your Questions, My Answers
Note: For those questions we do not have time to answer during the
webinar, I will be providing a written response.
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
33. How to Claim Your PDU
‣ Go to ccrs.pmi.org
‣ Search for ASPE as a Registered Education Provider.
Our number is 2161.
‣ At the bottom of our details page, select
“See Provider’s Activities”
‣ Find the activity and code stated by the ASPE
moderator during the seminar
‣ The seminars are typically a Category 3 for one PDU
Webinar Code:
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
34. Meeting Close
‣ Thank you.
‣ Andy Painter, Davisbase Consulting
‣ andy@davisbase.org
‣ http://www.davisbase.org
‣ (704) 835-0194
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
35. About Davisbase Consulting
‣ A leading, national provider of Agile training and coaching
services.
‣ Since 2007, over 300 classes taught to over 5000 people nationwide.
‣ Training, coaching, and consulting work for over 50 Fortune 500 Clients.
‣ Experienced. “In the trenches” doing what we teach
‣ Extensive experience with all aspects of software development and project
lifecycle across multiple industries and verticals.
‣ Every title and role from Developer, QA, Project Manager through Sr.
Leadership.
‣ Average of 15+ years of applied IT Leadership experience.
Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden