Book
Effective Software Testing
A developer's guide
Maurício Aniche
Summary
Treats test design as an engineering discipline rather than a matter of judgement. Aniche works through specification-based techniques such as boundary analysis and equivalence partitioning, structural testing and what coverage actually tells you, contracts, property-based testing, and how to design code so that it can be tested at all. Each technique arrives as a procedure you can follow, not a principle to internalize.
Target Readers
- Developers who write tests by intuition and want a systematic way to find edge cases
- Engineers deciding what to test at which level instead of chasing a coverage number
Tags
Colophon
- Publisher
- Manning Publications
- ISBN
- 978-1633439931
- Published
- May 2022
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Unit Testing Principles, Practices, and Patterns
Vladimir Khorikov
Reason: After grasping the qualities of good tests—protection against regressions, resistance to refactoring, fast feedback—you raise the question of what to test with systematic techniques like boundary analysis, equivalence partitioning, and structural testing. Case selection moves from intuition to engineering.
- Recommended
実践テスト駆動開発
Steve Freeman, Nat Pryce
Reason: After practicing how to grow design through tests, you raise the sufficiency of the test cases themselves with systematic techniques. You turn both wheels—good design and thorough cases—to reduce gaps in testing.
Next Books
- Recommended
Property-Based Testing with PropEr, Erlang, and Elixir
Fred Hebert
Reason: Once example-based testing techniques are in hand, you advance to property-based testing, which generates inputs broadly and verifies invariants. You let the machine find counterexamples a human would miss and expose gaps in the spec.
- Recommended
生成AIアプリケーション評価入門
松木晋祐
Reason: Once you have test design techniques like boundary analysis and equivalence partitioning, you apply that thinking to a new kind of target: generative AI applications, whose outputs are probabilistic and whose behavior is complex. This book covers evaluation methods specific to generative AI, from building an evaluation perspective model to confusion matrices and RAG-oriented metrics.
Sources