Written for those with some background in software engineering, Automated Software Testing: Introduction, Management, and Performance delivers a rigorous guide to the state of the art in managing automated testing in a text that will benefit anyone who tests software for a living.
First and foremost, Automated Software Testing presents a methodology for test managers called Automated Testing Lifecycle Management (ATLM). This soup-to-nuts tour of testing takes you from initial planning, budgeting, and staffing to building a test plan and choosing test tools to executing tests and even improving your testing process the next time around. Though somewhat thickly written--with plenty of software engineering terminology--this book can also be useful to more practically minded readers because of its many sample test documents. (Besides numerous lists and charts outlining the steps in the ATLM process, the book presents a sample test plan, budget estimates, and staffing guides.)
A truly standout feature is the book's survey of currently available automated tools that can be used throughout the testing cycle, as well as how to choose the right ones for your next project. For many software testers and managers, this section alone is probably worth the price of the book.
As this book points out, test engineering is a growth field. While schools and businesses work hard to meet the demand for qualified testing professionals, this title can provide a solid guide to the best thinking on automated testing solutions that will save time and money as well as improve software quality. --Richard Dragan
Topics covered: Theory and practice of automated software testing, the Automated Testing Lifecycle Management (ATLM) process, test analysis, planning, design and execution, white-box and black-box testing, metrics, and choosing testing tools.
Elfriede Dustin is the lead author of Automated Software Testing (Addison-Wesley, 1999), and Quality Web Systems (Addison-Wesley, 2002). An acknowledged expert in software engineering and testing practices, she has assisted numerous companies in the definition and implementation of QA and testing processes. For more information, please see her Web site at www.effectivesoftwaretesting.com.
Jeff Rashka is coauthor of Automated Software Testing. He has significant industry experience as a test/quality assurance manager, software development program manager, and software division director. In addition, he has served as a SEI CMM /ISO 9000 Process Improvement Director.
John Paul has worked as a senior programmer/analyst on financial and budgeting systems as well as a host of other information systems. His software development leadership responsibilities have included system analysis and design, application prototyping, and application development using a number of different methodologies and programming techniques. His software development responsibilities have included application testing using automated test tools. John has also assumed a lead role in the performance of year 2000 compliance testing.
"Automated Software Testing" is one of those books that I wish had been available much earlier. An abundance of information that the test manager needs to know is compiled here comprehensively and in a very structured order. The order is not an incidental one, but rather a six step process called Automated Test Lifecycle Methodology (ATML). If this process is followed, the software development process could improve to a higher level of maturity. Each step is analysed carefully and supported by checklists, tables and decision helpers. In this book not only are the advantages of automated testing described but also warnings to avoid using automated testing when not applicable appear at the right places. The chapter Test Execution and Review enables the reader also to profit from the lessons learned at various test sites. I recommend to every test manager that this book resides on his or her office book shelf.
If at all serious about software testing then buy this book. I found, at my fingertips, a book that not only addresses test engineering basics as well as test automation practices, but also helps me prepare (ahead of time) for the changes in test automation that can be expected just around the corner. What I see forthcoming are test tools that implement this structured methodology. Instead of performing the entire test life cycle haphazardly, software test managers will use an ATLM-compliant test tool that automatically supports (and possibly enforces) this sound building block approach to the test effort.
How can I possibly add to the 33 previous glowing reviews of this outstanding book? To start, this book is about much more than automated software testing - it is a guide to setting up and operating a solid testing organization. Yet, it is about much more than organizing and managing testing - it also explains how testing fits within the development life cycle and provides in-depth details on different testing techniques. It goes further still - it introduces a testing life cycle called the Automated Test Life-Cycle Methodology (ATLM), which is [in my opinion] a major contribution to the software testing profession.
The authors obviously know their stuff. They share invaluable knowledge on how to organize softwarte testing, covering every facet from building a business case to staffing considerations. This is augmented by a work breakdown structure (WBS) for implementing testing, which is a great foundation for a project plan. As someone who evangelizes using WBS as the basis for project planning and estimating I think this alone is worth the price of the book. The job descriptions for test staff, backed up with sound advice on the recruiting and interviewing process, add to the value.
Their approach to managing the testing process is the best I have ever seen, and if followed will transform any test function or organization into a cost-effective center of excellentce that will pay big dividends in downstream service delivery.
I think the clear, cogent definitions of testing techniques and associated documentation removes a lot of the ambiguity that plagues the profession. This information is a good refresher for experienced practitioners and great training material for new testers.
This book covers a lot of ground: organization, process, procedures and techniques, business case development and test management. Each of these subjects could merit an entire book, yet this book treats each in depth and detail, and sets the interrelationships among the subjects. This is no small task and earns my recommendation that if you only buy one book on software testing this should be it.