Systematic Software Testingby Rick D. Craig, Stefan P. Jaskiel
Gain an in-depth understanding of software testing management and process issues that are critical for delivering high-quality software on time and within budget. Written by leading experts in the field, this book offers those involved in building and maintaining complex, mission-critical software systems a flexible, risk-based process to improve their software
Gain an in-depth understanding of software testing management and process issues that are critical for delivering high-quality software on time and within budget. Written by leading experts in the field, this book offers those involved in building and maintaining complex, mission-critical software systems a flexible, risk-based process to improve their software testing capabilities. Whether your organization currently has a well-defined testing process or almost no process, Systematic Software Testing provides unique insights into better ways to test your software.
Meet the Author
Rick D. Craig, an experienced test manager and consultant at Software Quality Engineering, has spoken at testing conferences every year since 1985. Rick has helped hundreds of companies throughout Europe, Asia, Australia, and the Americas improve their testing practices. Rick is the former American editor of Software Quality Management magazine, an active member of Mensa of America, and a Colonel in the United States Marine Corps Reserve. He is a technical editor for StickyMinds.com, a community Web site for software testing and quality engineering managers and professionals. Stefan P. Jaskiel is an information manager experienced in the development of technical documentation. He has developed a wide variety of reference manuals, online help systems, and multimedia CD-ROMs for hardware and software applications in client/server, Web, and PC environments. Stefan has led the design and development of systems/processes for managing and disseminating technical information.
Most Helpful Customer Reviews
See all customer reviews
This book is written for the software tester and/or test manager, and lives up to its title. The book explains how to go about planning a testing effort from a top-down perspective, discussing how to put together a master test plan (Chapter 3), and then drilling down into the nitty-gritty details (Chapter 4). Chapters 5 (Analysis & Design) describes some common testing techniques, which while not as comprehensive as some other s/w testing books, is perhaps unequaled in it's readability (Kudos to the copy-editor). I like Chapters 6 (Test Implementation) and 7 (Test Execution) because they make for a good checklist for the tasks that need to be done to support the test execution phase, again what strikes me most about this book is the easy read, something especially useful when covering such potentially dry subject matter as 'test status reporting'. Chapters 8 (Test Organization), 9 (The s/w Tester), and 10 (the Test Manager) touch upon the 'soft issues' related to these roles - discussing such items as 'the cornerstones of leadership', 'career paths', and 'how to hire testers'. Finally, Chapter 11 discusses how to improve the testing process - no matter where on a 'maturity' chart your organization resides. One thing I did find interesting, was the prominence Risk & Stefan attached to using Risk as a means of guiding the entire testing effort (a mentality I personally concur with), this is evident in their decision to discuss this aspect of testing right up front in Chapter 2, and continually referring to it throughout the rest of the book. In summary, I think Rick & Stefan have done a fantastic job of describing a systematic approach to software testing. In the vain of 'full disclosure', you should know that I've known Rick & Stefan for many years, and consequently I cannot be considered a completely impartial reviewer.
The fact that this book is comprehensive yet not in the least bit tedious is a testament to the writing skills of Rick Craig and Stefan Jaskiel. Rick and Stefan are excellent problem solvers. They are able to 1) clearly identify and define issues, 2) suggest methodical steps to resolve issues, 3) provide tactical suggestions as to how to apply these steps, 4) point out common missteps, 5) give practical advice on how to avoid these missteps. They have managed to provide sound technical information without forgetting the human side of software testing. This book is very well thought out and thorough. The headings made it very easy to follow and the key points contained great pearls of wisdom. And it was entertaining!
This book provides a detailed roadmap for establishing and managing a comprehensive test process that is closely aligned to the IEEE standards for software testing. The process, called Systematic Test and Evaluation Process (STEP) is designed to improve quality by early involvement in the development life cycle instead of having testing as an activity on the critical path at the end of the build phase. This approach ensures early detection of defects, including those introduced in the requirements, specifications and design milestones. Clearly, the STEP approach supports testing and SQA (where SQA is an oversight function outside of the testing domain). The STEP process has three main steps: 1. Plan the test strategy (develop a master test plan and associated detailed test plans). 2. Acquire testware (define test objectives, design and create test plans). 3. Measure (execute the tests, ensure that tests are adequate and monitor the process itself). This framework is supported in Chapters 2-8, each of which addresses supporting activities and artifacts in detail. Chapter 2 covers risk analysis since testing is by its nature done to reduce the risk of defects escaping into production systems. I like the way the authors separate technical and schedule risks in this chapter because each are integral to the realities of testing. Chapters 3 and 4 show how to perform master and detailed test planning, and provide example plan templates and how to develop them, and requirements and factors for each test phase for the detailed planning (unit, integration, system and acceptance testing). The analysis and design activities covered in chapter 5 are focused on test design. The systematic and structured way the authors approach these activities walks you through developing test cases. You're shown how to ensure that they account for requirements and features, and are given high level advice about how to types of tests to employ. Test implementation covered in Chapter 6 introduces organization and process issues from a team perspective. One of the strongest chapters, 7, does deeply into the issues and factors surrounding test execution, and gives metrics to consider and internal processes for managing defects. I felt that this chapter should have paid more attention to issue and defect management from an enterprise problem management perspective, but despite this the information is solid. The chapters that will most benefit test managers, especially new ones, are 8 through 10 that address the test organization, people and management issues. These sections would warm the heart of HR professionals and is unique in that leadership is given the same weight as management techniques. The detailed comparison of certifications from ASQ (CSQE), IEEE (CSDP), QAI (CSTE) and IIST (CSTP) includes everything you need to know to select the best certification to pursue, including salary increase data for each of these certifications. I also liked the chapter on improving the test process and thought the discussions of the CMM and the TPI model that is the subject of Test Process Improvement: A Practical Step-by-Step Guide to Structured Testing discussed. The appendices are also valuable in that they provide a glossary and templates that are consistent with IEEE specifications for software testing, and other valuable aids, such as checklists, an example master test plan and process diagrams. Overall, the 15 years of field experience in teaching testing that is embodied in this book shows. It's practical, captures best practices and provides a solid model for a process-oriented test organization that employs preventive techniques. Introducing Software Testing. Synopsis: Teaches good habits to new testers, and offers much to experienced test professionals. I cannot imagine a better introductory book for software testers because this much needed text bypasses the theory that similar books inundate you with and goes straig