JaVa
   

C++, 338–343 Cactus, 247–249, 333 Canoo WebTest, 246, 333 capture/playback tools, 24 cast, 346 centralized persistence interface, 186 checked exceptions, 75 class diagram, 92 class invariant, 85 class under test (CUT), 5 classic testing, 11–16 Cloudscape, 181 CMMI, 299 Cockburn, Alistair, 364 code-based coverage, 168 code examples, 20–21 code inspections, 155 code smell, 9 collaborating classes, 83 collection class, 82 commercial Java expansions, 84 commercial process models, 307–312 RUP, 308–311 XP, 311 XP-Plugin to RUP, 312 Common Object Request Broker Architecture (CORBA), 226 communication, 7 communities of practice, 318 complex interaction tests, 166 component tests, 5 concurrency, 201 concurrent programs, 201–223 asynchronous services, 204–212 avoiding concurrency errors, 222–223 ConcurrentTestCase, 215–217 ConTest, 223 delayed response, 208–210 design goals, 202 hidden thread, 202 multiprocessors (MPs), 223 nondeterminism, 203 nondeterministic test failure, 206 notify(), 219–221 problems using threads, 202 pseudodeterminism, 207 repeated tests, 206–207 RetriedAssert, 209–210 sleep(), 214–215 split-off threads, 210–212 synchronization, 212–222, 223 target objects, 203–204 unexpected exceptions, 212 ConcurrentTestCase, 215–217 consistency, 70 construction, 308 ConTest, 223 continuous care, 11 continuous integration, 9, 305 contract, 84, 86 conventions in this tutorial, 20–21 CORBA, 226 core workflows, 309 cost-benefit analysis automated unit tests, 305–307 optimal ambient of testing, 161–170. See also how much is enough? test-first development, 23–24 courage, 7 coverage metrics, 167–170 craftsmanship approach, 318 CruiseControl, 305 Cunningham, Ward, 363 custom tag libraries, 260 CUT, 5
JaVa
   
Comments