A Practical Guide to Testing Object-Oriented Software

Author:   John D. McGregor ,  David A. Sykes
Publisher:   Pearson Education (US)
ISBN:  

9780201325645


Pages:   416
Publication Date:   13 March 2001
Format:   Hardback
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Our Price $118.67 Quantity:  
Add to Cart

Share |

A Practical Guide to Testing Object-Oriented Software


Overview

A Practical Guide to Testing Object-Oriented Software focuses on the real-world issues that arise in planning and implementing effective testing for object-oriented and component-based software development. It shows how testing object-oriented software differs from testing procedural software and highlights the unique challenges and opportunities inherent in object-oriented software testing. The authors reveal how object-oriented software development allows testing to be integrated into each stage of the process-from defining requirements to system integration-resulting in a smoother development process and a higher end quality. As they follow this process, they describe what to test at each stage as well as offer experienced-based testing techniques. You will find information on such important topics as: * Testing analysis and design models, including selecting test cases to guide design inspections * Testing components, frameworks, and product lines * The testing challenges of inheritance and polymorphism * How to devise an effective testing strategy * Testing classes, including constructing a test driver and test suites * Testing object interactions, covering sampling test cases, off-the-shelf components, protocol testing, and test patterns * Testing class hierarchies, featuring subclass test requirements * Testing distributed objects, including threads, life cycle testing, and Web server testing * Testing systems, with information on stress, life cycle, and performance testing One comprehensive example runs throughout the book to demonstrate testing techniques for each stage of development. In addition, the book highlights important questions that testers should ask when faced with specific testing tasks. The authors acknowledge that testing is often viewed as a necessary evil, and that resources allocated to testing are often limited. With that in mind, they present a valuable repertoire of testing techniques from which you can implement those that fit your budget, schedule, and needs.

Full Product Details

Author:   John D. McGregor ,  David A. Sykes
Publisher:   Pearson Education (US)
Imprint:   Addison Wesley
Dimensions:   Width: 18.70cm , Height: 1.70cm , Length: 23.40cm
Weight:   0.630kg
ISBN:  

9780201325645


ISBN 10:   0201325640
Pages:   416
Publication Date:   13 March 2001
Audience:   College/higher education ,  Tertiary & Higher Education
Format:   Hardback
Publisher's Status:   Out of Print
Availability:   In Print   Availability explained
Limited stock is available. It will be ordered for you and shipped pending supplier's limited stock.

Table of Contents

1. Introduction. Who Should Read This Book? What Software Testing Is and Isn't. What Is Different about Testing Object-Oriented Software? Overview of Our Testing Approach. Test Early. Test Often. Test Enough. The Testing Perspective. Organization of This Book. Conventions Used in This Book. A Continuing Example — Brickles. Basic Brickles Components. Brickles Physics. Game Environment. 2. The Testing Perspective. Testing Perspective. Object-Oriented Concepts. Object. Message. Interface. Class. Inheritance. Polymorphism. Development Products. Analysis Models. Design Models. Source Code. Summary. 3. Planning for Testing. A Development Process Overview. A Testing Process Overview. Risk Analysis — A Tool for Testing. Risks. Risk Analysis. A Testing Process. Planning Issues. Dimensions of Software Testing. Who Performs Testing? Which Pieces Are Tested? When is Testing Performed? How Is Testing Performed? How Much Testing Is Adequate? Roles in the Testing Process. A Detailed Set of Test Activities. Roles in the Testing Process. Class Tester. Integration Tester. System Tester. Test Manager. A Detailed Set of Test Activities. Planning Activities. Scheduling Testing Activities. Estimation. A Process for Testing Brickles. Document Templates. Test Metrics. Summary. 4. Testing Analysis and Design Models. An Overview. Place in the Development Process. The Basics of Guided Inspection. Evaluation Criteria. Organization of the Guided Inspection Activity. Basic Roles. Individual Inspection. Preparing for the Inspection. Specifying the Inspection. Realistic Models. Selecting Test Cases for the Inspection. Creating Test Cases . Completing Checklists. The Interactive Inspection Session. Testing Specific Types of Models. Requirements Model. Analysis Models. Design Models. Testing Again. Testing Models for Additional Qualities. Summary. Model Testing Checklist. Addendum: A Process Definition for Guided Inspection. Steps in the Process. Detailed Step Descriptions. Roles in the Process. 5. Class Testing Basics. Class Testing. Ways to Test a Class. Dimensions of Class Testing. Constructing Test Cases. Adequacy of Test Suites for a Class. Constructing a Test Driver. Test Driver Requirements. Tester Class Design. Summary. 6. Testing Interactions. Object Interactions. Identifying Interactions. Specifying Interactions. Testing Object Interactions. Testing Collection Classes. Testing Collaborator Classes. The Interaction between Testing and Design Approach. Sampling Test Cases. Orthogonal Array Testing. Adequacy Criteria for OATS. Another Example. Another Application of OATS. Testing Off-the-Shelf Components. Case Study in Component Acceptance Testing. Protocol Testing. Test Patterns. Listener Test Pattern. Specific Example. Testing Exceptions. Testing Interactions at the System Level. Summary. 7. Testing Class Hierarchies. Inheritance in Object-Oriented Development. Subclass Test Requirements. Refinement Possibilities. Hierarchical, Incremental Testing. Organizing Testing Software. Testing Abstract Classes. Summary. 8. Testing Distributed Objects. Basic Concepts. Computational Models. Concurrent. Parallel. Networked. Distributed. Basic Differences. Non-Determinism. Additional Infrastructure. Partial Failures. Time Outs. Dynamic Nature of the Structure. Threads. Synchronization. Path Testing in Distributed Systems. Thread Models. Life Cycle Testing. Models of Distribution. Basic Client/Server Model. Standard Models of Distribution. Comparisons and Implications. A Generic Distributed Component Model. Basic Architecture. Local and Remote Interfaces. Specifying Distributed Objects. Interface Definition Language. Traditional Pre/Post-Conditions and Invariants. Temporal Logic. Temporal Test Patterns. Eventually(a). Until(a,b). Always. A Test Environment. Class Testing. Interaction Testing. Test Cases. Model-specific tests. Testing Every Assumption. Infrastructure Tests. Logic-Specific Test Cases. The Ultimate Distributed System — The Internet. Web Servers. Life Cycle Testing of Internet Applications. What Haven't We Said? Summary. 9. Testing Systems. Defining the System Test Plan. Features Tested and Not Tested. Test Suspension Criteria and Resumption Requirements. Complementary Strategies for Selecting Test Cases. Use Profile. ODC. Use Cases as Sources of Test Cases. Constructing Use Profiles. Using Scenarios to Construct Test Cases. The Expected Results Section of a Test Case. Brickles. Testing Incremental Projects. Legacy Projects. Testing Multiple Representations. What Needs to Be Tested. Testing Against Functional Requirements. Testing for Qualitative System Attributes. Testing the System Deployment. Testing After Deployment. Testing Environment Interactions. Test System Security. Types of Testing. Stress Testing. Life Cycle Testing. Performance Testing. Testing Different Types of Systems. Reactive Systems. Embedded Systems. Multi-Tiered Systems. Distributed Systems. Measuring Test Coverage. What Is to Be Covered? When Is Coverage Measured? When Is Coverage Used? ODCDefect Impacts. More Examples. Summary. 10. Components, Frameworks, and Product Lines. Component Models. Enterprise JavaBeans Component Model. Testing Components vs. Objects. Component Test Processes. Test Cases Based on Interfaces. Case Study — A GameBoard Component. Frameworks. Basic Issues. Framework Testing Processes. Inspecting a Framework. Structuring Test Cases to Support a Framework. Product Lines. Testing at the Organizational Management Level. Testing at the Technical Management Level. Testing at the Software Engineering Level. Testing in a Product Line Project. Future. Summary. 11. Conclusion. Suggestions. Organization and Process. Data. Standards. Software Infrastructure. Techniques. Risks. Brickles. Finally. Bibliography. Index. 0201325640T04062001

Reviews

Author Information

Dr. John D. McGregor is a senior partner in Korson-McGregor and an associate professor of computer science at Clemson University. Dr. McGregor is co-author, with David A. Sykes, of Object-oriented Software Development: Engineering Software for Reuse, published by Van Nostrand Reinhold. He writes a column on testing and quality for the Journal of Object-oriented Programming (JOOP) published by SIGS/101communications Publishing. Currently he serves on the editorial board of two journals: Journal for Software Testing Professionals (JSTP) and the International Journal of Computer and Information Sciences (IJCIS). Dr. David A. Sykes is an assistant professor of computer science at Furman University. He is an associate of Korson-McGregor and has taught courses in object-oriented analysis, design, and testing. He was a developer of test cases in the Ada Compiler Validation Capability (ACVC) and the Jovial Compiler Validation Suite (JCVS). 0201325640AB04062001

Tab Content 6

Author Website:  

Countries Available

All regions
Latest Reading Guide

NOV RG 20252

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List