Cantitate/Preț
Produs

Effective Software Testing

Autor Mauricio Aniche
en Limba Engleză Paperback – 4 iul 2022

Notăm cu interes modul în care Effective Software Testing reușește să transforme testarea dintr-o activitate reactivă într-o disciplină riguroasă de inginerie. Autorul, Mauricio Aniche, își ancorează metodologia în exemple practice scrise în Java, însă conceptele sunt direct transferabile către orice ecosistem orientat-obiect. Suntem de părere că valoarea adăugată a acestui volum rezidă în depășirea nivelului de bază al testării unitare, oferind instrumente pentru gestionarea cazurilor de tip „edge case” prin tehnici sistematice. Pe linia practică a volumului Essentials of Software Testing, dar cu un focus pronunțat pe arhitectura software care facilitează testabilitatea, Effective Software Testing ghidează cititorul printr-o progresie logică. Structura este una incrementală: se începe cu testarea bazată pe specificații și acoperirea structurală a codului, trecând rapid către concepte avansate precum proiectarea contractelor (pre-condiții, post-condiții, invarianți) și testarea bazată pe proprietăți. Capitolele centrale despre Test-driven development și utilizarea eficientă a obiectelor de tip mock și stub oferă soluții concrete pentru simplificarea suitelor de teste complexe. Spre deosebire de abordările pur teoretice din Software Testing de Paul C. Jorgensen, lucrarea de față pune accent pe mentenabilitatea codului de test și pe identificarea așa-numitelor „test smells”. Credem că integrarea unor concepte de arhitectură, precum injecția de dependențe sau arhitectura hexagonală, ca premise pentru un cod testabil, face din acest manual un instrument indispensabil pentru inginerii software care urmăresc eficiența procesului de dezvoltare, nu doar simpla bifare a unor metrici de coverage.

Citește tot Restrânge

Preț: 30022 lei

Preț vechi: 37528 lei
-20%

Puncte Express: 450

Carte disponibilă

Livrare economică 28 aprilie-12 mai
Livrare express 14-18 aprilie pentru 3611 lei


Specificații

ISBN-13: 9781633439931
ISBN-10: 1633439933
Pagini: 380
Dimensiuni: 187 x 233 x 18 mm
Greutate: 0.54 kg
Editura: Manning Publications

De ce să citești această carte

Recomandăm această carte dezvoltatorilor care doresc să treacă de la scrierea intuitivă de teste la o abordare sistemică, bazată pe cercetare și bune practici din industrie. Veți învăța nu doar cum să găsiți bug-uri în zone critice ale codului, ci și cum să proiectați sisteme care sunt în mod natural ușor de testat, economisind timp prețios în ciclul de producție.


Cuprins

table of contents
READ IN LIVEBOOK1EFFECTIVE AND SYSTEMATIC SOFTWARE TESTING
READ IN LIVEBOOK2SPECIFICATION-BASED TESTING
READ IN LIVEBOOK3STRUCTURAL TESTING AND CODE COVERAGE
READ IN LIVEBOOK4DESIGNING CONTRACTS
READ IN LIVEBOOK5PROPERTY-BASED TESTING
READ IN LIVEBOOK6TEST DOUBLES AND MOCKS
READ IN LIVEBOOK7DESIGNING FOR TESTABILITY
READ IN LIVEBOOK8TEST-DRIVEN DEVELOPMENT
READ IN LIVEBOOK9LARGER TESTS
READ IN LIVEBOOK10TEST CODE QUALITY
READ IN LIVEBOOK11WRAPPING UP THE BOOK
APPENDIXES
READ IN LIVEBOOKAPPENDIX A: ANSWERS

Descriere

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. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. 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