Table Of Contents
Part 1: Basic Techniques
1 Introduction
1.1 Important Terms
1.2 XP Testing
1.3 Classic Testing
1.4 "Test-First Development" - A Brief Definition
1.5 Java Only - Or Other Coffee?
1.6 Objectives of This Book
1.7 Organization of This Book
1.8 Conventions in This Book
1.9 Web Site to This Book
2 Automating Unit Tests
2.1 What Do We Want to Automate?
2.2 Requirements to an Automation Framework
2.3 Junit
2.4 Summary
3 Basic Steps of the Test-first Approach
3.1 Step by Step
3.2 Dependencies
3.3 Organizing and Running Tests
3.4 Summary
4 Test Ideas and Heuristics
4.1 Reworking Single Tests
4.2 Black and White Boxes
4.3 Testing the Typical Functionality
4.4 Threshold Values and Equivalence Classes
4.5 Error Cases and Exceptions
4.6 Object Interactions
4.7 Design by Contract
4.8 More Ideas to Find Test Cases
4.9 Refactoring Code and Tests
4.10 Summary
5 The Inner Life of a Test Framework
5.1 Statics
5.2 The Life Cycle of a Test Suite
5.3 Project-specific Expansions
5.4 Summary
6 Dummy and Mock Objects for Independence
6.1 Little Dummies
6.2 Weltering in Technical Terms
6.3 Big Dummies
6.4 Extending our Mansion
6.5 Endoscopic Testing
6.6 Mock Objects from the Assembly Line
6.7 Testing Threshold Values and Exceptions
6.8 How Does the Test Get to the Mock?
6.9 Evil Singletons
6.10 Lightweight and Heavyweight Mocks
6.11 File Dummies
6.12 More Typical Mock Objects
6.13 External Components
6.14 The Pros and Cons
6.15 Summary
7 Inheritance and Polymorphism
7.1 Inheritance
7.2 Polymorphism
7.3 Summary
8. How Much is Enough?
8.1 The XP Rule
8.2 Clear Answers to Clear Questions
8.3 Test Coverage
8.4 Summary
Part II: Advanced Topics
9 Persistent Objects
9.1 Abstract Persistence Interface
9.2 Persistent Dummy
9.3 Designing a Database Interface
9.4 Testing the "Right" Persistence
9.5 Interaction Between Persistence Layer and Client
9.6 Summary
10 Concurrent Programs
10.1 Problems Using Threads
10.2 Testing Asynchronous Services
10.3 Testing for Synchronization
10.4 Summary
11 Distributed Applications
11.1 RMI
11.2 Enterprise JavaBeans
11.3 Summary
12 Web Applications
12.1 Functional Tests
12.2 Testing on the Server
12.3 Testing with Dummies
12.4 Separating the Servlet API from the Servlet Logic
12.5 Testing the HTML Generation
12.6 Summary
13 Graphical User Interfaces
13.1 The Direct Way
13.2 Short Detours
13.3 Summary
14 The Role of Unit Tests in the Software Process
14.1 Activities in the Defined Software Process
14.2 Process Types and Testing Strategies
14.3 Costs and Benefits of Automated Unit Tests
14.4 Commercial Process Models
14.5 Will Automated Unit Tests Fit in My Process?
15 Loose Ends and Opportunities
15.1 Unit Testing for Existing Software
15.2 Introducing Unit Tests to the Development Team
15.3 What's Missing
Part III: Appendix
A. Notes to JUnit
B. Unit Tests with Other Programming Languages
C. Glossary
D. Bibliography & References
|
Related Books
Software Testing Books Functional Testing Books Functional Testing Books Java Books Object Oriented Books
Keywords
black box testing
component testing
defects
Java
Junit
software
software development
software testing
test automation
test framework
test management
test planning
test-first
testing
testing software
unit testing
white box testing
XP
Related Articles
Tata Deal with Agitar on Unit Testing
Spirent and MRV in Automation Deal
IBM in BuildForge Acquisition
STAREAST 2006
Compuware Boosts Quality Tools
Source Code Analyzer
|