Functional Programming for the Object-Oriented Programmer
- Authors
- Marick, Brian
- Publisher
- Prentice Hall
- ISBN
- 9780131774117
- Date
- 1994-12-08T00:00:00+00:00
- Size
- 14.81 MB
- Lang
- en
This reference presents, in detail, an effective, step-by-step, cost-effective approach to software testing that is based on common practice--with improvements inspired by academic testing research and practial experience. The approach is designed to be gradually adoptable, so that it does not disrupt current work, and it scales down gracefully under schedule pressure. Outlines a systematic process/strategy of software testing that incorporates test design, test implementation, and measurements of test quality. Explains solid testing techniques in detail and shows how to apply them to testing tasks. Answers such questions as: How do I design tests? What are common tester errors, and how do I avoid them? How do I implement tests? How do I know how good my tests are? How do I know when I've tested enough? Features unique coverge of testing bug fixes and other changes. For software developers testing their own code or designs; indepdendent testers testing someone else's code; and testers or developers testing bug fixes and other maintenance changes.
*Contents*
Preface
An Overview of Software Testing
PART 1: THE BASIC TECHNIQUES
1\. The Specification
2\. Introduction to the SREADHEX Example
3\. Building the Test Requirement Checklist
4\. Test Specifications
5\. Test Drivers and Suite Drivers
6\. Inspecting Code with the Question Catalog
7\. Using Coverage to Test the Test Suite
8\. Cleaning Up
9\. Miscellaneous Tips
PART 2: ADOPTING SUBSYSTEM TESTING
10\. Getting Going
11\. Getting Good
PART 3: SUBSYSTEM TESTING IN PRACTICE
12\. Using More Typical Specifications (including none at all)
13\. Working with Large Subsystems
14\. Testing Bug Fixes and other Maintenance Changes
15\. Testing under Schedule Pressure
PART 4: EXAMPLES AND EXTENSIONS
16\. Syntax Testing
17\. A Second Complete Example: MAX
18\. Testing Consistency Relationships
19\. State Machines and Statecharts
20\. Testing Subsystems that Use Reusable Software
21\. Testing Object-Based Software
22\. Object-Oriented Software 1: Inheritance
23\. An Example of Testing Derived Classes
24\. Object-Oriented Software 2: Dynamic Binding
PART 5: MULTIPLYING TEST REQUIREMENTS
25\. Simpler Test Requirement Multiplication
26\. Multiplying Operation Test Requirements
PART 6: APPENDICES
A. Test Requirement Catalog (Student Version)
B. Test Requirement Catalog
C. POSIX-Specific Test Requirement catalog (Simple)
D. Question Catalog for Code Inspections
E. Requirements for Complex Booleans Catalog
F. Checklists for Test Writing