223–227
test environment and,
237
when to use,
222–223
who performs the test,
220–222
Technology-facing tests, supporting team (Quadrant 1)
build tools,
126
designing with testing in mind,
115–118
ease of accomplishing tasks,
114–115
IDEs for,
124–126
infrastructure supporting,
111–112
overview of,
109–110
purpose of,
110–111
source code control,
123–124
speed as benefit of,
112–114
timely feedback,
118–119
toolkit for,
123
unit test tools,
126–127
unit tests,
244–245
what to do if team doesn’t perform these tests,
121–123
where/when to stop,
119–121
Test automation pyramid
multi-layered approach to automation and,
290–291
overview of,
276–279
three little pigs metaphor,
278
Test behind UI, 282
Test cases
adding complexity,
407
as documentation,
402
example-driven development,
379
identifying variations,
410
starting simple,
406
Test coverage (and/or code coverage), 360–364
Test design patterns, 179–183
Build/Operate/Check pattern,
180
data-driven and keyword-driven tests,
182–183
overview of,
179
test genesis patterns (Veragen),
179
time-based, activity, and event patterns,
181
Test doubles
definition,
506
layered architectures and,
116
Test-driven development. See TDD (test-driven development)
Test environments, 237, 487
Test-First Development
definition,
506
TDD (test-driven development) compared with,
113–114
Test management, 186
Test management toolkit (Quadrant 2), 186
Test plan alternatives, 350-354
Test planning, 345–350
automated test lists, test plan alternatives,
353–354
infrastructure and,
346–347
overview of,
86
,
345
reasons for writing,
345–346
test environment and,
347–348
test plan alternatives,
350–354
test plans, lightweight
350
test plan sample,
351
test strategy vs.,
86–88
traceability and,
88
types of tests and,
346
where to start,
345
Test results
communicating,
357–358
organizing,
322–324
release planning and,
349–350
Test skills. See Skills
Test spikes, 381
Test spreadsheets, 353
Test strategy
iterations, pre-iteration activities and,
380–381
test plan vs.,
86–88
Test stubs
definition,
506
integration with external applications and,
459
unit tests and,
127
Test teams, 506–507. See also Teams
Test tools. See also Toolkits
API-layer functional,
168–170
exploratory testing,
210–211
generating test data with,
212
GUI tests,
170–176
home-brewed,
175
home-grown,
314
IDEs,
124–126
performance testing,
234–235
security testing,
225
unit-level tests,
126–127
,
165–168
web service tests,
170
Test types
alpha/beta,
466–467
exploratory.
See
Exploratory testing (ET)
functional.
See
Functional testing
GUI.
See
GUI testing
integration,
229
,
459
load.
See
Load testing
performance.
See
Performance and load testing
reliability,
230–231
,
250–251
security,
220
,
223–227
stress.
See
Load testing
unit.
See
Unit testing
usability.
See
Usability testing
user acceptance testing.
See
UAT (user acceptance testing)
Test writing strategy. See Strategy, for writing tests
Testability, 183–185
automated vs. manual Quadrant 2 tests,
185
automation and,
149–150
code design and test design and,
184–185
overview of,
183
of stories,
393–396
Testers
adding value,
12
agile testers,
4
,
19–20
agile testing mindset,
20–21
automation allowing focus on more important work,
260
collaboration with customers,
396–397
considering all viewpoints during iteration planning,
386–389
controlling workload and,
393
definition,
507
facilitating communication,
429–430
feedback and,
486
hiring agile tester,
67–69
how to influence testing,
121–122
integration of testers into agile project,
61–63
iterations and,
327
making job easier,
114–115
sizing stories,
333–334
tester-developer ratio,
66–67
writing task cards and,
391
Tester's bill of rights, 49–50
Testing
coding and testing simultaneously,
409–410
completing testing tasks,
415–416
identifying variations,
410
managing,
320–322
organizing test results,
322–324
organizing tests,
319–322
planning time for,
455–456
post-development cycles,
467–468
quadrants.
See
Quadrants
release candidates,
458
risk assessment and,
407–409
sustainable pace of,
40–41
traditional vs. agile,
12–15
transparency of tests,
321–322
Testing in context
context-driven testing and,
106–108
definition,
502
TestNG GUI test tool, 127
Tests that never fail, 286
Text matrices, 350–353
The Grinder, 234
Themes. See also Release planning
definition,
507
prioritizing stories and,
339
writing task cards and,
392
Thin slices, incremental development and, 338
Third parties
compatibility testing and,
230
release planning and,
342–344
software,
163
Tholfsen, Mike, 203
Thomas, Mike, 116, 194
Three little pigs metaphor, 278
Timelines, scope and, 340–341
Toolkit (Quadrant 1)
build tools,
126
IDEs,
124–126
overview of,
123
source code control,
123–124
unit test tools,
126–127
Toolkit (Quadrant 2)
API-layer functional test tools,
168–170
automation tools,
164–165
building tests incrementally,
178–179
checklists,
156
flow diagrams,
160–163
GUI test tools,
170–176
keep the tests passing,
179
mind maps,
156–158
mock-ups,
160
software-based tools,
163
spreadsheets,
159
strategies for writing tests,
177–178
test design patterns,
179–183
test management,
186
testability and,
183–185
tool strategy,
153–155
tools for eliciting examples and requirements,
155–156
unit-level test tools,
165–168
Web service test tool,
170
Toolkit (Quadrant 3)
emulator tools,
213–214
monitoring tools,
212–213
simulator tools,
213
user acceptance testing,
250
Toolkit (Quadrant 4)
baselines,
Читать дальше