cover your testing bases using the agile testing...
Post on 04-May-2018
224 Views
Preview:
TRANSCRIPT
1
Cover Your Testing Bases Using the Agile
Testing Quadrants
Agile Denver
Lisa CrispinWith Material from Janet Gregory
Copyright 2009: Lisa Crispin
2
Introduction • Tester on agile teams since 2000• Current team:
• Has delighted customers• Delivers value to production every 2
weeks• Drives development with tests,
examples• 100% regression test automation
Copyright 2009: Lisa Crispin
Agenda
How many complete all testing tasks by end of your iteration?
We’ll look at the Quadrants to help us know: What tests do we need to do? When? Who does them? What tools to use?
Planning your Testing Strategy References
Copyright 2009: Lisa Crispin
4
Why Do We Test? To find bugs Make sure system is reliable, usable To learn about the application Guide coding Feedback to future stories Check for doneness Manage technical debt
Copyright 2009: Lisa Crispin
5
Traditional Testing
Phased / Gated Projects Testers test – after coding Works from requirements documents Can be a fight to be involved up front Organizational culture – silos Defect tracking instead of conversations Different language than developers
Programmers BusinessAnalysts
Testers
Copyright 2009: Lisa Crispin
6
Agile Testing Principles / Values
Communication, collaboration, interactions Everybody tests, is test-infected Whole team responsible for quality Tester's role in team
Help uncover hidden assumptions Provide feedback Elicit and clarify requirements Drive development with examples Domain
ExpertProgrammer
Tester
Copyright 2009: Lisa Crispin
The Agile Testing Quadrants
Original idea by Brian Marick, www.exampler.com
Copyright 2009: Lisa Crispin
8
The Quadrants ….. Can be used as a communication tool
To the project team To management To explain testing in a common language Tests drive coding
Emphasize whole-team responsibility Focus on collaboration Whole team participation
Copyright 2009: Lisa Crispin
9
Use to define ‘Doneness’Defining “doneness” for release readiness
No story is done until tested Customer requirements captured as passing
tests Automated regression tests Delivers value “Doneness” in all quadrants
Copyright 2009: Lisa Crispin
10
Quadrant 1
Copyright 2009: Lisa Crispin
11
Types of Tests in Q1
Unit Tests Tests developer intent - program design Tests a small piece of code Makes sure it does what it should
Component Tests Tests architect intent – system design Tests that components work together
correctly
Technology-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
12
Reasons / Benefits for Q1 Testing Focus on internal code quality Go faster, do more
Safety net, refactoring Builds quality in, design for testability Instant, continual feedback TDD increases confidence in design Foundation for regression test automation
Technology-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
13
Example Tools for Q1
Source code management, build tools SVN, Hudson, CruiseControl, ant
IDEs Eclipse, intelliJ, NetBeans
Unit test tools Xunit BDD – NBehave, RSpec, easyB Mocking tools – EasyMock, JMock
Technology-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
14
Quadrant 2
Copyright 2009: Lisa Crispin
15
Types of Tests in Q2 Elicit requirements, examples Tests to drive coding
allows developers to code until the tests pass User Experience
wire frames Mock-ups / prototypes
Pair Testing
Business-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
16
Reasons / Benefits for Q2 Testing Know what to code, value needed Help customers achieve advance clarity Help collaborate Executable tests = quick feedback Focus is external quality Know when we're done
Business-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
17
Toolkit – Turning Examples into Tests
Fit/FitNesse ATDD Promotes collaboration, communication
Copyright 2009: Lisa Crispin
18
More Example Q2 Tools
Paper and whiteboards Prototypes, Wizard of Oz testing, mockups
BDD – RSpec, Cucumber, Rasta, easyB, Twist
GUI test tools – simultaneous with coding Thin slice approach
Watir/WatirCraft & related frameworks Selenium RC
Business-facing Tests that Support the Team
Copyright 2009: Lisa Crispin
19
Quadrant 3
Copyright 2009: Lisa Crispin
20
Types of Testing in Q3 Exploratory Testing
Learning Q1 & 2 tests Collaborate with customers Developer-tester collaboration
Usability testing understand end users, personas who will be using the system, how
Demos, reviews During and after coding
Business-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
21
Reasons / Benefits for Q3 Testing Feedback to Quadrants One and Two Evaluate product – is value there? Recreate actual user experiences Learn as you test Context
What works for your situation “It depends” A tool, not a rule
Constructive, critical thinking
Business-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
22
Example Tools for Q3 Your brain, eyes, ears, fingers, gut... Use Q1 and Q2 tools to set up data,
scenarios Leave the important work for your manual
testing
Business-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
23
Quadrant 4
Copyright 2009: Lisa Crispin
24
Types of Tests in Q4 Nonfunctional or parafunctional tests “ility” testing Performance, scalability, stress, load Memory management Security testing
Roles & permissions System ‘hacking’
Data migration Infrastructure Testing
Technology-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
25
Reasons / Benefits for Q4 Testing “Non-functional” requirements may be higher
priority than “functional” Performance Stability Security
Specialized expertise might be needed Collaborate to transfer skills
Makes the ‘finished’ product Does your application deliver the ‘right’ value
Technology-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
26
Example Tools for Q4 Progammers can write load test harnesses
using unit tests Open source and vendor tools
Jmeter, the Grinder WebLoad External services
Monitoring tools JConsole, Jprofiler
Native database tools Specialized tools, external security audits
Technology-facing Tests that Critique the Product
Copyright 2009: Lisa Crispin
27
Planning Your Test Strategy Consider all four quadrants
Team plans, prioritizes Work in small chunks
Consider scope, priorities, risks Limit scope so testing finished
Tools that solve the problem Whole-team approach Guided by agile principles Use lessons learned to improve
Copyright 2009: Lisa Crispin
28
Questions?
Copyright 2009: Lisa Crispin 29
Now Available
Agile Testing: A Practical Guide for Testers and Agile Teams
By Lisa Crispin and Janet Gregory www.agiletester.ca
Copyright 2009: Lisa Crispin
30
Some Agile Testing Resourceslisacrispin.comjanetgregory.caagilealliance.orgexampler.comagile-testing@yahoogroups.comtestobsessed.comtestingreflections.com
top related