Today, more and more organizations around the world are adopting Agile software delivery. Everyone knows what are the immense benefits that Agile brings, but it also has its own set of challenges. One of the major hindrances in Agile is with regards to testing, as traditional testing tools struggle in the Agile environment where it advocates ‘test first and test continuously’. Hence testers working in an Agile environment should have solid foundation with Agile testing concepts and ensure they collaborate well with developers to deliver projects at a faster pace. Below mentioned are top 7 recommended books to understand the agile workflow and methodologies and succeed in their roles as agile testers.
1. Agile Testing – by Lisa Crispin and Janet Gregory:
Testing has become one of the key components of Agile development. Agile has found widespread adoption across the globe and has brought testing into the limelight, where Agile projects have revolutionized the role of testers. Lisa Crispin and Janet Gregory are two of the most experienced Agile testing practitioners and consultants. This book by them highlights the role of an Agile tester with examples from real Agile teams.
The book mainly advocates how to use Agile testing quadrants to see what type of testing is needed, who should perform it, and what tools will be of help. Moreover, the book revolves around software development iteration through the viewpoint of a tester and provides an in-depth understanding of seven key success factors of Agile testing. This is one book that is a must for Agile testers, managers, and customers.
2. Continuous Delivery – by Jez Humble and David Farley:
This book by Jez Humble and David Farley has won the 2011 Jolt Excellence Award. It won’t be an exaggeration to say that this groundbreaking book offers principles and practices to enable quick, incremental delivery of valuable new functionality to the users. Today, changes in a project can be released within a few hours after receiving the requirement. The automation, deployment, and testing process with improved collaboration has made this possible, and Agile is at forefront of everything. Irrespective of your job role in a software development team, the this book will an organization to move from new requirement, addition of new features or a major change to release faster than ever, which will help the business to adapt to changes as quickly as possible and deliver better value.
3. Agile Lean ATDD by – Ken Pugh:
This book is all about understanding the framework of Acceptance Test-Driven-Development (ATDD), developers, testers, and customers collaborating to create tests that describe how the product/software should work according to the customer’s viewpoint.
By closing the gap between the customers and the Agile teams, ATDD can help improve both software quality and developer productivity. The book also shares the author’s experiences, experts, references, and research towards ATDD which helps readers to learn a lot about it and implement the same while working on a project to deliver the best software product that meets customer requirements.
4. Explore It by – Elisabeth Hendrickson:
While working on Agile projects, testers believe, that only automated and manual tests give the required results to build great software. Often Exploratory Testing is seen as a complementary testing activity to Test Automation. But the fact is, Exploratory Testing, discovers more bugs than any other testing method.
Exploratory testing is one of the keys to handling software surprises where it can behave differently than you intended it to. This book by Elisabeth Hendrickson helps one to learn essential skills of becoming a master explorer, analyzing software to discover vulnerabilities, designing experiments on the go, improving your observation skills, focus your efforts on testing.
5. Experiences of Test Automation by – Dorothy Graham and Mark Fewster:
In today’s time, software test automation has become a necessity for Agile development. Manual testing alone is unable to cope with the influx of complex application systems, and this has ensured Test Automation has grown in prominence over the years.
The book written by Dorothy Graham and Mark Fewster talks about how enterprises are increasingly adopting Agile development and how testing should adapt and change quickly. Test automation is essential, but then poor automation is a waste of time and resources. As an Agile tester, you should know where will it take you for the efforts that you are putting in. The book also addresses both technical and management issues with regards to testing, great ideas and bad decisions, failures and successes, and lessons learned. This book will be beneficial for testers, developers, analysts, developers, automation architects, automators, test managers, QA professionals, project managers, and more.
6. Lessons Learned in Software Testing by – Cem Kaner, James Marcus Bach, Bret Pettichord:
This book by Cem Kaner, James Marcus Bach, and Bret Pettichord is one of the best books that should be read by every tester out there. The book is completely filled with an impressive 200 lessons learned from 30 years of testing experience. Every lesson asserts something related to software testing which is followed by an example that shows you how, when, and why of testing.
The book does not just end with a few tips and tricks in software testing, but it provides in-depth lessons learned that help in the critical testing phase without indulging yourself in extensive trial and error methods. This is a comprehensive resource for testers and developers irrespective of their expertise level.
7. Specification by Example – Gojko Adzic:
This book by Gojko Adzic has many interviews from successful teams across the globe with regards to how they develop, specify, and deliver software of high quality in short iterative cycles. There are so many case studies in this book from both small and large organizations that are working in different processes such as Kanban, Scrum, and XP.
The author of Specification by Example describes the concept of executable specifications which are automated tests in the form of documentation. Most of the things showcased in the book are up to date, as they are run on a daily basis against the software to test it. This book has a wider audience in the form of testers, developers, analysts, and business people working together to build high-quality software that is in line with customer requirements.
Most of the books mentioned above cover all aspects of Agile testing. It is not just tips and tricks, it is more about lessons learned, interviews of successful teams, and best practices in Agile testing in the form of manual, automated, and exploratory tests to build great software that meets both enterprise and customer requirements. Do let us know if we have missed out on any book that needs to be added to the above list. You can as well share your experience of how any of the books helped you in overcoming testing issues.