

Desertcart purchases this item on your behalf and handles shipping, customs, and support to Kyrgyzstan.
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. 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 Review: Cracking the Code: How Aniche’s Guide Turns You Into a Testing Pro - So, “Effective Software Testing: A Developer's Guide” by Mauricio Aniche is pretty cool if you're into coding and all that. Aniche breaks down testing in a way that's super easy to understand. He doesn't just dump a bunch of technical jargon on you—he actually explains why things matter, which is cool. The book is packed with real-world examples and hands-on advice, so it's not just theory. It's like having a conversation with a really smart friend who wants to help you out. Definitely recommend if you want to level up your coding game. Review: Very Practical Book on Software Testing - This is a fantastic book for learning software testing techniques. The book does a great job of showing how to move from testing as an ad hoc and unstructured haphazard activity to structured activity. The book is a great mix of principles around how much testing is enough, what guarantees we can get from testing, but also illustrates specific techniques that can help developers, such as test doubles, how to effectively use code coverage, and more. Another chapter that I really enjoyed was the chapter on test code quality. Often beginning programmers can easily understand the difference between having tests and not having tests, but the difference between good tests and bad tests can be much more subtle, and a lot harder to grasp. There are lots of code examples sprinkled throughout the book as well. I would strongly recommend this book to anyone who wants to get better at testing. disclaimer: I was provide a review copy of this book from the publisher, but I have since purchased more copies on my own.
| Best Sellers Rank | #327,190 in Books ( See Top 100 in Books ) #30 in Java Programming #58 in Software Testing #174 in Software Design & Engineering |
| Customer Reviews | 4.6 out of 5 stars 46 Reviews |
H**N
Cracking the Code: How Aniche’s Guide Turns You Into a Testing Pro
So, “Effective Software Testing: A Developer's Guide” by Mauricio Aniche is pretty cool if you're into coding and all that. Aniche breaks down testing in a way that's super easy to understand. He doesn't just dump a bunch of technical jargon on you—he actually explains why things matter, which is cool. The book is packed with real-world examples and hands-on advice, so it's not just theory. It's like having a conversation with a really smart friend who wants to help you out. Definitely recommend if you want to level up your coding game.
M**N
Very Practical Book on Software Testing
This is a fantastic book for learning software testing techniques. The book does a great job of showing how to move from testing as an ad hoc and unstructured haphazard activity to structured activity. The book is a great mix of principles around how much testing is enough, what guarantees we can get from testing, but also illustrates specific techniques that can help developers, such as test doubles, how to effectively use code coverage, and more. Another chapter that I really enjoyed was the chapter on test code quality. Often beginning programmers can easily understand the difference between having tests and not having tests, but the difference between good tests and bad tests can be much more subtle, and a lot harder to grasp. There are lots of code examples sprinkled throughout the book as well. I would strongly recommend this book to anyone who wants to get better at testing. disclaimer: I was provide a review copy of this book from the publisher, but I have since purchased more copies on my own.
H**.
Solid book on developer testing
Solid book on developer testing. I particularly like chapters 2 and 3 - a systematic way of coming up with test cases, based on both the specification and the structure of the code. Also, the examples are great throughout the book - not too simplistic, but still small enough to keep in your head. The author is a professor of Software Engineering, but has also worked as a developer. This shows in the book: it is quite pedagogical, with many interesting and relevant references to research. There are also many instances where he uses his own experience in the discussions of different techniques. I have written a much longer review on my blog (can be found by searching).
D**N
Book with best testing approaches
A book with its own depth and philosophy about how to test, also for developers
W**E
Excelente
Livro excelente, explica o conteúdo de forma objetiva e com exemplos claros.
A**E
Good introduction to (mainly unit) testing
This book gives a to-the-point introduction to basic software testing techniques. The biggest part focusses on unit testing including things such as code coverage, deciding what to test on unit-test level and mocking of dependencies. This gets complemented by one chapter on larger tests such as system and integration tests and one chapter presenting some best-practices and anit-patterns. All examples are written in Java, but even without a Java-background easy to understand. I was tempted to rate it with 4 instead of 5 stars, because as someone with interest in the topic, but without thorough experience (i.e. i have read some blog articles and written a couple of tests, but never mindfully designed test suites for our systems) there was not a lot of new information inside. Then I however decided to go with 5 starts nevertheless, because as an introductory book it really gives a great overview on the topic.
Trustpilot
1 month ago
1 week ago