Skip to main content
  • Hoopla logo
  • Browse
  • My Hoopla
  • Log In
Books, videos, and music - all free from your public library!
LoginSign Up

Footer

Hoopla logo, Go to homepage
  • For Patrons
  • For Libraries (opens in new window)
  • For Vendors (opens in new window)
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)

Our Company

  • Our Story
  • Get Hoopla for your Library (opens in new window)
  • Get your content on hoopla (opens in new window)
  • Join our team (opens in new window)
  • Accessibility Statement

Our Content

  • Audiobooks
  • Ebooks
  • Movies
  • Television
  • Comics
  • BingePasses
  • Music
  • The Loop Blog

Help

  • Help Center
  • Submit Feedback
  • Facebook (opens in new window)
  • X (opens in new window)
  • Instagram (opens in new window)
  • YouTube (opens in new window)
  • TikTok (opens in new window)
  • LinkedIn (opens in new window)
  • Download on the App Store (opens in new window)
  • Get it on Google Play (opens in new window)
  • Available at Amazon Appstore (opens in new window)
© 2026 Midwest Tape, LLC. All rights reserved. Privacy Policy | Terms of Use
  1. Navigate Home
  2. Ebooks
  3. Effective Software Testing

EBOOK

Effective Software Testing

A Developer's Guide

Maurizio Aniche
(0)
sign up
Pages
348
Year
2022
Language
English
Publisher
Manning

About

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.

Table of Contents

1 Effective and systematic software testing

2 Specification-based testing

3 Structural testing and code coverage

4 Designing contracts

5 Property-based testing

6 Test doubles and mocks

7 Designing for testability

8 Test-driven development

9 Writing larger tests

10 Test code quality

11 Wrapping up the book

Related Subjects

  • General
  • Software Development & Engineering
  • Computers
  • Adult Nonfiction
  • Quality Assurance & Testing
  • Java
  • Languages

Artists

Maurizio AnicheAuthor