Effective Software Testing you own this product

A developer's guide
Maurício Aniche
Forewords by Arie van Deursen and Steve Freeman
  • March 2022
  • ISBN 9781633439931
  • 328 pages
  • printed in black & white
  • Available translations: Korean, Russian, Simplified Chinese

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside
Go beyond basic testing! Great software testing makes the entire development process more efficient. This book reveals a systemic and effective approach that will help you customize your testing coverage and catch bugs in tricky corner cases.

In Effective Software Testing you will learn how to:

  • Engineer tests with a much higher chance of finding bugs
  • Read code coverage metrics and use them to improve your test suite
  • Understand when to use unit tests, integration tests, and system tests
  • Use mocks and stubs to simplify your unit testing
  • Think of pre-conditions, post-conditions, invariants, and contracts
  • Implement property-based tests
  • Utilize coding practices like dependency injection and hexagonal architecture that make your software easier to test
  • Write good and maintainable test code

Effective Software Testing teaches you a systematic approach to software testing that will ensure the quality of your code. It’s full of techniques drawn from proven research in software engineering, and each chapter puts a new technique into practice. Follow the real-world use cases and detailed code samples, and you’ll soon be engineering tests that find bugs in edge cases and parts of code you’d never think of testing! Along the way, you’ll develop an intuition for testing that can save years of learning by trial and error.

about the technology

Effective testing ensures that you’ll deliver quality software. For software engineers, testing is a key part of the development process. Mastering specification-based testing, boundary testing, structural testing, and other core strategies is essential to writing good tests and catching bugs before they hit production.

about the book

Effective Software Testing is a hands-on guide to creating bug-free software. Written for developers, it guides you through all the different types of testing, from single units up to entire components. You’ll also learn how to engineer code that facilitates testing and how to write easy-to-maintain test code. Offering a thorough, systematic approach, this book includes annotated source code samples, realistic scenarios, and reasoned explanations.

what's inside

  • Design rigorous test suites that actually find bugs
  • When to use unit tests, integration tests, and system tests
  • Pre-and post-conditions, invariants, contracts, and property-based tests
  • Design systems that are test-friendly
  • Test code best practices and test smells

about the reader

The Java-based examples illustrate concepts you can use for any object-oriented language.

about the author

Dr. Maurício Aniche is the Tech Academy Lead at Adyen and an Assistant Professor in Software Engineering at the Delft University of Technology.

Written for the working developer, it offers state-of-the-art software testing techniques. Perfect for training the next generation of effective software testers.

From the Foreword by Dr. Arie Van Deursen, Professor in Software Engineering, Delft University, Software developer, @cvennevik

The combination of theory and practice shows the depth of Maurício’s experience as an academic and as a working programmer!

From the Foreword by Steve Freeman, author of Growing Object-Oriented Software, Guided by Tests

Whether you’re a developer, tester, or student, you’ll find this text an essential part of your work.

James McKean Wood, Trimble PPM

The first book I’ve read where I finally understood how to write a good unit test, and how to pair it with testable code.

James Liu, Mediaocean

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Effective Software Testing ebook for free

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Effective Software Testing ebook for free

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Effective Software Testing ebook for free