Software testing by Ron Patton is written in an easy to understand language and gives a good introduction to software testing with basic coverage of all kinds of quality assurance and testing. This book gives the new tester a view on what testing and QA are all about including theory, definitions, suggestions, and examples of main software testing types.There is also a quiz at the end of each chapter, making the book more valuable.
If you are new to software testing this book is good for start. You must read this book if you need a good introduction to software testing at the beginning level or want to start a career in software testing as a good junior tester. It may be useful if you are working in IT and want to know basics of software testing and QA. This book by Ron Patton will be too basic for experienced software testing professional.
TABLE OF CONTENTS AT A GLANCE part1 The Big Picture 1 Software testing background 9 2 The software development process 23 3 The realities of software testing 37 Part II Testing Fundamentals The chapters in Part II teach you the fundamental approaches to software testing. The work of testing software is divided into four basic areas, and you will see the techniques used for each one:
Chapter 4, "Examining the Specification," teaches you how to find bugs by carefully inspecting the documentation that describes what the software is intended to do. Chapter 5, "Testing the Software with Blinders On," teaches you the techniques to use for testing software without having access to the code or even knowing how to program. This is the most common type of testing. Chapter 6, "Examining the Code," shows you how to perform detailed analysis of the program's source code to find bugs. You'llieam that you don't have to be an expert programmer to use these techniques. Chapter 7, "Testing the Software with X-Ray Glasses," teaches you how you can improve your testing by leveraging information you gain by reviewing the code - or being able to see it execute while you run your tests. 4 Examining the Specification 53 Getting Started 53 Black-Box and White-Box Testing 55 Static and Dynamic Testing 56 Static Black-Box Testing: Testing the Specification 56 Performing a High-Level Review of the Specification. 57 Pretend to Be the Customer. 57 Research Existing Standards and Guidelines 58 Review and Test Similar Software 59 Low-Level Specification Test Techniques 60 Specification Attributes Checklist 60 Specification Terminology Checklist 61 Summary. 61 Quiz 62 5 Testing the Software with Blinders On 63 Dynamic Black-Box Testing: Testing the Software While Blindfolded 64 Test- to-Pass and Test-to-Fail 66 Equivalence Partitioning 67 Data Testing 70 Boundary Conditions 70 Sub-Boundary Conditions 75 Default, Empty, Blank, Null, Zero, and None 77 Invalid, Wrong, Incorrect, and Garbage Data 78 State Testing. 79 Testing the Software's Logic Flow 80 Testing States to Fail 84 Other Black-Box Test Techniques 87 Behave Like a Dumb User 87 Look for Bugs Where You've Already Found Them 88 Think like a Hacker 88 Follow Experience, Intuition, and Hunches 88 Summary 89 Quiz 89 6 Examining the Code 91 Static White-Box Testing: Examining the Design and Code 91 Formal Reviews 92 Peer Reviews 94 Walkthroughs 95 Inspections 95 Coding Standards and Guidelines 96 Examples of Programming Standards and Guidelines 96 Obtaining Standards 98 Generic Code ReView Checklist 99 Data Reference Errors 99 Data Declaration Errors 100 ComputatIon Errors 101 Comparison Errors 101 Control flow errors 102 Subroutine Parameter Errors 102 Input/Output Errors 102 Other Checks 103 Summary Quiz 7 Testing the Software with X-Ray Glasses 105 Dinamic White-Box Testing 106 Dinamic White-Box Testing versus DebuggIng 107 Testing the Pieces 108 Unit and integration testing 109 An Example of Module testing 111 Data Coverage 113 Data Flow 114 Sub-Boundaries 115 Formulas and Equations 115 Error Forcing 116 Code coverage 118 Program Statement and Line Coverage 118 Branch Coverage 119 Condition Coverage 120 Summary Quiz part3 Applying Your testing Skills 8 Configuration testing 125 9 Compatibility testing 141 10 Foreign-language testing 153 11 Usability testing 169 12 Testing the documentation 183 13 Testing for software security 193 14 Website testing 211 part4 Supplementing Your Testing 15 Automated testing and test tools 231 16 Bug bashes and beta testing 253 part5 Working with test documentation 17 Planning your test effort 263 18 Writing and tracking test cases 277 19 Reporting what you find 291 20 Measuring your success 313 part6 The future 21 Software quality assurance 329 22 Your career as a software tester 343
Ron Patton is a software consultant living in Washington State. His software test experience is wide and varied from mission critical systems to painting programs for kids. In 1992 he joined Microsoft as a Software Test Lead in the Systems Group for Multimedia Viewer, the authoring tool and multimedia display engine used by Encarta, Cinemania, and Bookshelf. He moved on to become the Software Test Manager of the Kids Product Unit. Most recently, he was the Software Test Manager of the Microsoft Hardware Group responsible for the software shipped with the mouse, keyboard, gaming, telephony, and ActiMates product lines.
Software Testing by Ron Patton, Second Edition provides practical insight into the world of software testing and quality assurance. Learn how to find problems in any computer program, how to plan an effective test approach and how to tell when software is ready for release. Updated from the previous edition in 2000 to include a chapter that specifically deals with testing software for security bugs, the processes and techniques used throughout the book are timeless. This book is an excellent investment if you want to better understand what your Software Test team does or you want to write better software.