{"product_id":"pragmatic-software-testing-isbn-9780470127902","title":"Pragmatic Software Testing","description":"A hands-on guide to testing techniques that deliver reliable software and systems\u003cbr\u003e\u003cbr\u003e Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints.\u003cbr\u003e \u003cbr\u003e Black begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes how to design, develop, and, ultimately, document various kinds of tests. Because this is a hands-on activity, Black includes realistic, life-sized exercises that illustrate all of the major test techniques with detailed solutions.\u003cbr\u003e \u003cbr\u003e \u003cp\u003eAcknowledgments xiii\u003c\/p\u003e \u003cp\u003eIntroduction xv\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I Goals, Strategies, and Tactics 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 What Does It Mean to Be Pragmatic? 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Do Effective and Efficient Mean? 3\u003c\/p\u003e \u003cp\u003eWhat Effects Do You Want? 4\u003c\/p\u003e \u003cp\u003eWhat Is the Right Level of Efficiency? 4\u003c\/p\u003e \u003cp\u003eAvoiding Redundancy 4\u003c\/p\u003e \u003cp\u003eReducing Cost 5\u003c\/p\u003e \u003cp\u003eWhat Software Testing Isn’t…But Is Often Thought to Be 6\u003c\/p\u003e \u003cp\u003eFive Phases of a Tester’s Mental Life 7\u003c\/p\u003e \u003cp\u003eOther Founding Views on Testing 8\u003c\/p\u003e \u003cp\u003eTesting as a Form of Quality Risk Management 9\u003c\/p\u003e \u003cp\u003eSo What Is the Test Team All About? 9\u003c\/p\u003e \u003cp\u003eWhat Does “Quality” Mean to You? 10\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 Triangle Test Exercise 13\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eExercise: The Triangle Test 13\u003c\/p\u003e \u003cp\u003eYour Solution for the Triangle Test 14\u003c\/p\u003e \u003cp\u003eYour Solution for the Triangle Test (Continued) 15\u003c\/p\u003e \u003cp\u003eAuthor’s Triangle Test Solution 15\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Aligning Testing with the Project 19\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhy Do Organizations Test? 19\u003c\/p\u003e \u003cp\u003ePerspectives on Testing 20\u003c\/p\u003e \u003cp\u003eTesting in Context 20\u003c\/p\u003e \u003cp\u003eCommon Test Phases and Objectives 21\u003c\/p\u003e \u003cp\u003eTesting Throughout the Organization 21\u003c\/p\u003e \u003cp\u003eThe V Model 23\u003c\/p\u003e \u003cp\u003eEvolutionary and Incremental Models 25\u003c\/p\u003e \u003cp\u003eThe Spiral Model 28\u003c\/p\u003e \u003cp\u003eRegrettably Common Model: Code and Fix 28\u003c\/p\u003e \u003cp\u003eTesting Maintenance Releases 29\u003c\/p\u003e \u003cp\u003eSystem Integration 30\u003c\/p\u003e \u003cp\u003eHardware\/Software Development 32\u003c\/p\u003e \u003cp\u003eThe Test Process 32\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Understanding Test Strategies, Tactics, and Design 35\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAligning Mission, Strategies, and Tactics 35\u003c\/p\u003e \u003cp\u003eAnalytical Test Strategies 36\u003c\/p\u003e \u003cp\u003eModel-Based Test Strategies 37\u003c\/p\u003e \u003cp\u003eMethodical Test Strategies 38\u003c\/p\u003e \u003cp\u003eProcess-Oriented Test Strategies 38\u003c\/p\u003e \u003cp\u003eDynamic Test Strategies 39\u003c\/p\u003e \u003cp\u003ePhilosophical Test Strategies 40\u003c\/p\u003e \u003cp\u003eRegression 41\u003c\/p\u003e \u003cp\u003eRegression Strategy 1: Repeat All Tests 42\u003c\/p\u003e \u003cp\u003eRegression Strategy 2: Repeat Some Tests 42\u003c\/p\u003e \u003cp\u003eThree Other Regression Strategies 43\u003c\/p\u003e \u003cp\u003eTactics: Categories of Testing Techniques 44\u003c\/p\u003e \u003cp\u003eStrategic and Tactical Considerations 46\u003c\/p\u003e \u003cp\u003eThe Test System 47\u003c\/p\u003e \u003cp\u003eClassic Principles for Test Design 50\u003c\/p\u003e \u003cp\u003ePhases of Test Development 51\u003c\/p\u003e \u003cp\u003eSynopsis of Test Strategies, Tactics, and Design 52\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II Risk-Based Testing 53\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Understanding Risks to System Quality 55\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCategories of Quality Risks 56\u003c\/p\u003e \u003cp\u003eFunctionality 56\u003c\/p\u003e \u003cp\u003ePerformance and Reliability 57\u003c\/p\u003e \u003cp\u003eStress, Capacity, and Volume 59\u003c\/p\u003e \u003cp\u003eStates 59\u003c\/p\u003e \u003cp\u003eTransactions 60\u003c\/p\u003e \u003cp\u003eInstallation and Deinstallation 61\u003c\/p\u003e \u003cp\u003eOperations 62\u003c\/p\u003e \u003cp\u003eMaintenance and Maintainability 63\u003c\/p\u003e \u003cp\u003eRegression 63\u003c\/p\u003e \u003cp\u003eUsability and User Interface 64\u003c\/p\u003e \u003cp\u003eData Quality 65\u003c\/p\u003e \u003cp\u003eError and Disaster Handling and Recovery 66\u003c\/p\u003e \u003cp\u003eDate and Time Handling 67\u003c\/p\u003e \u003cp\u003eLocalization 68\u003c\/p\u003e \u003cp\u003eConfiguration and Compatibility 69\u003c\/p\u003e \u003cp\u003eNetworked, Internetworked, and Distributed 69\u003c\/p\u003e \u003cp\u003eStandards and Regulatory Compliance 70\u003c\/p\u003e \u003cp\u003eSecurity 70\u003c\/p\u003e \u003cp\u003eTiming and Coordination 71\u003c\/p\u003e \u003cp\u003eDocumentation 71\u003c\/p\u003e \u003cp\u003eCan You Think of Other Quality Risks? 72\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Aligning Testing with Quality Risks 73\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003ePrioritize Risks to System Quality 73\u003c\/p\u003e \u003cp\u003eTesting, Customer Usage, and System Configurations 74\u003c\/p\u003e \u003cp\u003eApproaches for Quality Risks Analysis 76\u003c\/p\u003e \u003cp\u003eInformal Quality Risk Analysis 78\u003c\/p\u003e \u003cp\u003eTips for Risk Analysis 81\u003c\/p\u003e \u003cp\u003eChallenges of Risk Analysis 82\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Quality Risk Analysis Exercise 85\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solution 86\u003c\/p\u003e \u003cp\u003eComments on My Solution 91\u003c\/p\u003e \u003cp\u003eA Funny Thing Happened to Me on the Way to the Quality Risks… 92\u003c\/p\u003e \u003cp\u003eBonus Exercise 95\u003c\/p\u003e \u003cp\u003eTemplate 96\u003c\/p\u003e \u003cp\u003eMy Solution 100\u003c\/p\u003e \u003cp\u003eComments on My Solution 101\u003c\/p\u003e \u003cp\u003eBonus Example: Grays and Blues Quality Risk Analysis 102\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III Static Testing 105\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Reviews and Other Static Tests 107\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eTesting Requirements and Designs 107\u003c\/p\u003e \u003cp\u003eReviews Costs and Benefits 108\u003c\/p\u003e \u003cp\u003eTypes of Reviews 109\u003c\/p\u003e \u003cp\u003eReviews for Verification and Validation 109\u003c\/p\u003e \u003cp\u003eReviews as a Way to Improve the Process, Improve the System, and Reduce Costs 110\u003c\/p\u003e \u003cp\u003eAnswers to the Three Questions about Static Testing 114\u003c\/p\u003e \u003cp\u003eReviews as a Way to Achieve Consensus and Understanding 115\u003c\/p\u003e \u003cp\u003eThe Review Process, Roles, and Responsibilities 116\u003c\/p\u003e \u003cp\u003eDeliverables and Ground Rules from Reviews 117\u003c\/p\u003e \u003cp\u003eCommon Requirements and Design Bugs 118\u003c\/p\u003e \u003cp\u003eReviewing (and Testing) Documentation 119\u003c\/p\u003e \u003cp\u003eOther Static Tests 120\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Review Exercise 123\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eReviews 123\u003c\/p\u003e \u003cp\u003eYour Solution 124\u003c\/p\u003e \u003cp\u003eMy Solution 128\u003c\/p\u003e \u003cp\u003eComments on My Solution 132\u003c\/p\u003e \u003cp\u003eBonus Exercise: Reviewing Triangle Requirements Title Page 132\u003c\/p\u003e \u003cp\u003eTriangle Requirements Review Using Wiegers’s List 132\u003c\/p\u003e \u003cp\u003eThe Requirements Bugs You Found 134\u003c\/p\u003e \u003cp\u003eMy Solution: Requirements Bugs 137\u003c\/p\u003e \u003cp\u003eComments on My Solution 139\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV Behavioral Testing 141\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10 Equivalence Classes and Boundary Values 143\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eEquivalence Partitioning 144\u003c\/p\u003e \u003cp\u003eBoundary Value Analysis 144\u003c\/p\u003e \u003cp\u003eInteger 145\u003c\/p\u003e \u003cp\u003eReal Numbers 147\u003c\/p\u003e \u003cp\u003eCharacter and String 149\u003c\/p\u003e \u003cp\u003eDate 152\u003c\/p\u003e \u003cp\u003eTime 154\u003c\/p\u003e \u003cp\u003eCurrency 155\u003c\/p\u003e \u003cp\u003eBeyond Functional Classes and Boundaries 157\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11 Equivalence Classes and Boundary Values Exercise 159\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eFunctional Boundaries and Classes 159\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 161\u003c\/p\u003e \u003cp\u003eNonfunctional Boundaries and Classes 166\u003c\/p\u003e \u003cp\u003eOmninet Marketing Requirements Document (v0.3) 166\u003c\/p\u003e \u003cp\u003eOmninet System Requirements Document (v0.2) 168\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12 Use Cases, Live Data, and Decision Tables 169\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUse Cases and Scenario Tests 169\u003c\/p\u003e \u003cp\u003eNouns and Verbs, Adjectives and Adverbs 172\u003c\/p\u003e \u003cp\u003eLive Data and Customer Tests 173\u003c\/p\u003e \u003cp\u003eDecision Tables 174\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13 Decision Table Exercise 177\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDecision Table Tests 177\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 178\u003c\/p\u003e \u003cp\u003eDecision Tables and Boundary Values 181\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 183\u003c\/p\u003e \u003cp\u003eBuilding a Decision Table for Testing 188\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 190\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14 State Transition Diagrams 197\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDescribing Systems with States Using State Transition Diagrams 197\u003c\/p\u003e \u003cp\u003eState Tables 199\u003c\/p\u003e \u003cp\u003ePrinter Server State Transition Diagram 200\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15 State Transition Diagram Exercise 203\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eKiosk States 203\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 204\u003c\/p\u003e \u003cp\u003eATM State Models 211\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 212\u003c\/p\u003e \u003cp\u003eGrays and Blues and State Transition Diagrams 213\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 214\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16 Domain Testing 217\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCombinatorial Explosions 217\u003c\/p\u003e \u003cp\u003eA Domain Example Using Frequent-Flyer Programs 218\u003c\/p\u003e \u003cp\u003ePossible Domain Test Values 220\u003c\/p\u003e \u003cp\u003eAn Aerospace Example 221\u003c\/p\u003e \u003cp\u003eWhen Domain Rules Change 223\u003c\/p\u003e \u003cp\u003eDomain Analysis Summary 224\u003c\/p\u003e \u003cp\u003eComplex Domain Testing Example 225\u003c\/p\u003e \u003cp\u003eA General Rule for Complex Domains 228\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17 Domain Testing Exercise 233\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 234\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18 Orthogonal Arrays and All Pairs 239\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCombinatorial Explosions 239\u003c\/p\u003e \u003cp\u003eOrthogonal Arrays and All-Pairs Tables 241\u003c\/p\u003e \u003cp\u003eTwo Orthogonal Arrays 241\u003c\/p\u003e \u003cp\u003eSelecting an Orthogonal Array 243\u003c\/p\u003e \u003cp\u003eApplying Orthogonal Arrays to a Complicated Real-World Example 244\u003c\/p\u003e \u003cp\u003eAll-Pairs Tables 258\u003c\/p\u003e \u003cp\u003eOther Thoughts on Configuration Testing 259\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19 Orthogonal Arrays Exercise 261\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 263\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20 Reactive Testing 267\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGeneral Facts about Reactive Tests 267\u003c\/p\u003e \u003cp\u003eError Guessing, Attacks, and Bug Taxonomies 268\u003c\/p\u003e \u003cp\u003eBug Hunting 269\u003c\/p\u003e \u003cp\u003eExploratory Tests 270\u003c\/p\u003e \u003cp\u003eChecklists 271\u003c\/p\u003e \u003cp\u003eOther Sources of Inspiration for Reactive Testing 273\u003c\/p\u003e \u003cp\u003eAdvantages and Disadvantages 274\u003c\/p\u003e \u003cp\u003eA Case Study of Exploratory Testing 276\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart V Structural Testing 279\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21 Control-Flow Testing 281\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCode Coverage 282\u003c\/p\u003e \u003cp\u003eMcCabe Cyclomatic Complexity 284\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22 Control-Flow Testing Exercise 287\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 288\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 23 Data-Flow Testing 293\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 24 Data-Flow Testing Exercise 297\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solutions and Comments 298\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 25 Integration Testing 307\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eDrivers and Stubs 308\u003c\/p\u003e \u003cp\u003eIntegration Techniques 309\u003c\/p\u003e \u003cp\u003eBackbone Integration 311\u003c\/p\u003e \u003cp\u003eMcCabe Basis Paths for Integration 313\u003c\/p\u003e \u003cp\u003eEnhanced Hex Converter Program 316\u003c\/p\u003e \u003cp\u003eCall Flow 318\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 26 Integration Basis Test Exercise 321\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eMy Solution and Comments 323\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart VI Appendices 325\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix A Omninet: The Internet Everywhere Marketing Requirements Document 327\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1 Scope 329\u003c\/p\u003e \u003cp\u003e1.1 Terms, Acronyms, and Abbreviations 329\u003c\/p\u003e \u003cp\u003e1.2 Applicable Documents 330\u003c\/p\u003e \u003cp\u003e2 Required release date 330\u003c\/p\u003e \u003cp\u003e3 Description of requirements 330\u003c\/p\u003e \u003cp\u003e3.1 General technical requirements 330\u003c\/p\u003e \u003cp\u003e3.1.1 Welcome 330\u003c\/p\u003e \u003cp\u003e3.1.2 Payment 330\u003c\/p\u003e \u003cp\u003e3.1.3 Internet Browser 331\u003c\/p\u003e \u003cp\u003e3.1.4 Performance 331\u003c\/p\u003e \u003cp\u003e3.1.5 Localization 331\u003c\/p\u003e \u003cp\u003e3.1.6 Content Control 331\u003c\/p\u003e \u003cp\u003e3.1.7 Session Termination 331\u003c\/p\u003e \u003cp\u003e3.1.8 Confidentiality 332\u003c\/p\u003e \u003cp\u003e3.2 Administration 332\u003c\/p\u003e \u003cp\u003e3.2.1 Software Updates 332\u003c\/p\u003e \u003cp\u003e3.2.2 View Kiosks 332\u003c\/p\u003e \u003cp\u003e3.2.3 View Users 333\u003c\/p\u003e \u003cp\u003e3.2.4 Modify User 333\u003c\/p\u003e \u003cp\u003e3.2.5 Terminate User 333\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix B Omninet: The Internet Everywhere System Requirements Document 335\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eFunctionality System Requirements 336\u003c\/p\u003e \u003cp\u003eReliability System Requirements 340\u003c\/p\u003e \u003cp\u003eUsability System Requirements 341\u003c\/p\u003e \u003cp\u003eEfficiency System Requirements 342\u003c\/p\u003e \u003cp\u003eMaintainability System Requirements 343\u003c\/p\u003e \u003cp\u003ePortability System Requirements 344\u003c\/p\u003e \u003cp\u003eDesign Models 345\u003c\/p\u003e \u003cp\u003eOmninet System Architecture 345\u003c\/p\u003e \u003cp\u003ePayment Processing Decision Table 346\u003c\/p\u003e \u003cp\u003eKiosk Module Flow 347\u003c\/p\u003e \u003cp\u003eKiosk State-Transition Diagram 348\u003c\/p\u003e \u003cp\u003eKiosk State-Transition Table 348\u003c\/p\u003e \u003cp\u003eKiosk OS\/Browser\/Connection Speed Configuration Orthogonal Array 348\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix C Bibliography and Other Recommended Readings 351\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRBCS Company Profile 353\u003c\/p\u003e \u003cp\u003eIndex 355\u003c\/p\u003e \u003cb\u003eRex Black\u003c\/b\u003e is a 20-plus-year software and systems engineering veteran, and President and Principal Consultant of RBCS, Inc., a leader in software, hardware, and systems testing. He is the author of \u003ci\u003eManaging the Testing Process\u003c\/i\u003e as well as numerous articles. Black is also President of both the International Software Testing Qualifications Board and the American Software Testing Qualifications Board.  \u003cb\u003eA hands-on guide to testing techniques that deliver reliable software and systems\u003c\/b\u003e  \u003cp\u003eTesting even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know. He presents you with the fundamental techniques for testing and clearly shows you how to select and apply successful strategies to test a system with budget and time constraints.\u003c\/p\u003e \u003cp\u003eBlack begins by discussing the goals and tactics of effective and efficient testing. Next, he lays the foundation of his technique for risk-based testing, explaining how to analyze, prioritize, and document risks to the quality of the system using both informal and formal techniques. He then clearly describes how to design, develop, and, ultimately, document various kinds of tests. Because this is a hands-on activity, Black includes realistic, life-sized exercises that illustrate all of the major test techniques with detailed solutions.\u003c\/p\u003e \u003cp\u003eBy the end of this book, you'll know more about the nuts and bolts of testing than most testers learn in an entire career, and you'll be ready to put those ideas into action on your next test project.\u003c\/p\u003e \u003cp\u003eWith the help of real-world examples integrated throughout the chapters, you'll discover how to:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eAnalyze the risks to system quality\u003c\/li\u003e \u003cli\u003eAllocate your testing effort appropriately based on the level of risk\u003c\/li\u003e \u003cli\u003eChoose the right testing strategies every time\u003c\/li\u003e \u003cli\u003eDesign tests based on a system's expected behavior (black box) or internal structure (white box)\u003c\/li\u003e \u003cli\u003ePlan and perform integration testing\u003c\/li\u003e \u003cli\u003eExplore and attack the system\u003c\/li\u003e \u003cli\u003eFocus your hard work to serve the needs of the project\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eThe author's companion Web site provides exercises, tips, and techniques that can be used to gain valuable experience and effectively test software and systems.\u003c\/p\u003e \u003cp\u003e\u003cb\u003eWiley Technology Publishing Timely. Practical. Reliable.\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eVisit the author's Web site at http:\/\/www.rexblackconsulting.com\/\u003c\/p\u003e","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47989838184677,"sku":"NP9780470127902","price":52.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780470127902.jpg?v=1761785633","url":"https:\/\/k12savings.com\/products\/pragmatic-software-testing-isbn-9780470127902","provider":"K12savings","version":"1.0","type":"link"}