🧪
🧪
🧪
🧪
Testing for Software Engineers
Search
⌃K
👋
Introduction
📚
This is an open source book
🎁
Consider sponsoring
🛠
Project resources
🤓
Getting started
🥼
Building testable systems
🤖
Towards modern testing practices
🧪
Running tests in practice
✏
Example testing scenarios
🏖
In summary
🏫
References and resources
Powered By
GitBook
🏫
References and resources
Sharing is caring, and this is what I could remember.
Books
Online books
Better APIs
Physical books
Steve Freeman, Nat Pryce:
Growing Object-Oriented Software, Guided by Tests
(2009)
Kent Beck:
Test-Driven Development: By Example
(2002)
Lisa Crispin, Janet Gregory:
Agile Testing: A Practical Guide for Testers and Agile Teams
(2009)
Janet Gregory, Lisa Crispin:
More Agile Testing: Learning Journeys for the Whole Team
(2014)
Kent Beck, Cynthia Andres:
Extreme Programming Explained: Embrace Change
(1999)
Matt Weisfeld:
The Object-Oriented Thought Process
(2000)
Martin Fowler, Kent Beck, Don Roberts:
Refactoring: Improving the Design of Existing Code
(1999)
Forsgren, Humble, and Kim:
Accelerate: Building and Scaling High Performing Technology Organizations
(2018)
Jez Humble & David Farley:
Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
(2010)
Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm:
Design Patterns: Elements of Reusable Object-Oriented Software
(1994)
Robert C. Martin:
Clean Code: A Handbook of Agile Software Craftsmanship
(2007)
Robert C. Martin:
The Clean Coder: A Code of Conduct for Professional Programmers
(2011)
Robert C. Martin:
Clean Craftsmanship: Disciplines, Standards, and Ethics
(2021)
Robert C. Martin:
Clean Architecture: A Craftsman's Guide to Software Structure and Design
(2017)
Robert C. Martin:
Clean Agile: Back to Basics
(2019)
Code
Building a Production Ready API (demonstration)
Testable Systems Starter
Better APIs workshop: Enhancing an API for quality, stability, and observability
Microservices testing workshop
ACME Corp. Potted Plants Web Shop: AWS microservices demo
Domain Driven Microservices on AWS in Practice
Tools
As the book itself, my focus is mostly from the eyes of a Node/TypeScript developer with some familiarity of the .NET Core universe.
Unit testing
Jest
AVA
XUnit
End-to-end testing (UI)
Playwright
Cypress
CodeceptJS
Puppeteer
Cross browser testing
Lambdatest
BrowserStack
BDD testing
Cucumber
Front end specific tooling
React Testing Library
webhint
Static code analysis (etc.)
Prettier
ESLint
Roslyn
Online (primary)
DeepSource
Codacy
Codiga
Embold
SonarCloud
Security focus
Snyk
Checkov
trivy
Integration testing
Insomnia
for manual work and
Inso
for CI/CLI
Postman
for manual work and
Newman
for CI/CLI
API mocking
MSW
Mockachino
AWS mocking
aws-sdk-mock
Contract testing
Pact
TripleCheck
Synthetic testing
CloudWatch Canaries
Checkly
Load or performance testing
k6
Artillery
Measuring response times with Bash
Chaos testing
AWS Fault Injection Simulator
Gremlin
failure-lambda
Websites
Google DevOps
DORA research program
Google Testing Blog
Understand Legacy Code
JavaScript Testing Best Practices
Articles
Testing
Microsoft Azure DevOps: Shift testing left with unit tests
Testing and debugging serverless applications
Serverless Framework: Testing
Testing serverless apps has never been easier!
Serverless Testing: Adapt or Cry
Testing in Production, the safe way
Testing Microservices, the sane way
Testing in Production: the hard parts
Mocks Aren't Stubs
Mockists Are Dead. Long Live Classicists.
UnitTest
TTDD - Tautological Test Driven Development (Anti Pattern)
How deep are your unit tests?
Simplifying Tests by Extracting Side-Effects
A quick way to add tests when code has database or HTTP calls
Test Flakiness - One of the main challenges of automated testing
Stop mocking fetch
Test Doubles — Fakes, Mocks and Stubs
Contract-based testing for FaaS
Downside to functions everywhere
The serverless approach to testing is different and may actually be easier
A Comprehensive Guide to Contract Testing APIs in a Service Oriented Architecture
Serverless Testing in Production
My unit testing epiphany
Production-Readiness Checklist, by Susan Fowler
Evaluate Your Microservice, by Susan Fowler
Testing Event-Driven systems
Contracts, Addressing, and APIs for Microservices
Consumer-driven Contract Testing using Postman
Using curl for API testing
The only 3 steps you need to mock an API call in Jest
Trunk-based development
DevOps tech: Trunk-based development
Trunk-Based Development
Patterns for Managing Source Code Branches
Why I love Trunk Based Development (or pushing straight to master)
Straight to Prod
Deployment
The Why and How You Should Test in Production
Testing in Production: rethinking the conventional deployment pipeline
Why you should use temporary stacks when you do serverless
Fulfilling the promise of CI/CD
Deployment Strategies Defined
There can be only one (environment): Production
Feature flags
Four Shades of Progressive Delivery
Coding with Feature Flags: How-to Guide and Best Practices
Progressive Delivery
Feature Toggles (aka Feature Flags)
Feature Flag Testing—Strategies & Example Tests
Testing in Production to Stay Safe and Sensible
What Is Progressive Delivery All About?
Testing in Production to Stay Safe and Sensible
Previous
In summary
Last modified
1mo ago