Functional Programming for the Object-Oriented Programmer

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
Downloaded: 85 times

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