FOREWORD

Are you a serious software tester? A software tester who wants to know not only how to select and design effective and efficient tests but who also wants to know why those tests work? A software tester who is ready to take a deep, intensive dive into the topic? A software tester who knows that you can only learn test design by practising test design, using realistic exercises? If so, this book is for you.

Forgács and Kovács deliver a masterful tour through the most important behavioural test design techniques. Each technique is explained thoroughly. Each technique is illustrated with examples, which is always necessary with complex topics. Further, they include code segments to illustrate exactly why these techniques work, showing specific defects the resulting tests will catch.

Because of their willingness to drill all the way from the technique through the tests to the specific defects in the code, this book will appeal beyond professional software testers. The field of testing, and who is interested in testing, has expanded quite a bit, thanks to the advance of concepts such as Agile and Lean methods, DevOps, continuous integration and continuous delivery, and continuous deployment. So, if you are a technical tester, a software development engineer in test, or a developer who cares about properly testing their code, this book is for you.

Just like writing good code, designing good tests requires hands-on practice to learn. This book provides an excellent, realistic example system to use as the basis for such exercises. Forgács and Kovács deliver a system that is universally understandable, that of a ticket vending machine. Better yet, their ticket vending machine successfully steers between the Scylla and Charybdis of such an exercise basis, avoiding being on the one hand so trivial as to be useless for learning or on the other hand being so complex as to distract from the techniques being taught. From my own experience writing books on test design and creating courses on test design, I know how hard it is to create a good basis for exercises, and how critical it is to do so.

So, if you have reached a point with your knowledge of software testing where you need to challenge yourself, to gain deeper understanding, to become ready to put sophisticated test design techniques into practice, then, I’ll say it again, this book is for you. Invest the time to read the explanations of the techniques, carefully study the examples, and work through the exercises. Your return on that investment will be a significant step forward in your software testing skills and abilities.

Rex Black

President, RBCS Inc.

Past President, ASTQB

Past President, ISTQB

This is the testing book I’ve been waiting for. It’s nice that the authors understand and include some testing theory, but what sets this book apart in my mind is that it is written by practitioners who also have real pragmatic testing experience and a deep understanding of important issues. Also of critical importance in these days of ubiquitous embedded systems and the internet of things (IoT), is that the authors recognise and explicitly state issues related to hardware that also have to be considered. For example, in their running example of the ticket vending machine, they mention various types of testing that would have to be included, related to the physical machine. I’ve found that most students, and even many practitioners, just assume that the only possible problems that need to be considered are ones related to the code itself.

Other nice features are the device the authors use at the beginning of each chapter, a brief summary of what is to come (‘Why is this chapter worth reading?’) as well as a brief wrap-up that comes at the end of the chapter (‘Key takeaways’); and that each chapter has non-trivial examples and exercises.

Finally, it is really important that the authors have included issues related to testing systems developed using modern software development strategies such as Agile and DevOps.

This is a book that both students and practitioners can use to hone their software testing skills.

Elaine Weyuker

University Distinguished Professor

Member, US National Academy of Engineering, ACM Fellow, IEEE Fellow

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.62.45