جلد سخت سیاه و سفید
Product details
- Publisher : Manning (April 26, 2022)
- Language : English
- Paperback : 328 pages
- ISBN-10 : 1633439933
- ISBN-13 : 978-1633439931
کتاب Effective Software Testing: A developer's guide
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
منابع کتاب کتاب Effective Software Testing: A developer's guide
فراتر از تست اولیه بروید! تست نرم افزار عالی کل فرآیند توسعه را کارآمدتر می کند. این کتاب یک رویکرد سیستمی و موثر را نشان می دهد که به شما کمک می کند پوشش آزمایشی خود را سفارشی کنید و اشکالات را در موارد گوشه ای مشکل پیدا کنید.
در تست نرمافزار مؤثر ، یاد میگیرید که چگونه:
آزمایشهای مهندسی با احتمال بسیار بالاتر برای یافتن اشکالات
، معیارهای پوشش کد را بخوانید و از آنها برای بهبود مجموعه آزمایشی خود استفاده
کنید
. آزمایش واحد خود را ساده کنید
به پیش شرط ها، شرایط پس از آن، متغیرها و قراردادها فکر کنید آزمایش
های مبتنی بر دارایی را اجرا کنید
از شیوههای کدنویسی مانند تزریق وابستگی و معماری شش ضلعی استفاده کنید که تست نرمافزار شما را آسانتر میکند.
نوشتن کد تست خوب و قابل نگهداری . این مملو از تکنیک هایی است که از تحقیقات اثبات شده در مهندسی نرم افزار استخراج شده است و هر فصل یک تکنیک جدید را در عمل قرار می دهد. موارد استفاده در دنیای واقعی و نمونههای کد دقیق را دنبال کنید، و به زودی آزمایشهای مهندسی خواهید کرد که اشکالهایی را در موارد لبه و بخشهایی از کد پیدا میکنند که هرگز به آزمایش آنها فکر نمیکنید! در طول مسیر، شهودی برای آزمایش ایجاد خواهید کرد که می تواند سال ها یادگیری را با آزمون و خطا حفظ کند.
خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است.
درباره فن آوری
تست موثر تضمین می کند که نرم افزار با کیفیت ارائه می کنید. برای مهندسان نرم افزار، تست بخش کلیدی فرآیند توسعه است. تسلط بر تستهای مبتنی بر مشخصات، تست مرزی، تست ساختاری و سایر استراتژیهای اصلی برای نوشتن تستهای خوب و شناسایی اشکالات قبل از شروع تولید ضروری است.
درباره کتاب
تست نرم افزار موثریک راهنمای عملی برای ایجاد نرم افزار بدون اشکال است. که برای توسعه دهندگان نوشته شده است، شما را در انواع مختلف آزمایش، از واحدهای تک تا اجزای کامل راهنمایی می کند. همچنین یاد خواهید گرفت که چگونه کدهایی را مهندسی کنید که تست را تسهیل میکند و چگونه میتوانید کد آزمون را با حفظ آسان بنویسید. این کتاب با ارائه یک رویکرد جامع و سیستماتیک، شامل نمونههای کد منبع مشروح، سناریوهای واقعی و توضیحات مستدل است.
آنچه در داخل است
طراحی مجموعههای آزمایشی سختگیرانه که در واقع اشکالات را پیدا میکنند زمان
استفاده از تستهای واحد، تستهای یکپارچهسازی، و تستهای سیستم
شرایط قبل و بعد، متغیرها، قراردادها و تستهای مبتنی بر ویژگی
طراحی سیستمهایی طراحی کنید که برای تست مناسب هستند
بهترین شیوههای کد تست و بوی تست
درباره خواننده
مثال های مبتنی بر جاوا مفاهیمی را نشان می دهند که می توانید برای هر زبان شی گرا استفاده کنید.
درباره نویسنده
دکتر Maurício Aniche رهبر آکادمی فناوری در Adyen و استادیار مهندسی نرم افزار در دانشگاه صنعتی دلفت است.
فهرست مطالب
1 تست نرم افزار موثر و سیستماتیک
2 تست مبتنی بر مشخصات
3 تست ساختاری و پوشش کد
4 طراحی قراردادها
5 تست مبتنی بر دارایی
6 تست دوبل و ساختگی
7 طراحی برای تست پذیری
8 توسعه مبتنی بر تست
9 نوشتن تست های بزرگتر
10 تست کیفیت کد
11 جمع بندی کتاب
ارسال نظر درباره کتاب Effective Software Testing: A developer's guide