Book review: A Practical Guide to Testing in DevOps by Katrina Clokie
In this book short preface you will find the following: 1. The book is for non-testers "who want to know more about how testing fits into a DevOps model". 2. Testers who what to know what is DevOps. 3. Testers who what to know what it means for their role. It also says: "Some of the ideas presented in this book are simply an introduction". Now that we know that the book will not dive deep in the test realm, and we understand why this book gives heuristics about when we can eliminate the tester role, we are all set. Without this knowledge, we might be disappointed. When the preface is missing is that the book describes also the transfer start to DevOps culture, a part that might be interesting for some.
The book gives a nice history about the role of the testers from waterfall through agile till DevOps culture and what it means - "establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably." (originally from Wikipedia). It explains the DevOps roots, relation to Agile and - very important - the collaborative nature of this culture that closely involves a wither range of domains than in other disciplines. The next section, TESTING IN A DEVOPS CULTURE, talks about the transit period, and include ideas about how to create collaboration. I think it is an important aspect but in the book at some points explains the obvious. In TESTING IN DEVELOPMENT, we finally see the pipeline which is well explained, unlike the short explanation of how to test the pipeline. Next, you get an explanation about Bug bush, crowdsourcing testing - as testers you might know these practices. In the next section, TESTING IN PRODUCTION you will find a good explanation of the topic which is essential in this culture including an explanation of why logging is important and how to test logs. Also about monitoring and testing and the difference and other essential test types. The section about A/B testing - I am not sure it is "testing" in the same meaning it is used in the rest of the book. You are not looking for bugs, you decide what option be more beneficiary. In TESTING IN DEVOPS ENVIRONMENTS, we learn also about the automation creation of the environment, containers as Docker, cloud and test practices for environments. In the next section, we see a different example of DevOps implementations and in the last section test strategies in DevOps culture. I think it is great to get some real world examples that might inspire you or your organization.
Opinion As an introduction, we do get a lot from this book. A general idea of what is DevOps, what is important to maintain in this culture, the mindset we should adopt and, of course, all the tests types that are relevant to this culture. I must say that even though I have some knowledge about DevOps, I still learned new things and got some priorities changed.
On the other side, there is not enough information about How to test, mostly on the What. For example, Testing monitoring and alerts is only a few rows, even less than the explanation of the subject. From this book to the actual tests you will need to research some more. Besides that, the book is more of research on this matter, with an impressive number of quotes, which is cool. But the sources could be Wikipedia, which is great for a blog post, not a book. In one occasion, someone that claims that he had been working at Facebook is quoted from a Quora remark. I am not sure it is so reliable. There are no quotes from the author actual conversations with the individuals who appear in the book. I would also like to hear more about the author experience and opinion. In the section she does add her point of view, how much exploratory testing is needed, which has many illustrations, maybe too much, the criteria is not something I can agree as a clear one. For example, you know you tested too deep if your manager says so. Is he or she a tester? If they have a point it should be related to the software/project not to the fact they are managers. Also, if the team test is not an indication you are testing too deep - maybe they finished their tasks and want to help? The book also is not balanced on the depth of the coverage. For example, there are so many tools involved, some important ones I expected to see like Jenkins but are not mentioned at all (the book is not technical). But in the configuration management section, you get information about installing Apache in four configuration management tools. Why this is in more depth than installing other tools? Not sure. Besides, all this data can be found easily on the web.
Small corrections: the term "shift right", which looks like a unique term to DevOps, is not explained. "Dark launching" appears before being explained.
Conclusion If you are new to DevOps culture and/or your company is going to that direction, and you want to know what it is about regarding the testing - this is a great start, but only a start.
Book review list: https://www.testerschoice.pro/book-review