Test-First Development compared with,
113–114
unit tests and,
111
,
244–245
Team City, 126
Team structure, 59–65
agile project teams,
64–65
independent QA team,
60
integration of testers into agile project,
61–63
overview of,
59
traditional functional structure vs agile structure,
64
Teams
automation as team effort,
484
building,
69–71
celebrating success,
50–52
co-located,
65–66
controlling workload and,
393
customer,
7
developer,
7–8
empowerment of,
44
facilitating communication and,
429–432
geographically dispersed,
376–378
,
431–432
giving all team members equal weight,
31
giving ownership to,
50
hiring agile tester for,
67–69
interaction between customer and developer teams,
8
iteration planning and,
384–385
logistics,
59
problem solving and,
123
Remote Data Monitoring system example,
243–244
shared responsibility and,
105–106
traditional,
9–10
using tests to support Quadrants
1
and
2
,
100–101
whole team approach.
Whole team approach
working on agile teams,
10–12
Teardown, for tests, 307–308
Technical debt
defects as,
418
definition,
506
managing,
106
,
487–488
Technology-facing tests
overview of,
5
Quadrants 1 & 4,
97–98
Technology-facing tests, critiquing the product (Quadrant 4), 217–239
baselines,
235–237
coding and testing and,
412–413
compatibility testing,
229–230
installability testing,
231–232
interoperability testing,
228–229
maintainability testing,
227–228
memory management testing,
237–238
overview of,
217–219
performance and load testing,
234
performance and load testing tools,
234–235
reliability testing,
230–231
,
250–251
scalability testing,
233–234
security testing,
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.
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.
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.
Test tools.
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.
Exploratory testing (ET)
functional.
Functional testing
GUI.
GUI testing
integration,
229
,
459
load.
Load testing
performance.
Performance and load testing
reliability,
230–231
,
250–251
security,
220
,
223–227
stress.
Load testing
unit.
Unit testing
usability.
Usability testing
user acceptance testing.
UAT (user acceptance testing)
Test writing strategy.
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