
Testing Object-Oriented Software
Life Cycle Solutions
Springer (Publisher)
Published on 30. September 2012
Book
Paperback/Softback
XIX, 209 pages
978-1-4612-7179-6 (ISBN)
Description
The rise of object-oriented (00) software development seems to have helped improve software quality, but it has not, of course, eliminated all possibility of error. Thus, software testing is at least as important today as it ever has been. Testing, as a centerpiece of quality assurance efforts, only increases in value as society becomes more and more reliant on software. Testing 00 components and even 00 systems is not very difficult once you know how to do it. But until now there have been few accounts of how to do it well and none that adequately characterize testing across the life cycle of large 00 software production efforts. This book combines insights from research on 00 testing with insights from industrial testing efforts to produce an account that should be valuable to anyone interested in the theory and practice of testing 00 software. This book provides extensive coverage of testing methods applicable to 00 software development, as well as discussions of underlying concepts and technical underpinnings that enable you to devise additional techniques of your own. It is unlikely that you will apply every test, process, review criterion, or metric described in this book to your software project. If you have a small project, it is unlikely that you will apply more than a few of them. But the breadth of coverage allows you to select and customize them with full knowledge of the alternatives and of the options available if you need to extend testing efforts.
More details
Edition
Softcover reprint of the original 1st ed. 1999
Language
English
Place of publication
New York
United States
Target group
Professional and scholarly
Professional/practitioner
Illustrations
XIX, 209 p.
Dimensions
Height: 235 mm
Width: 155 mm
Thickness: 13 mm
Weight
359 gr
ISBN-13
978-1-4612-7179-6 (9781461271796)
DOI
10.1007/978-1-4612-1526-4
Schweitzer Classification
Other editions
Additional editions

Book
12/1999
Springer
€53.49
Shipment within 5-7 days
Persons
Imran Bashir has an MSc degree in information security from Royal Holloway, University of London, and a background in software development, solution architecture, infrastructure management, information security, and IT service management. His current focus is on the latest technologies such as Blockchain, IoT, and quantum computing. He is a member of the Institute of Electrical and Electronics Engineers (IEEE) and the British Computer Society (BCS). His book on Blockchain technology, Mastering Blockchain, is a widely accepted standard text on the subject. He has worked in various senior technical roles for different organizations around the world. Currently, he is living and working in London, UK.
Content
1 Introduction.- 1.1 Why a Book on Testing Object-Oriented Software?.- 1.2 Outline of Book.- 2 Software Process and Testing Models.- 2.1 Software Process Models.- 2.2 Object-Oriented Software Development and Testing Model.- 2.3 Summary.- 3 Impact of Object Orientation on Testing.- 3.1 Encapsulation.- 3.2 Information Hiding.- 3.3 Abstraction.- 3.4 Inheritance.- 3.5 Reuse.- 3.6 Testability of Object-Oriented Systems.- 3.7 Summary.- 4 Requirements Testing.- 4.1 Objective.- 4.2 Approach.- 4.3 Activities.- 4.4 Resources.- 4.5 Effort.- 4.6 Acceptance Criteria.- 4.7 Summary.- 5 Design Testing.- 5.1 Objective.- 5.2 Approach.- 5.3 Activities.- 5.4 Resources.- 5.5 Effort.- 5.6 Acceptance Criteria.- 5.7 Summary.- 6 Base Classes Unit Testing.- 6.1 Objective.- 6.2 Approach.- 6.3 Activities.- 6.4 Resources.- 6.5 Effort.- 6.6 Acceptance Criteria.- 6.7 Summary.- 7 Derived Classes Unit Testing.- 7.1 Test Procedure.- 7.2 Analysis.- 7.3 Summary.- 8 Testing C++ Special Features.- 8.1 Static Data Members.- 8.2 Function Pointers.- 8.3 Structs as Data Members.- 8.4 Nested Classes.- 8.5 Member Access Controlaccess control.- 8.6 Composite Classes.- 8.7 Abstract Classes.- 8.8 Summary.- 9 Code Reviews.- 9.1 Objective.- 9.2 Approach.- 9.3 Activities.- 9.4 Resources.- 9.5 Effort.- 9.6 Acceptance Criteria.- 9.7 Language-Independent Errors Checklist.- 9.8 Object-Oriented Errors Checklist.- 9.9 Summary.- 10 Integration Testing.- 10.1 Objective.- 10.2 Approach.- 10.3 Activities.- 10.4 Resources.- 10.5 Effort.- 10.6 Acceptance Criteria.- 10.7 Summary.- 11 Integrated-System Testing.- 11.1 Objective.- 11.2 Approach.- 11.3 Activities.- 11.4 Resources.- 11.5 Effort.- 11.6 Acceptance Criteria.- 11.7 Summary.- A SampleStatistic Class Source Code.- A.1 Header File.- A.2 Source File.- B SampleHistogram Class Source Code.- B.1 Header File.- B.2 Source File.- C PriorityQueue Class Source Code.- C.1 Eiffel Implementation.- C.2 C++ Header File.- C.3 C++ Source File.- D Algorithms for Drawing MaDUM.- D.1 Base Class MaDUM Algorithm.- D.2 Derived Class MaDUM Algorithm.- E Test Data Adequacy Axioms.- E.1 "Obvious" Axioms.- E.1.1 Applicabilityapplicability.- E.1.2 NonExhaustive Applicability.- E.1.3 Monotonicity.- E.1.4 Inadequate Empty Set.- E.1.5 Renaming.- E.1.6 Complexity.- E.1.7 Statement Coverage.- E.2 "Not-so-obvious" Axioms.- E.2.1 Antiextensionality.- E.2.2 General Multiple Change.- E.2.3 Antidecomposition.- E.2.4 Anticomposition.- References.