BookShared
  • MEMBER AREA    
  • Effective Software Testing: A developer's guide

    (By Mauricio Aniche)

    Book Cover Watermark PDF Icon Read Ebook
    ×
    Size 28 MB (28,087 KB)
    Format PDF
    Downloaded 682 times
    Last checked 15 Hour ago!
    Author Mauricio Aniche
    “Book Descriptions: 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 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”

    Google Drive Logo DRIVE
    Book 1

    The Pragmatic Programmer: From Journeyman to Master

    ★★★★★

    Dave Thomas

    Book 1

    The Staff Engineer's Path: A Guide for Individual Contributors Navigating Growth and Change

    ★★★★★

    Tanya Reilly

    Book 1

    Clean Architecture

    ★★★★★

    Robert C. Martin

    Book 1

    Foundations of Scalable Systems

    ★★★★★

    Ian Gorton

    Book 1

    The Programmer's Brain

    ★★★★★

    Felienne Hermans

    Book 1

    Accelerate: Building and Scaling High Performing Technology Organizations

    ★★★★★

    Nicole Forsgren

    Book 1

    Pragmatic Unit Testing in Java with JUnit

    ★★★★★

    Dave Thomas

    Book 1

    Tidy First?: A Personal Exercise in Empirical Software Design

    ★★★★★

    Kent Beck

    Book 1

    Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

    ★★★★★

    Neal Ford

    Book 1

    Unit Testing: Principles, Practices, and Patterns

    ★★★★★

    Vladimir Khorikov

    Book 1

    Modern Software Engineering: Doing What Works to Build Better Software Faster

    ★★★★★

    David Farley

    Book 1

    Pipeline as Code: Continuous Delivery with Jenkins, Kubernetes, and Terraform

    ★★★★★

    Mohamed Labouardy

    Book 1

    Observability Engineering: Achieving Production Excellence

    ★★★★★

    Charity Majors

    Book 1

    What If? 2: Additional Serious Scientific Answers to Absurd Hypothetical Questions (What If?, #2)

    ★★★★★

    Randall Munroe

    Book 1

    Software Engineering at Google: Lessons Learned from Programming Over Time

    ★★★★★

    Titus Winters