num_pages: 328
description: 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 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 codeEffective Software Testing teaches you a systematic approach to software testing that will ensure the quality of your code. Its 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 youll soon be engineering tests that find bugs in edge cases and parts of code youd never think of testing! Along the way youll develop an intuition for testing that can save years of learning by trial and error.Purchase of the print book includes a free eBook in PDF Kindle and ePub formats from Manning Publications.About the technologyEffective testing ensures that youll 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 bookEffective 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. Youll 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 smellsAbout the readerThe Java-based examples illustrate concepts you can use for any object-oriented language.About the authorDr. Maurcio Aniche is the Tech Academy Lead at Adyen and an Assistant Professor in Software Engineering at the Delft University of Technology.Table of Contents1 Effective and systematic software testing2 Specification-based testing3 Structural testing and code coverage4 Designing contracts5 Property-based testing6 Test doubles and mocks7 Designing for testability8 Test-driven development9 Writing larger tests10 Test code quality11 Wrapping up the book
language: English
title: Effective Software Testing: A developer's guide
publisher: Manning