Systematic Software Testing delivers a flexible, risk-based process that improves your software testing capabilities and helps you do just that. Whether your organization already has a well-defined testing process, or it’s faltering with almost no process, Systematic Software Testing provides unique insights into better ways to test your software.
Learn to use a preventive method of testing that parallels the software development lifecycle, and subsequently how to create and use test plans, design, and metrics. Detailed instructions help you decide what to test, how to prioritize, and when testing is complete. You’ll even learn to conduct risk analysis and measure test effectiveness to maximize the efficiency of your testing efforts.
And because organizational structure, the right people, and management are primary keys to better software testing, Systematic Software Testing helps you shape your organization to better respond to the dynamics of software testing.
A Comprehensive Reference for Developers, Testers, and Test Managers
Learn how testing fits into the bigger software development picture
Get a cradle-to-grave perspective on testing that parallels the software
Gain an understanding of what constitutes good testing practices and
Learn the principles of leadership and how to apply them to managing
Develop a tailor-made testing process that fits your organization's
unique structure based on the authors' 25 years of experience
Table of Contents
Chapter 1 An Overview of the Testing Process
Chapter 2 Risk Analysis
Chapter 3 Master Test Planning
Chapter 4 Detailed Test Planning
Chapter 5 Analysis and Design
Chapter 6 Test Implementation
Chapter 7 Test Execution
Chapter 8 The Test Organization
Chapter 9 The Software Tester
Chapter 10 The Test Manager
Chapter 11 Improving the Testing Process
Chapter 12 Some Final Thoughts
Review By: Mike Tarrani 08/31/2008This 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.
Review By: Michael Ferguson 08/31/2008This book explains software testing in an easy-to-read style. It comprehensively explains the standards and techniques used in the software industry for testing software development within a framework known as STEP (Systematic Test Evaluation Process). And the authors have given experienced advice on how to use STEP in a flexible manner. Examples of templates and completed documents are provided.
Not only is the testing process described, the authors also address testing topics important to consider, including certifications in testing currently available, methods for process improvement, and managing team relationships. The final chapter provides a summary to help the reader take steps to implement an effective testing process.
The most important investments you can make in life are the investments you make in yourself. The book should become one of those investments that any person, or any organization, involved in development or testing of software should consider.
The authors have labeled their book “A comprehensive reference for developers, testers, and Test Managers.” They have met their objectives by describing testing from beginning to end in a flexible manner. After an overview of the testing process, the authors address the most important subject within testing: risk.
The authors use actual examples in story format and everyday language throughout the book, instead of dry technical terms. The examples convey a lot of useful information in a very easy-to-understand style.
By including chapters on test organization and the people involved in testing, the authors have shown that testing should be an integral part of software development, not a set of activities that occur just before a software product is released.
Once the reader has learned how to get an effective testing process defined and implemented, it makes sense to want to improve upon it. The book provides guidance on conducting reviews of completed project testing, and models for testing process improvement. My personal preference would be the TPI method, since it is not only comprehensive and easy to follow, but also provides suggestions on improving your testing process to the next level of maturity.
The book has become part of my professional library and I am recommending this book to my colleagues.