Although this book is not oriented towards agile software development, it's still a solid resource for anyone new to test automation. It's pragmatic, practical, clearly written, easy to understand. I especially like the six "Keys" for automation payoff. The authors explain the reasons for automating - it might seem obvious to some but many newbies don't see all the potential benefits. The book also blows through automation myths. There's a lot of emphasis on ROI, which is often overlooked.
Where the advice I give on automation differs from this book is making it a whole team effort, rather than the test team only, but that's easier to do in an agile setting. Also, the authors do talk about things like interviewing stakeholders, and getting people with the right skills, these are all so important.
I wish the book had a section on continuous integration and automated build process. I think in another few years nobody will question the need for this, any more than people currently question the need for automated source code management. Whereas a few years ago nobody in my conference tutorials was doing CI, nowadays about a third of the people are. I think it's so critical to have a way to continually run all the automated regression tests every time new code is checked in. The book makes a passing reference to this, and it does mention test automation at different levels starting at the unit level, but it doesn't explain why you need a build process and how to set one up.
Nevertheless, it's a great resource, and will give readers a good grip on the fundamentals of test automation. I get so frustrated when people think it's impossible to automate, or that they have to hire some expensive consultant to get it done. This book will enable teams to be much more successful. It is a good overview of all the different areas where automation can help a team tremendously.
Just be sure to also buy a book that tells you how to set up continuous integration and automated builds, such as _Pragmatic Project Automation_ by Mike Clark, or _Continuous Integration_ by Paul Duvall, Andy Glover and Steve Matyas. Or _Ship It_ by Jared Richardson and William Gwaltney.
"Implementing Automated Software Testing" is meant for software test professionals and managers. The authors also list developers and project managers in the target audience. If an organization has developers/pms in a dual role, this makes sense. The book really is written from a QA viewpoint.
At least one of the authors has done work for the Department of Defense and the other two sound like they have worked closely with it. The writing style reminds me of the CMM documents - a government research paper style leaks through. This isn't a bad thing - I thought it was a very good book - just something to be prepared for.
I particularly liked the distinction between Automated Software Testing and playback/record testing. The book really walks you through setting up an Automated Software Testing program. It contain recipes (which are more like requirements), each of the phases and how to respond to roadblocks. There was a whole chapter dedicated to myths and best practices. For someone setting this up, there are checklists and a job description (skills and roles) needed for each of the phases.
Overall, this book is like a field guide for someone about to start an Automated Software Testing program. My only criticism is that it is acronym heavy - remember the government paper comment - and could have used a glossary.
(Full disclosure: I got this book for review at no cost for me)
"Implementing Automated Software Testing" walks the reader through the each of the phases necessary for going from a manual testing environment to an automated one. The book is written mostly in general terms, making it useful for most environments, regardless of the type of applications being tested.
The book reads like a compilation of tips accumulated over the course of years of experience by the authors. It can almost be described as vaccination: If you don't read the book you might not make all the mistakes it tries to prevent, but if you do read it, you'll instinctively know how to make good decisions and what to do next.
Content is organized in a very logical manner. It starts defining why AST is beneficial and how to introduce it to the current environment, including presenting the business case. From there it goes to the main subject, implementation, followed by results measurement, and personnel roles in the project.
Overall, the book is very well written. Points are made quickly and in simple terms. The page layout and fonts make the book easy to read.
The book is a very valuable tool for managers and team leads of software QA. If read before starting an AST project, it will save the reader from many of the common mistakes made by many.
Wanna know what's hot in test automation? Just do a Google search on the term "Implementing Automated Software Testing" (IAST), and you'll find out quickly. With approximately 3 million search results, this is clearly a very popular term, but not only that, it is now the title of a new book written by Elfriede Dustin, Thom Garrett and Bernie Gauf. We at the Automated Testing Institute aren't sure if the title is coincidently identical to one of the most popular test automation terms, or if it was a genius marketing ploy to get more attention drawn to the book; whatever the reason, it is definitely aptly named. This successor to Automated Software Testing (AST) - a 1999 book also coauthored by Dustin, and also a term with approximately 30 million Google search results (wink, wink) - wastes no time in picking up where its predecessor leaves off. AST largely focuses on how test automation may fit into the overall software development and testing lifecycles, IAST lends more of its attention to the test automation effort itself and the details of managing an automated software testing effort.
IAST does an excellent job covering the following Automation Body of Knowledge version 1 (ABOK v1) skill categories (visit [....] for more information on the ABOK): * Skill Category 1: Automation's Role in the Software Testing Lifecycle (STLC) * Skill Category 2: Test Automation Types and Interfaces * Skill Category 3: Automation Tools * Skill Category 4: Test Automation Framework Design * Skill Category 5: Automation Framework Design * Skill Category 12: Automated Test Reporting
This review will therefore describe the book and discuss how these categories are addressed. IAST is divided into three major segments: * Part I: What Is Automated Software Testing and Why Should We Automate? (Chapters 1 - 4) * Part II: How to Automate: Top Six Keys for Automation Payoff (Chapters 5 - 10) * Appendices (Appendix A - D)
Part I does an excellent job addressing Skill Category 1 of the ABOK in that it addresses the `what' and `why' of test automation. Chapter 1 sets the tone of the book with a "unified" definition of test automation; a definition that also works to distinguish test automation from manual software testing. This chapter, along with its reference to Appendix B, also addresses ABOK Skill Category 2 with a discussion of the "typical testing types that lend themselves to automation". Chapters 2 through 4, round out Part 1 of IAST, and continue to further address ABOK Skill Category 1 with topics including: reasons for automating, making the business case for test automation with return on investment (ROI) calculations, and how to avoid typical test automation pitfalls. The latter half of Chapter 4 also addresses ABOK Skill Category 3, by discussing tool evaluation and selection. This discussion is aided by Appendix C which expands into tools and tool requirements not only for automating tests, but also for automation of processes such as requirements management, defect tracking and security testing.
Part II of IAST graduates from the `what' and `why' of test automation and delves into the `how' of test automation. Not `how' in terms of how to develop scripts, but `how' in terms of how to create, implement and monitor an automated test framework; and these are items found in Skill Categories 4, 5 and 12 of the ABOK. Part II of IAST begins with Chapter 5, which discusses how to define requirements for your test automation effort. Chapters 6 and 7 build on this by discussing how to take these requirements and develop a compatible strategy and framework. Chapters 8 and 9 cover the next logical steps of defining metrics to track test automation progress, and the implementation of the automated software test framework processes. Then finally, Chapter 10 closes the main portion of the book with a broad discussion of the skills required for test automation implementation.
In summary, IAST is strong with respect to test automation from a macroscopic level. This makes it a great resource for managers, leads, and anyone that is responsible for or will take part in defining and implementing a test automation effort. [Review originally posted in the August 09 Issue of the Automated Software Testing Magazine - [...]]