Normal view MARC view ISBD view

Software testing : a craftsman's approach / Paul C. Jorgensen.

By: Jorgensen, Paul.
Boca Raton, Florida : CRC Press, Taylor & Francis Group, ©2014Edition: Fourth edition.Description: xxix, 464 pages : illustrations ; 27 cm.Content type: text ISBN: 9781466560680 (hardback); 1466560681 (hardback).Subject(s): Computer software -- Testing | COMPUTERS / Information Technology | COMPUTERS / Programming Languages / General | COMPUTERS / Software Development & Engineering / GeneralDDC classification: 005.14/J76 Other classification: CCS | COM032000 | COM051010 | COM051230
Contents:
Section I: A MATHEMATICAL CONTEXT A Perspective on Testing Basic Definitions Test Cases Insights from a Venn Diagram Identifying Test Cases Fault Taxonomies Levels of Testing Examples Generalized Pseudocode The Triangle Problem The NextDate Function The Commission Problem The SATM System The Currency Converter Saturn Windshield Wiper Controller Garage Door Opener Discrete Math for Testers Set Theory Functions Relations Propositional Logic Probability Theory Graph Theory for Testers Graphs Directed Graphs Graphs for Testing Section II: UNIT TESTING Boundary Value Testing Normal Boundary Value Testing Robust Boundary Value Testing Worst-Case Boundary Value Testing Special Value Testing Examples Random Testing Guidelines for Boundary Value Testing Equivalence Class Testing Equivalence Classes Traditional Equivalence Class Testing Improved Equivalence Class Testing Equivalence Class Test Cases for the Triangle Problem Equivalence Class Test Cases for the NextDate Function Equivalence Class Test Cases for the Commission Problem Edge Testing Guidelines and Observations Decision Table-Based Testing Decision Tables Decision Table Techniques Test Cases for the Triangle Problem Test Cases for the NextDate Function Test Cases for the Commission Problem Cause-and-Effect Graphing Guidelines and Observations Path Testing Program Graphs DD-Paths Test Coverage Metrics Basis Path Testing Guidelines and Observations Data Flow Testing Define/Use Testing Slice-Based Testing Program Slicing Tools Retrospective on Unit Testing The Test Method Pendulum Traversing the Pendulum Evaluating Test Methods Insurance Premium Case Study Guidelines Section III: BEYOND UNIT TESTING Life Cycle-Based Testing Traditional Waterfall Testing Testing in Iterative Life Cycles Agile Testing Agile Model-Driven Development Model-Based Testing Testing Based on Models Appropriate Models Commercial Tool Support for Model-Based Testing Integration Testing Decomposition-Based Integration Call Graph-Based Integration Path-Based Integration Example: integrationNextDate Conclusions and Recommendations System Testing Threads Basis Concepts for Requirements Specification Model-Based Threads Use Case-Based Threads Long versus Short Use Cases How Many Use Cases? Coverage Metrics for System Testing Supplemental Approaches to System Testing Nonfunctional System Testing Atomic System Function Testing Example Object-Oriented Testing Issues in Testing Object-Oriented Software Example: ooNextDate Object-Oriented Unit Testing Object-Oriented Integration Testing Object-Oriented System Testing Software Complexity Unit-Level Complexity Integration-Level Complexity Software Complexity Example Object-Oriented Complexity System-Level Complexity Model-Based Testing for Systems of Systems Characteristics of Systems of Systems Sample Systems of Systems Software Engineering for Systems of Systems Communication Primitives for Systems of Systems Effect of Systems of Systems Levels on Prompts Exploratory Testing Exploratory Testing Explored Exploring a Familiar Example Observations and Conclusions Test-Driven Development Test-Then-Code Cycles Automated Test Execution (Testing Frameworks) Java and JUnit Example Remaining Questions Pros, Cons, and Open Questions of TDD Retrospective on MDD versus TDD A Closer Look at All Pairs Testing The All Pairs Technique A Closer Look at the NIST Study Appropriate Applications for All Pairs Testing Recommendations for All Pairs Testing Evaluating Test Cases Mutation Testing Fuzzing Fishing Creel Counts and Fault Insertion Software Technical Reviews Economics of Software Reviews Roles in a Review Types of Reviews Contents of an Inspection Packet An Industrial-Strength Inspection Process Effective Review Culture Inspection Case Study Epilogue: Software Testing Excellence Craftsmanship Best Practices of Software Testing My Top 10 Best Practices for Software Testing Excellence Mapping Best Practices to Diverse Projects References Appendix: Complete Technical Inspection Packet
Summary: "The fourth edition of the widely adopted text and reference book is completely revised and updated and features a new section on Life Cycle-Based Testing. New chapters cover Software Complexity and Mutation Testing and Error Seeding. The text still provides a solid mathematical background in discrete mathematics and linear graph theory that is fundamental to understating software testing. The book also describes specification-based (functional) and code-based (structural) test development techniques, while extending this theoretical approach to less understood levels of integration and system testing"--
Item type Current location Call number Status Date due Barcode
Books Books College Library
General Reference Section
CCS 005.14/J76 (Browse shelf) Available 81396

Includes bibliographical references and index.

Section I: A MATHEMATICAL CONTEXT A Perspective on Testing Basic Definitions Test Cases Insights from a Venn Diagram Identifying Test Cases Fault Taxonomies Levels of Testing Examples Generalized Pseudocode The Triangle Problem The NextDate Function The Commission Problem The SATM System The Currency Converter Saturn Windshield Wiper Controller Garage Door Opener Discrete Math for Testers Set Theory Functions Relations Propositional Logic Probability Theory Graph Theory for Testers Graphs Directed Graphs Graphs for Testing Section II: UNIT TESTING Boundary Value Testing Normal Boundary Value Testing Robust Boundary Value Testing Worst-Case Boundary Value Testing Special Value Testing Examples Random Testing Guidelines for Boundary Value Testing Equivalence Class Testing Equivalence Classes Traditional Equivalence Class Testing Improved Equivalence Class Testing Equivalence Class Test Cases for the Triangle Problem Equivalence Class Test Cases for the NextDate Function Equivalence Class Test Cases for the Commission Problem Edge Testing Guidelines and Observations Decision Table-Based Testing Decision Tables Decision Table Techniques Test Cases for the Triangle Problem Test Cases for the NextDate Function Test Cases for the Commission Problem Cause-and-Effect Graphing Guidelines and Observations Path Testing Program Graphs DD-Paths Test Coverage Metrics Basis Path Testing Guidelines and Observations Data Flow Testing Define/Use Testing Slice-Based Testing Program Slicing Tools Retrospective on Unit Testing The Test Method Pendulum Traversing the Pendulum Evaluating Test Methods Insurance Premium Case Study Guidelines Section III: BEYOND UNIT TESTING Life Cycle-Based Testing Traditional Waterfall Testing Testing in Iterative Life Cycles Agile Testing Agile Model-Driven Development Model-Based Testing Testing Based on Models Appropriate Models Commercial Tool Support for Model-Based Testing Integration Testing Decomposition-Based Integration Call Graph-Based Integration Path-Based Integration Example: integrationNextDate Conclusions and Recommendations System Testing Threads Basis Concepts for Requirements Specification Model-Based Threads Use Case-Based Threads Long versus Short Use Cases How Many Use Cases? Coverage Metrics for System Testing Supplemental Approaches to System Testing Nonfunctional System Testing Atomic System Function Testing Example Object-Oriented Testing Issues in Testing Object-Oriented Software Example: ooNextDate Object-Oriented Unit Testing Object-Oriented Integration Testing Object-Oriented System Testing Software Complexity Unit-Level Complexity Integration-Level Complexity Software Complexity Example Object-Oriented Complexity System-Level Complexity Model-Based Testing for Systems of Systems Characteristics of Systems of Systems Sample Systems of Systems Software Engineering for Systems of Systems Communication Primitives for Systems of Systems Effect of Systems of Systems Levels on Prompts Exploratory Testing Exploratory Testing Explored Exploring a Familiar Example Observations and Conclusions Test-Driven Development Test-Then-Code Cycles Automated Test Execution (Testing Frameworks) Java and JUnit Example Remaining Questions Pros, Cons, and Open Questions of TDD Retrospective on MDD versus TDD A Closer Look at All Pairs Testing The All Pairs Technique A Closer Look at the NIST Study Appropriate Applications for All Pairs Testing Recommendations for All Pairs Testing Evaluating Test Cases Mutation Testing Fuzzing Fishing Creel Counts and Fault Insertion Software Technical Reviews Economics of Software Reviews Roles in a Review Types of Reviews Contents of an Inspection Packet An Industrial-Strength Inspection Process Effective Review Culture Inspection Case Study Epilogue: Software Testing Excellence Craftsmanship Best Practices of Software Testing My Top 10 Best Practices for Software Testing Excellence Mapping Best Practices to Diverse Projects References Appendix: Complete Technical Inspection Packet

"The fourth edition of the widely adopted text and reference book is completely revised and updated and features a new section on Life Cycle-Based Testing. New chapters cover Software Complexity and Mutation Testing and Error Seeding. The text still provides a solid mathematical background in discrete mathematics and linear graph theory that is fundamental to understating software testing. The book also describes specification-based (functional) and code-based (structural) test development techniques, while extending this theoretical approach to less understood levels of integration and system testing"--

College of Engineering and Computer Studies

There are no comments for this item.

Log in to your account to post a comment.