Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

This first chapter of the Goose Book provides a high-level overview of writing and running Goose load tests. If you're new to Goose, this is the place to start.

The Importance Of Load Testing

Load testing can help prevent website outages, stress test code changes, and identify bottlenecks. It can also quickly perform functional regression testing. The ability to run the same test repeatedly gives critical insight into the impact of changes to the code and/or systems.

When to Use Goose

Goose is particularly well-suited for:

  • Complex User Workflows: Testing multi-step processes like checkout flows, user registration, or content management workflows
  • API Load Testing: Validating REST APIs, GraphQL endpoints, or microservice interactions under load
  • Performance Regression Testing: Integrating into CI/CD pipelines to catch performance regressions before deployment
  • Capacity Planning: Understanding how your infrastructure scales and where bottlenecks occur
  • Coordinated Omission Detection: Identifying when server slowdowns affect more users than simple metrics suggest

Goose vs Other Load Testing Tools

Unlike tools that focus purely on HTTP request volume, Goose excels at:

  • Stateful Testing: Maintaining sessions, cookies, and authentication across requests
  • Realistic Load Patterns: Simulating actual user behavior rather than just hammering endpoints
  • Developer-Friendly: Written in Rust with type safety and excellent error handling
  • Detailed Analysis: Advanced metrics that reveal hidden performance issues
  • Flexibility: Custom logic, data-driven tests, and complex scenarios

Prerequisites

Before diving into Goose, you should have:

  • Basic Rust Knowledge: Familiarity with Rust syntax, async/await, and error handling
  • HTTP Understanding: Knowledge of HTTP methods, status codes, and web application architecture
  • Testing Mindset: Understanding of what you want to test and what constitutes success

Don't worry if you're new to load testing - Goose's approach will guide you toward writing realistic and valuable tests.