Rapid Testing
Authors: Robert Culbertson, Chris Brown, Gary Cobb
Venue:  (2001)

From the Book:PrefaceThis book presents a practical approach to software testing, placing emphasis on a test process that is geared to today's aggressive pace of software development. It is designed for use by practicing test engineers and test managers, and includes tips, techniques, and examples that can be used to improve the efficiency and speed of software testing. The book should also be suitable for people who are beginning a career in software testing. It includes an extensive set of references that are intended to support established test professionals as well as those just starting out.The speed and efficiency of software testing depends how well the test process integrates with the overall development life cycle and upon the efficiency of the test techniques used. This book shows how to improve the speed and efficiency of your testing effort by focusing on three areas: Beginning the testing life cycle simultaneously with the project's requirements phase, so that bugs can be caught as early as possible and so test planning and test case development can start as soon as possible. Presenting efficient static testing techniques such as inspections and walkthroughs that can be used to test work products that are generated during the development life cycle. Presenting efficient dynamic testing techniques that can be used to find bugs during integration, system, and acceptance test phases.Key FeaturesThe following features of this book are intended to help you improve your software testing efficiency: An emphasis is placed on tailoring the test processes to meet aggressive time-to-market goalswithout sacrificing product quality. Software testing is placed in the context of the overall software development life cycle. The development life cycle is viewed from the vantage point of the test engineer. Development models such as evolutionary prototyping and spiral development models are considered, as well as the traditional waterfall. Static testing techniques are presented that can be used to get the test team involved early in the development life cycle. Static testing will find bugs early in the life of the product and will allow you to define test plans and test cases as soon as possible. Includes examples of key work products of the test process.How the Book is OrganizedThis book consists of three parts that are organized as follows:Part I. The Rapid Testing ProcessThis part defines the basic concepts and terms related to software testing. It describes rapid testing processes that are closely integrated with the overall software development life cycle. The traditional waterfall development model is considered, as well as life cycles based on incremental delivery and evolutionary prototyping. Each phase of the software development process is examined from the viewpoint of the software test engineer, and methods of bug detection and prevention are described as means of improving test efficiency.Part II. Rapid Testing Techniques and TipsThis part describes in detail the tips and techniques that can be used to develop a rapid test process. Methods are presented for eliciting and analyzing requirements, estimating and scheduling the test effort, conducting inspections and reviews, designi box tests, and reporting test results. A variety of dynamic testing methodologies are discussed, including functional analysis, equivalence partitioning, boundary value analysis, testing for memory leaks, use-case testing, and performance tests. Part III. Rapid Testing ExamplesPart III contains a set of examples for the process and techniques discussed in the first two parts of the book. The examples are based on the Test Management Toolkit (TMT), which is a pedagogical application that allows test managers and engineers to manage test plans, bug reports, test results, and other information related to software testing. It is a web-based application that permits several users, even when geographically dispersed, to support one or more test projects simultaneously.There are examples of four key work products related to the test process: Requirements Definition Test Plan Test Procedure Specification Test Summary ReportAbout the AuthorsRobert Culbertson has over 25 years of experience in engineering, software development, software testing, and project management. In work at Cisco Systems, Texas Instruments, IBM, the University of Texas, and DSC Communications, he has experienced first hand the subjects presented in Rapid Testing. Robert has B.S.E.E. and M.S.E.E. degrees from the University of Texas at Austin, and a Ph.D. in electrical and electronic engineering from the University of Birmingham in England.Gary Cobb has pursued a dual career of teaching and working in industry in the Austin area over the last 25 years. He has taught in the University of Texas at Austin Departme Mathematics, Computer Science, and Electrical and Computer Engineering. He has also taught multimedia courses for the Department of Computer Science at Southwest Texas State University, where he was the Director of the Multimedia Laboratory. His industrial experience includes full-time employment at Texas Instruments Inc., Lockheed Martin, and Dell Computer Corporation. He teaches short courses for the University of Texas' Software Quality Institute, which also sponsored his development of the Software Criteria for the Greater Austin Quality Award. Gary has a Ph.D. in mathematics from the University of Texas in Austin.Chris Brown has over 20 years experience in the software and computer industry. He has worked in various testing roles at Advanced Micro Devices, Cisco Systems, Compaq Computer Corporation, and IBM. At AMD he was responsible for systems level silicon validation and compatibility testing of all available hardware and software configurations. At Compaq he was responsible for scripting and testing of prototype and pilot computer systems for the Portable Products Computing Division. Chris was the team lead for OS/2 Database Manager, Communications Manager, LAN Transport and LAN Manager defect support while at IBM. He was President/CEO of Computer Security Corporation, a company that sold virus protection software to the United States Air Force, Prudential, Boeing, and other major companies and labs. He also served as a Regional Manager and Vice President at Dataserv Computer Maintenance/BellSouth, where he was responsible for field maintenance of over 40,000 computers. Chris has a Bachelor of Science degree in Electrical Engineering and an MBA.