JaVa
   

Daedalos JUnit extensions, 329 Darwin, Ian, 227 DBC, 84–86 deadlock, 202 deadlockDetected(), 216 defensive programming, 85–86 definitions, 5–6, 345–351 delayed test refactoring, 152 delegation, 346 delete button testing, 269 delete function testing, 270–271 DeMillo, R. A., 170 dependencies, 48–57 dependency inversion principle, 105, 106, 138, 178 dependent objects, 181 dependent on external resources, 57 deployment database, 192 design by contract (DBC), 84–86 design patterns, 91 Design Patterns (Gamma), 135 developer ego vs. tester ego, 66 developer tests, 5 development process. See software development process direct state test, 112 distance beween objects, 56, 68 distributed apps, 225–240 distribution mechanisms in Java, 226–227 EJBs, 236–240. See also EJBs problems of distribution, 225 RMI, 227–236. See also RMI transparency of distribution, 226 distribution, 225 document templates, 294 DOM, 347 dummy/mock objects, 97–141 adaptor, 135 anonymous class, 127 costs of dummy programming, 139 dependency inversion principle, 105, 106 dummy, defined, 100, 141 dummy (complex example), 100–107 dummy (simple example), 97–100 EasyMock, 114–116 EJB, 236 endoscopic testing, 108–112 exceptions, 117–119 excessive complexity, 140–141 expectation classes, 113 extensions, 107–108 external components, 134–137 factory, 121–122 file dummies, 129–133 generic mock files, 130–133 internal class, 127 JDBC mocks, 193–195 lightweight/heavyweight mocks, 124–129 locality, 97 message registrator, 133 mock, defined, 100, 141 mock generators, 114 mock library, 113–114 MockListeners, 133 persistence objects, 178–181, 193–195 pros/cons, 137–140 replacing helper objects with dummy/mock, 119–122 self-shunt, 128 singleton, 122–124 standardized pattern, 112 state changes, 112 stub, defined, 100 temporary dummy, 140 testing from inside, 108 threshold values, 116–117 uses, 140, 141 Web apps, 250–256 dynamic polymorphism, 155 dynamic reloading, 95 dynamic tests, 6
JaVa
   
Comments