AWS re:Invent happy hour: Dec 1, 6 PM PST at MGM Grand RSVP

API testing and development answers

Search 305 articles and 482 question sections. Each answer links to its original explanation and examples.

305 articles

Performance testing ·

10 Benefits of automated testing

After spending hours or even days manually testing your software, you may be wondering whether or not there's a better way. The good news? There is.

Questions answered in this article (3)
  • What is test automation?

    Automated software testing is the practice of creating, running, and analyzing tests automatically (typically with specialized tooling and testing frameworks), with the goal of minimizing time-consuming and repetitive tasks experienced by manual testers. While using a software test automation…

  • Why Do You Need Automated Testing?

    Knowing the benefits of software test automation is only one piece of the puzzle. Arguably, it is more important to know where to implement it. In many development workflows, such as CI/CD pipelines, it is common to require tests to be run automatically before code is merged or deployed to ensure…

  • Why Is Automation Testing Crucial?

    Automated testing allows for the shifting of process development, test automation framework development, test maintenance, and more away from active development. Testing is an ongoing and critical function of any software development process, and this is especially true of the application…

Traffic capture and replay ·

5 Questions to Ask Before the Next Cloud Outage

A power failure in one Google Cloud London zone took down banking apps for hours. Five questions to answer with real traffic before the next outage answers them for you.

Questions answered in this article (1)
  • How to answer it

    Diagrams go stale. Network traffic doesn’t. Capturing real API traffic between your services shows every upstream and downstream call your application makes, including third-party APIs, managed databases and identity providers that never made it onto a whiteboard. From that traffic you can build a…

Performance testing ·

5 Strategies for Decreasing API Latency and Improving App Performance

Application performance can make the difference between retaining or losing customers, with delays beyond a few seconds leading to dropped conversions.

Questions answered in this article (2)
  • Why Is Keeping Track of Your App’s Performance Important?

    With users expecting quick, reliable, and efficient interactions, your app’s performance directly influences their experience and your app’s overall reputation. It’s not just about functionality; it’s about delivering that functionality swiftly and smoothly. Tracking and optimizing overall app…

  • How Can You Measure Your App’s Performance Efficiently?

    Regular testing and monitoring are essential to identify and improve overall app performance. Start by defining and tracking essential Key Performance Indicators (KPIs) such as load times and error rates. These app performance metrics will help you establish benchmarks, pinpoint bottlenecks, and…

AI development ·

5 Tips for Agent-to-Model Mocking

The near-ubiquity of LLM systems in 2025 has changed the game in many ways. While Large Language Models have been around for some time...

Performance testing ·

6 Golang Testing Frameworks for Every Type of Test

What do good tests look like, and do you even need a Golang testing framework? It’s a loaded question with an open answer.

Questions answered in this article (2)
  • What are Golang Testing Frameworks?

    Golang testing frameworks are essential tools that streamline the testing process, making it more efficient and effective. These frameworks provide a suite of features designed to help developers write and run tests, ensuring that their code functions as intended and catching bugs early in the…

  • How to Choose the right Golang testing framework

    It’s always important to use the right tool for the job. You can get far with the basic testing capabilities provided by the testing package and go test command. However, it falls short when it comes to larger tests and assertions, which is where test frameworks come in. In this post, you’ve seen a…

API mocking ·

7 Best Service Virtualization Tools in 2026

Compare the 7 best service virtualization tools of 2026 including Speedscale, WireMock, Hoverfly, and Parasoft. Features, pros, cons, and use cases.

Questions answered in this article (6)
  • What is Service Virtualization?

    Service virtualization is a technique used in software development to simulate the behavior of specific software components or systems that are otherwise unavailable or difficult to access during development and testing. By using a virtualization solution in your testing environment, you can mimic…

  • How Do Service Virtualization Tools Work?

    Service virtualization utilizes several approaches to create realistic simulations of software components and structures. This is broadly separated into four distinct categories, with product offerings specializing in each domain. The tooling is designed to capture traffic and behavior between…

  • What is the difference between service virtualization and API mocking?

    API mocking creates simple request/response stubs, typically hand-written by developers. Service virtualization goes further — it captures real traffic patterns, simulates stateful behavior, and models performance characteristics like latency and throughput. Service virtualization tools are…

  • Is service virtualization only for microservices?

    No. Service virtualization works with any architecture that has external dependencies — monoliths calling third-party APIs, mainframe systems communicating over MQ, or microservices calling each other. The technique is architecture-agnostic.

  • How does service virtualization fit into CI/CD pipelines?

    Service virtualization tools like Speedscale and Proxymock integrate directly into CI/CD pipelines. Instead of spinning up real dependencies for every test run, your pipeline uses virtualized services that respond with production-realistic data, making tests faster, cheaper, and more reliable.

  • What is the difference between Hoverfly and Speedscale?

    Hoverfly is an open-source API simulation tool focused on capture-and-replay for lightweight testing. Speedscale is an enterprise platform that adds production traffic replay, load testing, and automatic mock generation from real Kubernetes traffic. Hoverfly works well for individual developers;…

Performance testing ·

A Developer's Guide to Continuous Performance Testing

Add continuous performance tests to CI with bounded smoke checks and scheduled load runs. Choose meaningful gates and handle noisy results with baselines.

Questions answered in this article (8)
  • What is continuous performance testing?

    Continuous performance testing, also known as a continuous performance test, is the continuous monitoring of the performance of an application under increased load. Use short checks on suitable commits and schedule larger tests when their duration and infrastructure requirements fit. Automation…

  • Are there different types of performance tests?

    There are several types of performance testing, but one that is often used is load testing. Load tests are designed to simulate the activity of multiple users accessing software simultaneously. Similar to stress testing, the goal is to test the limits of how many requests the application can…

  • Who can benefit from continuous performance testing?

    This depends upon the company’s needs, but generally speaking, some companies will find continuous performance tests more valuable than others. These companies typically have: A large user base High volumes of regular interaction and/or seasonal spikes in traffic Invested a lot of time or money…

  • Why you need continuous performance testing?

    Slow responses and timeouts can harm the user experience. Set acceptance criteria from your service’s requirements and observed user journeys. Historical general-purpose page-load percentages do not establish an API-specific latency budget. Use repeatable workloads to detect changes before release,…

  • How to start continuous performance testing

    To begin continuous performance testing, first make sure that you have a continuous integration pipeline, or CI pipeline, in place. Integrating continuous performance testing is crucial for enhancing software performance and user experience. Start by setting up a structured approach that includes…

  • Should every commit run the full performance test?

    Not necessarily. Run a small, repeatable check for high-risk paths early, and schedule broader load, stress, or soak tests when their duration and environment needs fit. Use additional gates for relevant changes or releases. Choose frequency from the risk, cost, and reliability of the result rather…

  • How do I choose a fast smoke test for CI?

    Choose a few business-critical requests or journeys and a bounded workload that completes predictably. Prepare valid data and credentials, assert response correctness, and define an explicit error or latency gate with enough samples to be useful. Prove the job fails on a deliberate defect before…

  • How do I handle noisy results and changing environments?

    Record the build, workload, resource configuration, data state, and dependency mode with every run. Repeat an unchanged baseline to characterize variation and compare like environments. Investigate unstable infrastructure and generator saturation instead of silently loosening thresholds. Review…

AI development ·

A Developer's Guide to Improving AI Code Reliability

AI code reliability explained for developers using LLMs to write faster while keeping their code safe and maintainable

Questions answered in this article (4)
  • Can I trust AI to write code for production?

    AI-generated code can indeed be deployed to production, but it requires validation first. Treat it like code from a capable but junior developer, requiring review and testing before deployment, rather than a “rubber stamp”. The key is building validation processes that catch AI-specific issues,…

  • How do I stop AI from generating unreliable code?

    Better prompting helps significantly. Be specific about libraries and versions, provide context about your architecture and constraints, include example inputs and expected outputs, and explicitly ask for error handling. Provide documentation or examples to guide the AI’s approach.

  • What is ‘hallucinated code’ and how do I catch it?

    Hallucinated code occurs when AI generates functions, methods, or APIs that appear plausible but don’t actually exist. You can catch it by systematically verifying that every function call references real library methods, using IDE error checking, and validating against official documentation.…

  • Are there risks associated with copying and pasting AI code from platforms like ChatGPT?

    Yes, several significant risks. The code might contain hallucinated functions, security vulnerabilities, outdated patterns, or logic that doesn’t align with your specific requirements. AI code from chat platforms also lacks context about your application architecture. Always validate, test, and…

Kubernetes and observability ·

A Guide to Kubernetes Visibility: Best Practices and Tools

Kubernetes (k8s) is becoming the go-to solution for managing containerized applications. Effectively managing and understanding what happens within a...

Questions answered in this article (4)
  • What does Kubernetes visibility mean?

    Kubernetes visibility refers to the ability to monitor and understand the state and behavior of all aspects of a Kubernetes environment. This includes underlying infrastructure as well as application traffic.

  • How does Kubernetes visibility improve performance?

    Visibility into your Kubernetes deployment can improve performance in several aspects: Proactive Monitoring: Continuously monitoring pods, nodes, and services helps teams detect and address potential issues before they impact application performance metrics. Resource Allocation: Visibility tools…

  • Why is Kubernetes visibility difficult?

    However, achieving full visibility in Kubernetes can be extra challenging. For starters this is because: Complexity of Architecture: Kubernetes environments are highly dynamic and distributed. There are also differences between your own application versus Kubernetes overhead such as Kubernetes…

  • Why do we need 3rd party tools for Kubernetes visibility?

    While vanilla Kubernetes offers basic monitoring tools via the Kubernetes API (this powers tools like kubectl and the Kubernetes dashboard), these are often insufficient for comprehensive visibility. Additional tools are used for: Extended Capabilities: Specialized tools can capture more detailed…

Kubernetes and observability ·

A Guide to Optimizing Kubernetes Clusters with Karpenter

With the promise of auto-provisioning and self-healing, Kubernetes environments can be an attractive option for hosting your application platform.

Questions answered in this article (3)
  • How Does Kubernetes Work?

    At its core, Kubernetes uses a master-worker architecture, consisting of: Control Plane - this system manages the cluster’s state and orchestrates operations. Key components include the API server, scheduler, and other orchestration systems. Nodes (Worker Nodes) - nodes run the containerized…

  • How Does Karpenter Work?

    In essence, Karpenter combines Kubernetes cluster awareness with instance provisioning and auto-scaling solutions. Karpenter is monitoring the Kubernetes API server for pods that cannot be scheduled based on resource demands that are unmet. When these demands are discovered, it figures out what the…

  • How to Optimize Kubernetes Clusters with Karpenter

    With all of this in mind, let’s take a structured look at how you can optimize Kubernetes clusters with Karpenter in practice. To do this, we’ll explore the concept of rightsizing, a process by which you can maximize efficiency and performance, and the cloud infrastructure underpinning it all.

Engineering and company news ·

Accelerating Cloudnative Development & DevOps

Cloud-native development and DevOps accelerate delivery—but add complexity. Move fast safely with Speedscale: key patterns and pitfalls. Learn more.

API mocking ·

Advantages of Service Virtualization Over Service Mocking

Compare service virtualization, mocks, and stubs. Choose the right test boundary, verify state behavior, and keep real dependency checks where they matter.

Questions answered in this article (8)
  • When to use stubs, service mocks, and service virtualization?

    The degree of mimicking real software components depends on your test scenarios.

  • When to use stubs?

    A stub or test double is often used as simple, consistent returns to method calls, and are commonly used by an individual developer for unit testing (vs. shared with a team). Stubs typically return static test data and do not dynamically contain state. For example, let’s say one of your dependent…

  • When to use service mocks?

    API mocking or service mocks usually happen over a network and have a more varied library of responses. Some network mocks support explicit stateful scenarios; others simply return matching fixtures. For example, eCommerce web services could have dependent components for the shopping cart. Real…

  • When to use service virtualization?

    API service virtualization usually addresses this by “learning” as much behavior about specific software components by recording the network traffic. Service virtualization is more commonly used during functional tests, integration tests, and acceptance tests. For a refresher on service…

  • What’s next on the horizon: auto generated service virtualization with Speedscale?

    Future solutions will require virtual services to be cheap and quick to build. As the complexity of microservices increases, it becomes virtually impossible for humans to reason about. This is why platform engineering espouses the need for internal developer platforms (IDPs), and reduces cognitive…

  • When is a simple stub sufficient?

    Use a stub when the test needs a small, explicit response or error and the dependency’s internal behavior is not the subject. A function-level stub suits isolated logic; a network stub also exercises the real client and serialization path. Add complexity only when the test requires sequences, state…

  • Do virtualized services preserve mutable state?

    Only if the chosen tool and scenario implement it. WireMock and Hoverfly support explicit state mechanisms, so statefulness is not exclusive to tools marketed as service virtualization. A sequence of recorded responses does not become an arbitrary shopping-cart backend or database engine. Verify…

  • Which integration checks still require the real dependency?

    Keep real test instances for provider-owned behavior such as database constraints, transaction semantics, actual authentication decisions, and protocol compatibility. Mocks can verify how your caller handles selected responses, but cannot establish that the provider accepts a new request or…

AI development ·

Agile is dead. AI is the culprit.

Discover why AI coding agents are breaking Agile workflows and driving the shift to an intent-based AI Software Factory.

AI development ·

AI Agent Is Hitting Your APIs - Are You Ready?

It’s no longer theoretical - artificial intelligence has left research labs and entered production systems, generating a new breed of consumers.

Questions answered in this article (3)
  • What Are AI Agents – And How Do AI Agents Work?

    AI agents are at the forefront of modern software systems, designed to operate autonomously or semi-autonomously in a variety of environments. These agents leverage advanced technologies such as natural language processing and machine learning to interpret user input, analyze data, and adapt their…

  • What Are AI Agents - And How Do AI Agents Work?

    AI agents are software systems that use artificial intelligence and machine learning to perform tasks autonomously. They range from simple reflex agents, which are driven by predefined rules to perform a particular and limited function, to advanced goal-based and utility-based agents that maintain…

  • Why APIs Are Attractive Targets for AI Agents?

    APIs are particularly appealing to AI agents because they offer a standardized, programmatic way to interact with software systems and services. Through APIs, AI agents can capture traffic, analyze real world conditions, and replay traffic to test how systems respond under various scenarios. This…

AI development ·

AI Coding Agents Break What Works

AI agents silently modify working systems to force changes through. Three real patterns and the guardrails that catch them.

AI development ·

AI Prediction for 2026

Explore 5 bold AI predictions for 2026. From the burst of the AI bubble to the rise of 'vibe coding' and agentic workflows, discover why the future of.

API testing ·

API for Beginners – Frequently Asked Questions

Are you looking to benefit from automation but lack the experience to leverage an API? To equip you with the tools you need to start utilizing APIs and...

Questions answered in this article (7)
  • What is an API?

    API stands for Application Programming Interface. An API is a set of programming code that enables data transmission between one software product and another.

  • How does an API Work?

    APIs sit between an application and the web server, acting as an intermediary layer that processes data transfer between systems. Here’s how an API works: A client application initiates an API call to retrieve information—also known as a request. This request is processed from an application to the…

  • What is API Testing?

    While there are many aspects of API testing, it generally consists of making requests to a single or sometimes multiple API endpoints and validating the response. The purpose of API testing is to determine if the API meets expectations for functionality, performance, and security.

  • What is the most popular API?

    The most used API is a RESTful API (Representational State Transfer API). RESTful APIs allow for interoperability between different types of applications and devices on the internet.

  • What is a REST API?

    A REST API conforms to the design principles of the REST, or representational state transfer architectural style. Restful APIs are extremely simple when it comes to building and scaling as compared to other types of APIs. When these types of APIs are put into action, they help facilitate…

  • What is REST API Testing?

    REST API Testing is a web automation testing technique for testing REST-based APIs for web applications without using the user interface. The purpose of REST API testing is to record the response of REST API by sending various HTTP requests to check if REST API is working correctly. You can test a…

  • What is the most Popular Response Data Format?

    JSON is the most popular response data format amongst developers. JSON (JavaScript Object Notation) is a lightweight >Learn how Speedscale’s solutions can help improve your API testing & performance. Stay tuned for our upcoming post: REST API & Testing Terminology Everyone Should Know.

AI development ·

API Security: Validating Auth and Access with Traffic Simulation Starts with Behavior

Security breaches rarely begin with a hidden zero-day exploit or a complex web of escalated hacks.

Questions answered in this article (2)
  • Why Static API Security Testing Falls Short?

    Traditional security tools have their place. Linters and description validators, such as Spectral and LintGPT, are excellent at enforcing consistency and design quality pre-deployment, and they’re also fairly effective at flagging common issues, including those identified in the OWASP API Security…

  • What Traffic Simulation Looks Like in Practice?

    Simulating traffic isn’t about blasting endpoints with noise. It’s about reproducing the way legitimate API users, as well as malicious threat actors, interact with your web APIs. This can be done by capturing actual API usage via logging middleware or gateways and replaying it in test…

AI development ·

API Staging Is Not Production - But Speedscale Makes It Close

Staging environments are often looked at as the testing ground ahead of the “real” production environment.

Questions answered in this article (2)
  • Why API Testing Tools Need to Be Realistic?

    Automated API testing is only effective when it reflects how your APIs are actually used. Unfortunately, too many API test suites focus on ideal, expected scenarios. They validate status codes, check for expected responses, and verify schema compliance, but often overlook the importance of…

  • Why API Testing Is Critical in 2025?

    Let’s be clear here - API testing isn’t optional. APIs are Application Programming Interfaces - they are the Rosetta Stone that interfaces your system with every other system, and getting this right is the difference between universal understanding and absolute bedlam. It’s one of the most…

API testing ·

API Test Automation for Zero Trust Model

Security isn’t just about keeping threats outside a well-defined perimeter. In fact, it’s as much about accepting that there is no perimeter.

Performance testing ·

API Testing Tools Best Practices Guide

Choose API testing tools for exploration, CI regression, and dependency isolation. Compare assertions, protocols, workflows, and migration requirements.

Questions answered in this article (5)
  • What is API Testing?

    API testing involves a provider employing various tests to confirm their Application Programming Interfaces (APIs) function correctly, perform efficiently, are reliable, and maintain stringent security standards. API tests often focus on a wide range of specific domains, including tests that…

  • What Are the Types of API Testing?

    There are different types of API testing, each of which have their own benefits and drawbacks. Often, multiple types can be combined to make for more comprehensive API testing, ensuring comprehensive coverage of the entire API.

  • Which tool fits manual exploration versus CI regression?

    A client such as Postman is useful for exploring requests and inspecting responses. Saved collections can also run through its CLI, so manual exploration and automation need not use separate products. For recorded-traffic regression, evaluate the capture, dependency mocks, assertions, artifacts,…

  • How should I evaluate dependency isolation?

    List every outbound connection the application needs, including startup queries and token refreshes. Route selected calls to mocks and other calls to disposable test services. Inspect matches and try an unmatched request. Block production access independently where required; a passing response…

  • What should I verify before migrating existing tests?

    Pilot representative authentication, scripts, assertions, variable correlation, and reports before moving the full suite. Check protocol and runtime support, CI exit behavior, and the target environment’s secrets and routing. A request import is not proof that the source tool’s scripts or…

Traffic capture and replay ·

API Traffic Replay Testing: The Definitive Guide (2026)

What is API traffic replay testing? Capture, sanitize, and replay production traffic. Compare GoReplay vs WireMock vs Speedscale vs proxymock.

Questions answered in this article (6)
  • Why use traffic replay instead of scripted tests?

    With the number of microservices, containers, and dependencies in modern applications, manually scripting test cases for every scenario is impractical. Traffic replay solves this by turning real production behavior into your test suite: Realistic coverage. Tests reflect actual user behavior, not…

  • What is API replay?

    API replay is the process of recording real API requests and responses from a live environment and playing them back against a different environment (staging, QA, or development) to validate that the application behaves correctly. It replaces manually scripted API tests with realistic production…

  • What is replay traffic?

    Replay traffic refers to the recorded HTTP requests, responses, headers, and metadata captured from a production or staging environment that are stored and subsequently sent to a target system for testing. The traffic is typically sanitized (PII removed, tokens refreshed) before replay.

  • What is replay testing?

    Replay testing is a software testing approach where previously captured production interactions are replayed against a system under test to verify behavior, performance, and correctness. It is used for regression testing, load testing, contract validation, chaos testing, migration validation, and…

  • What are the different types of API testing that use traffic replay?

    Traffic replay supports multiple API testing types: regression testing (replay old traffic against new code to catch behavioral changes), load testing (multiply captured traffic to simulate peak load), contract testing (verify API responses match expected schemas), migration testing (compare…

  • How does API traffic replay differ from API mocking?

    API mocking simulates external service responses using hand-crafted or recorded stubs. Traffic replay is broader: it captures and replays the full request/response cycle, including inbound client traffic and outbound dependency calls. In practice, the two are complementary — replay tools like…

API testing ·

Application Level Dependency Chaos Testing

A scoped chaos rule takes one dependency down and nothing else, so the fallback branch in your code executes on demand instead of during an outage.

Traffic capture and replay ·

Auto-generate Postman Collections from traffic

Export recorded HTTP requests to Postman collections. Add assertions, test credentials, and variables, then review updates before running in CI.

Questions answered in this article (3)
  • Does exporting a collection also create assertions?

    The export creates HTTP requests and saved response examples in a Postman collection. Those examples are reference data, not automatically executable assertions. Add post-response tests for status, meaningful content, and the intended business outcome. Configure variables and request chaining where…

  • How are secrets and authentication represented?

    Treat the exported file as potentially sensitive: recorded request headers and response examples can retain credential values and private data. Replace credentials with variables resolved through an appropriate secret mechanism, select test identities, and review bodies and query parameters too.…

  • How do I refresh a collection when traffic changes?

    Export a new reviewed recording to a separate file, compare its requests and examples with the maintained collection, and carry forward intentional tests and variables. Check the target hosts before executing it. Inbound-only is the default; include outbound calls explicitly when needed.…

Traffic capture and replay ·

Automated API Governance with Traffic Snapshots

API governance often gets a bad rap. It’s painted as the bottleneck - why new APIs (application programming interfaces, are standardized protocols that...

API mocking ·

Automating API Mocks in Your CI Pipeline with proxymock

Capture API responses once with proxymock and replay them in CI. Eliminate flaky tests from rate limits, downtime, and slow external dependencies.

Questions answered in this article (4)
  • Why Use proxymock in CI Pipelines?

    When running tests in CI/CD, external API dependencies can be problematic: Unreliable availability: The API might be down or rate-limited. Slow performance: API calls introduce latency into test runs. Inconsistent data: Live APIs may return different responses over time. Using proxymock in CI…

  • How do I authenticate proxymock in a headless runner?

    Store a Speedscale API key in the CI platform’s secret store and initialize with proxymock init --api-key "$SPEEDSCALE_API_KEY" --yes --no-rcfile-update. Use a runner variable rather than committing the key or an initialized configuration. Check the account’s CI licensing requirements; an LLM…

  • How should a failed replay fail the pipeline?

    Make the replay’s exit status part of the job result. Define explicit --fail-if conditions or compare against a saved baseline with --baseline and --fail-on-new-mismatch. Preserve the replay report for diagnosis. Avoid --exit-zero, swallowing failures with shell logic, or rebuilding the baseline…

  • When should I refresh the committed recordings?

    Refresh them when an intentional contract change, a new workflow, or a real integration check shows that fixtures are stale. Review the recording diff and baseline changes together. Re-recording merely to make a failing candidate pass can erase a regression. Keep sensitive data out of shared…

API testing ·

Beware of PII in Testing Data: The Security Iceberg and Where PII Actually Hides

Using 'production-similar' data in pre-production is a major security risk. Learn why traditional masking fails, where hidden PII hides, and how to fix it.

Questions answered in this article (1)
  • How-To: Spotting Hidden PII Local-First with Proxymock

    Want to try this on your own machine before rolling out infrastructure-wide controls? Speedscale’s proxymock is a local-first record, replay, and mocking tool that lets you capture real API traffic and spot dynamic patterns—including hidden PII and secrets—right from your workstation. Let’s walk…

Performance testing ·

Boba Paradox

It’s 2PM on a Thursday. Your engineering team is knee-deep in bugs from a recent release. But what’s the Slack channel buzzing about? Not flaky tests.

Questions answered in this article (4)
  • Why We’re Still Talking About Testing in 2024?

    It’s 2024, and testing is still front and center in every serious software development conversation. Why? Because as our software gets more complex and user expectations skyrocket, the risks of skipping proper testing have never been higher. Modern systems are a tangled web of services, APIs, and…

  • What is Performance Testing?

    Performance testing is all about making sure your software doesn’t just work—it works well, even when things get busy. Using specialized testing software, teams can simulate how real users interact with web applications, APIs, and other systems. This means throwing different types of system based…

  • Why Testing Tools Get Skipped?

    Let’s dig deeper. Why do test tools get deprioritized? Invisible ROI: When testing works, nothing happens. That makes it hard to sell. Cultural inertia: Testing is still often seen as “QA’s problem.” Postponed investment: Tools get pushed off “until after this next release.” Developer fatigue: Most…

  • What if Testing Didn’t Suck?

    Speedscale was built for teams that want to ship fast without sacrificing reliability. We help you: ✅ Record real traffic from production and leverage data from real user interactions to create accurate test scenarios ✅ Replay it automatically in CI/CD, running load tests with concurrent virtual…

API testing ·

Break One Dependency, Not The Whole Cluster

Scoped chaos rules are now in proxymock: pick traffic with a filter query, perturb it, and label every injected failure so it is never mistaken for a real one.

API mocking ·

Browser tests that know which API broke

Run your Playwright tests with the frontend's API calls answered from recorded production traffic, and see which call broke on which step.

Kubernetes and observability ·

Build and Deploy Kubernetes Applications with Skaffold

Skaffold is a command line tool that facilitates continuous development by streamlining the workflow for building, pushing, and deploying Kubernetes...

Questions answered in this article (1)
  • How to implement Skaffold

    In this section, you’ll install Skaffold and create a simple project to get a taste of the inner development workflow with Skaffold.

API mocking ·

Build WireMock mappings fast from real traffic

Generate WireMock mappings from recorded HTTP traffic. Review matching fields, sensitive values, eligible pairs, and custom changes before reuse.

Questions answered in this article (3)
  • Can I keep editing the generated WireMock mappings?

    Yes. The output is a standard WireMock mappings document. Add request-body matching, priorities, templating, or stateful behavior when the scenario requires it, and validate the edited result in WireMock. Keep generated output separate from reviewed custom changes or merge them deliberately:…

  • How are credentials and dynamic values handled?

    Omitting request-header matchers prevents a recorded Authorization header from constraining a stub; it does not sanitize the recording or response. Query values, response headers, and bodies can still contain sensitive or changing data. Inspect the generated document, redact before sharing, and add…

  • Which requests are eligible for export?

    The exporter uses complete HTTP or HTTPS request/response pairs, with inbound traffic selected by default. Use the service, direction, and limit filters for the intended dependency. This is not a generic export of every recorded protocol. Inspect the mappings count and matching fields, particularly…

Traffic capture and replay ·

Capture Encrypted Microservice Traffic with Speedscale eBPF

Inspect encrypted microservice traffic with Speedscale’s eBPF collector. Check TLS support, node permissions, and Java-agent rollout requirements first.

Questions answered in this article (4)
  • How to create a snapshot

    In the Traffic Viewer, select the traffic that you want to save as a snapshot using the time picker and filters. Click Save to Tests/Mocks. Snapshots are reusable between replay runs. Each run generates its own report with its own latency graphs, assertion results, and captured traffic, but all…

  • Which runtimes and TLS libraries are supported?

    Plaintext TCP capture and TLS plaintext visibility have different requirements. The documented TLS paths cover OpenSSL 3.x, supported Go and rustls builds, and supported JVM transports through a Java agent. Older OpenSSL, BoringSSL, and LibreSSL are not covered by that OpenSSL path. Verify the…

  • What node access and capabilities are required?

    Use supported Linux nodes with BTF enabled and the host paths and capabilities listed in the security reference. The documented kernel baseline is 5.15 for x86_64 and 6.0 for arm64, with RHEL 9.2 or newer. The non-root capture container still needs elevated capabilities; review that contract with…

  • When does collection require an agent or restart?

    The JVM path loads a Java instrumentation agent through the startup configuration, so it requires new pods and a JVM restart. Supported native-library probes can attach without that Java rollout. Existing long-lived connections may still be incomplete, especially multiplexed HTTP/2 or gRPC…

Traffic capture and replay ·

Capture once, test forever

Production traffic is the most complete record of what your system does, and most teams throw it away. One capture powers reproduce, validate, and sandbox.

Kubernetes and observability ·

Chaos Monkey Won't Find Your Bug

Infrastructure and application chaos break different layers and find different bugs. Netflix built two systems for a reason. Most enterprises buy just one.

Engineering and company news ·

Code Faster with a Tuned Dev Environment

The rise of remote development environments, like GitHub Codespaces, has certainly captured the spotlight in recent years.

Questions answered in this article (1)
  • What is a Local Development Environment?

    A local development environment is a setup where you host your project’s files directly on your computer rather than on a remote server. This setup allows developers to test, debug, and refine their code in a safe, isolated space before it goes live. By working locally, you gain full control over…

API testing ·

Considerations for Testing gRPC Streams

Test gRPC streams with clear boundaries for recorded mocks, real message buses, cancellation, flow control, and supported streaming versions.

Questions answered in this article (4)
  • Why Test with Real Pub/Sub?

    Using Pub/Sub as part of your load test brings realism that mocks just can’t replicate. For example: Backpressure and bottlenecks - Pub/Sub enforces quotas and flow control. If your subscribers can’t keep up, Pub/Sub will happily slow things down. That’s the kind of production-like behavior you…

  • When should I keep the real message bus in a streaming test?

    Keep a real test instance when the question concerns provider IAM, quotas, acknowledgment deadlines, redelivery, ordering configuration, or capacity. A simulator can exercise selected client reactions, while an emulator supports another useful local boundary with documented omissions. Choose from…

  • How do I test cancellation, reconnects, and backpressure?

    Use a controllable server or test service that can delay messages, terminate a connection, and observe cancellation. Assert bounded retries, resource cleanup, and recovery without unintended duplicate processing. Exercise slow consumers and sustained outstanding work. Inspect application queues as…

  • Which streaming behavior can a recorded mock reproduce?

    With a compatible native server-streaming release, a complete eligible call can preserve response sequence, observed pacing, and terminal status. That fixture does not implement a message broker’s acknowledgment, retention, or subscriber-coordination semantics. Inspect partial-call diagnostics and…

AI development ·

Conway's Law 2.0: The VP's Playbook

Learn how VPs of Engineering must adapt org charts, engineering roles, and performance metrics to lead in the era of the AI Software Factory.

Performance testing ·

Determine Throughput Performance Testing

Measure throughput with defined transaction boundaries, sustainable load stages, latency and error goals, and enough load-generator capacity.

Questions answered in this article (4)
  • What is Throughput in Performance Testing?

    Throughput in performance testing refers to the rate at which a system or application processes requests or transactions within a specified time frame. It is a critical metric that helps evaluate the performance and scalability of a system, ensuring that it can handle a large volume of data and…

  • How are TPS and requests per second different?

    Define the counted unit before comparing rates. RPS counts individual HTTP requests; TPS may count a complete business operation spanning several requests. A checkout can include cart, payment, and order calls while counting as one transaction. Report the measurement window, operation boundary, and…

  • What makes throughput sustainable rather than a short spike?

    Hold the workload long enough to observe startup, scaling, caches, queues, and resource growth relevant to the application. Sustainable capacity meets the chosen latency, correctness, and error goals without an ever-growing backlog. Report the tested duration and environment. A brief peak rate does…

  • How do I detect a generator-side limit?

    Compare planned load with requests actually sent and completed. Inspect generator CPU, memory, throttling, and network use alongside application metrics. Saturation or unstarted iterations can explain a missed target before the application reaches its limit. Increase generator capacity or…

API mocking ·

Did It Actually Send?

Part 4 of Getting Started with Mocks: the notifier stops returning a message and starts sending one, so the test needs a spy instead of a return value.

Engineering and company news ·

Easy Cross-Platform cgo Builds

When I first started writing Go software a little over a decade ago, one of the features I found particularly intriguing was the ability to build...

Questions answered in this article (1)
  • What about multi platform darwin and windows?

    This article was primarily focused on cross-platform container builds, specifically to be run on Kubernetes linux nodes, so native darwin and windows builds were intentionally left out. The xx project does have some support for both of these target platforms, but with some pretty strict…

Kubernetes and observability ·

eBPF: Preventing Garbage HTTP Payloads When Reading Kernel Scatter-Gather Buffers

How our nettap eBPF agent produced garbage HTTP bodies from kernel iov_iter scatter-gather buffers, and the CO-RE plus task-local storage fix that made it correct.

Questions answered in this article (1)
  • What Is Available to TCP eBPF Probes?

    nettap captures plaintext TCP payloads by attaching BPF fentry and fexit trampolines to tcp_recvmsg and tcp_sendmsg, then reading the application’s buffer directly out of the struct msghdr the kernel was given. For tcp_recvmsg all of the heavy lifting was in the fexit probe since you get both the…

Engineering and company news ·

Elevating Developer Productivity with Speedscale Ephemeral Environments

Speedscale leveraged Ephemeral / Preview Environments to help balance developer productivity and high-quality code by dynamically spinning mini-staging...

Questions answered in this article (1)
  • What are ephemeral environments?

    Ephemeral or Preview Environments help balance the need for developer productivity while maintaining high-quality code. The idea of dynamically spinning “mini-staging” environments up and down on command has enormous promise for increasing experimentation and deployment safety. In theory, it lets…

Traffic capture and replay ·

Eliminating Flaky Tests with Traffic Replay

There are few things that can derail developer productivity and undermine your pipeline like a flaky test. Testing is the backbone of a good development...

AI development ·

Enterprise Vibe Coding

_Expanded explanations, guardrails, and practical check-lists included._ Vibe coding is a new approach to building software that emphasizes rapid...

API mocking ·

Ephemeral Data Best Practices Playbook

When it comes to different concepts around data within software development, the concept of ephemeral data is gaining traction.

Questions answered in this article (2)
  • What is Ephemeral Data?

    Ephemeral data, by its nature, is temporary. This data typically has a pretty specific lifespan in terms of duration of time or purpose. In other words, ephemeral data typically exists only as long as it’s useful. After that, the data is processed through an automatic deletion mechanism that…

  • Why is Ephemeral Data Important?

    Ephemeral data is a critical piece of network infrastructure, especially in the modern connected device landscape where privacy, security, and high-efficiency are becoming more and more important by the day. Let’s dig into some of the reasons ephemeral data is so important.

API testing ·

Ephemeral Environment Testing: Do you need it?

Choose tests for ephemeral environments, keep real integration gates, isolate branch data, and retain evidence before teardown.

Questions answered in this article (6)
  • What is Ephemeral Environment Testing?

    Ephemeral environment testing deploys a candidate into a temporary environment for a defined test or review. Version the deployment, data setup, and dependency routing so the initial state can be reproduced. Preserve evidence before teardown and verify removal of owned resources; a short lifetime…

  • How Does Ephemeral Environment Testing Work?

    Ephemeral environment testing usually has three stages: provision a defined deployment and data state, run the checks, then retain evidence and remove owned resources. Readiness, isolation, and teardown require explicit configuration. Create an environment that resembles the production or final…

  • How to Set up Ephemeral Environments for Testing

    Start with a reproducible deployment definition and one useful test. Automate data setup, readiness, diagnostics, and cleanup before expanding the environment or test set. Without diving into too many specifics, here’s a general overview of the workflow:

  • Which tests belong in an ephemeral environment?

    Use it for checks that benefit from deploying the candidate with its runtime configuration: API regression, selected integration paths, migrations, or a focused user journey. Keep fast isolated tests earlier in the pipeline when deployment adds no value. Validate readiness and data setup first.…

  • What should remain in a shared integration environment?

    Keep checks that require independently deployed services, representative shared infrastructure, provider test accounts, or interactions deliberately excluded from branch environments. For example, a mocked payment response cannot establish provider authorization or settlement behavior. Maintain a…

  • How do I keep test data isolated between branches?

    Assign each run a unique data scope and credentials, then separate or constrain databases, queue subscriptions, cache keys, and storage paths accordingly. Apply network and access policies as well as namespaces. Test for accidental shared writes and unmatched mock pass-through. Recreate the…

Engineering and company news ·

Essential KPIs for Software Development: Measure Success Effectively

In almost all industries, a standard set of KPIs helps to guide teams on whether they are doing the right things in the right ways, with the right.

Questions answered in this article (1)
  • What are Software Development KPIs?

    KPIs - or Key Performance Indicators - are quantifiable metrics that help track a software development team’s progress toward a predefined goal. In essence, the KPI gives a metric by which progress can be tracked, giving a signal both when you are pacing toward success and failure. KPIs act as a…

AI development ·

FastAPI Testing: Mock LLM APIs with Recorded Traffic

Record real LLM traffic from a FastAPI app, mock it locally, and replay it in CI with proxymock.

Questions answered in this article (3)
  • What happens when a request has no matching mock?

    The normal mock workflow can forward an unmatched request to its real destination. For HTTP tests that must stay isolated, use --no-passthrough and verify that the request fails instead of reaching the provider. Also control direct connections that bypass the proxy. Cover new prompts, models, and…

  • Can I preserve realistic response timing?

    Use --mock-timing recorded to apply the saved response duration, or a multiplier such as --mock-timing 5x to exercise slower responses. The default is immediate replies. These settings model the fixture’s timing; they do not predict a provider’s current queueing, token generation, or future…

  • How should I handle credentials and sensitive prompt data?

    Review recordings for authorization headers, prompts, tool arguments, and generated text before committing or sharing them. Redact sensitive fixture values and use secret references for credentials needed at runtime. Removing a provider key from CI does not remove sensitive content already captured…

AI development ·

Finding the Ghost in the Machine

The industry is rapidly moving towards deeper AI integration than ever before. What was once simply focused on chatbots or recommendation engines has.

Questions answered in this article (1)
  • What Makes Multi-Agent AI Workflow Automation Different?

    Multi-agent workflows are becoming the backbone of enterprise AI automation, where multiple AI agents collaborate across APIs and services to deliver outcomes that previously required significant engineering investment. These systems provide this functionality while offering a human-friendly…

Kubernetes and observability ·

Five things your logs will never tell you

Logs, metrics, and traces are a lossy compression of production. Five things you can do with a traffic data lake that observability can't.

Kubernetes and observability ·

Five Ways to Use OpenTelemetry Beyond Observability

Teams run inventory, security logs, request routing and billing through OpenTelemetry. Five non-observability uses, and the failure mode of each.

Questions answered in this article (4)
  • Can OpenTelemetry be used for data other than traces, metrics and logs?

    Yes, and it routinely is. The Collector is widely deployed as a general-purpose data pipeline, entity events model infrastructure inventory, baggage carries routing and experiment assignment, and some teams feed usage metrics into billing. The project has also expanded its own scope with profiles,…

  • Is OpenTelemetry safe to use for billing or audit data?

    Not on its own. OTLP provides at-least-once delivery and the specification calls duplicate data a deliberate, correct tradeoff for telemetry. Collectors drop under backpressure by design. Anything needing completeness or exactly-once semantics requires deduplication and a durable queue you add…

  • What are the limits on OpenTelemetry baggage?

    The W3C Baggage specification requires propagation when the result is 64 list members or fewer and 8192 bytes or less. Past those limits entries may be discarded, and a platform that cannot propagate everything must not propagate partial members. The spec gives no guidance on which keys to drop…

  • Should you put request and response payloads in spans?

    Usually not. The default limit is 128 attributes per span, backends price on cardinality, and payloads carry PII across a trust boundary. If the goal is reproducing what happened, capture the traffic itself.

Traffic capture and replay ·

Fixing 403 auth errors when you replay traffic

Replay an authenticated flow and the protected calls fail with 403. Here is how proxymock recommendations fix the expired bearer token in one click.

Questions answered in this article (3)
  • Why does an old token fail during replay?

    A recorded bearer token may be expired or invalid for the replay environment. Replaying the login call can obtain a new token, but later requests must actually use it. Correlate the current login response into the protected requests. A 403 alone does not diagnose expiration; the status can also…

  • How do I tell a missing correlation rule from an authorization defect?

    Compare the token issued during the replay with the value sent on the failing request. If replay still sends the recorded value, fix correlation. If it sends the current value, inspect the service’s validation and authorization decisions, including audience, issuer, roles, and scopes. Avoid masking…

  • How do I prove the transform actually ran?

    Use the blueprint preview to inspect changes, then require the saved blueprint during replay with --require-blueprint followed by its exact name. The command fails if it is missing or none of its chains run. That proves some activity, not that every rule ran or authorization is correct; inspect the…

AI development ·

Flamegraphs Find It. Replay Proves It.

Use Grafana Pyroscope and proxymock with an AI coding agent to find a Go CPU hotspot, preserve API behavior, and verify the performance fix.

Traffic capture and replay ·

From Datadog to CI Tests: Catch Regressions Before Deploy

Learn a practical workflow to convert Datadog metrics, traces, and incidents into CI tests that catch regressions before deploy.

Questions answered in this article (1)
  • How to pick safe, realistic thresholds

    Threshold debates can derail adoption. Keep it mechanical. Start with the last 14 to 30 days of stable production behavior, then define an explicit tolerance band. For example, if p99 sits around 142ms, you can gate at 160ms to absorb normal variance while still catching real regressions. Do the…

API mocking ·

From Handwritten Mocks to proxymock: The Complete Loop

Part 10 of Getting Started with Mocks: use proxymock to record real API traffic, inject failures, verify side effects, and expose contract drift.

Questions answered in this article (2)
  • Does proxymock replace unit-test mocks?

    No. The package notifier’s function stub is still the fastest way to ask, “Given delayed, should I send a message?” An in-memory fake is still the clearest way to ask whether a second call sees the first write. proxymock answers questions those doubles cannot: what did the application put on the…

  • Can an edited RRPair catch contract drift?

    It catches your response to a contract change. That is valuable because you can make a missing field, changed type, or renamed property happen locally and repeatably. It does not prove the vendor made that change. Use the edited copy on every commit to keep the failure behavior covered. Use fresh…

API testing ·

From Specs to Reality: True API Testing

Linting - the process of analysing potential issues within your API specification - is a great step towards ensuring that you have strong syntax...

Traffic capture and replay ·

From Telemetry to Traffic

Compare eBPF, sidecars, telemetry agents, OpenTelemetry, APM, and proxies through an evolving ladder of production visibility.

AI development ·

From Traffic Context to Confirmed Fix in 3 Minutes

Traffic Context is the missing piece in most debugging workflows. We ran our autonomous agent on a real production bug — it found the root cause, wrote a reproduce harness, applied the fix, and confirmed it. Here's what that looked like.

Performance testing ·

Gatling vs. Speedscale for Kubernetes Load Testing

Compare Gatling and Speedscale for Kubernetes load tests. Evaluate scripts, recordings, dependency isolation, and CI results alongside existing tests.

Questions answered in this article (3)
  • When should I author scripts and when should I replay captured requests?

    Author a scenario when you need new behavior, explicit edge cases, or a carefully controlled journey not present in traffic. Use captured requests to preserve representative existing integrations and reduce fixture authoring. Gatling supports scripted and recording-based authoring; Speedscale uses…

  • Can existing Gatling tests remain in the pipeline?

    Yes. Keep valuable simulations in their Gatling runner and add recorded-traffic checks alongside them. Gatling documents CI/CD integration and build-tool execution. Treat the new checks as additional coverage until you have demonstrated equivalent requests, correlation, and assertions. A change of…

  • How do I isolate an expensive third-party dependency?

    Record supported representative exchanges, route the application’s outbound calls to a mock, and verify that the required requests match. Set realistic timing and error cases for the question under test. Use test credentials and controls on unmatched or bypass traffic. Keep a separate real-provider…

Kubernetes and observability ·

Getting Started with Skaffold for Kubernetes

With the explosive growth of Kubernetes over recent years, software engineering teams are facing new challenges: increasing complexity...

Questions answered in this article (1)
  • How to implement Skaffold

    In this section, you’ll install Skaffold and create a simple project to get a taste of the inner development workflow with Skaffold.

Engineering and company news ·

Golang Wrapper: Dependency Wrapping, in Go

All but the simplest applications borrow code. You could write everything yourself from just core language features but who has time for that?

Questions answered in this article (1)
  • What is Dependency Wrapping?

    Dependency wrapping is a nifty technique in Go programming that involves wrapping a dependency, such as a function or a struct, with another function or struct that provides additional functionality or behavior. Think of it as putting a gift in a box and then wrapping it with beautiful paper. The…

Performance testing ·

GoReplay vs Speedscale for Kubernetes Load Testing

Compare GoReplay and Speedscale capture, TLS requirements, dependency mocks, and local or Kubernetes replay. Verify the exact workflow before choosing.

Questions answered in this article (3)
  • How do the capture methods handle encrypted traffic?

    GoReplay’s raw packet-capture path needs HTTP after TLS termination to see plaintext requests. Speedscale’s supported TLS capture uses runtime-specific probes or a Java agent; it is not universal decryption of arbitrary encrypted sockets. For local proxymock, configure proxy routing and client…

  • Does the workflow also simulate backend dependencies?

    Capturing inbound requests for replay does not by itself capture or replace the service’s outbound dependencies. Speedscale can use supported recorded outbound exchanges as dependency mocks. In a GoReplay-centered workflow, plan the downstream test services or separate mocks explicitly. In either…

  • Which setup is appropriate for local testing versus a cluster?

    For local work, compare GoReplay’s capture permissions and network visibility with proxymock’s explicit proxy setup. For Kubernetes, check collection placement, node permissions, runtime support, and the replay target’s networking. Speedscale’s operator and collector manage cluster capture, while…

Engineering and company news ·

Graphql vs GRPC : Key Differences

APIs have never had more connections and requests for data. With variable data types, changing programming languages, and a demand for high performance...

Questions answered in this article (5)
  • Which is Better: GraphQL or gRPC?

    This is a very hard question to answer - that being said; we can give you an answer based on our specific use case here at Speedscale.

  • What’s the difference between GraphQL and gRPC?

    GraphQL is a client-driven query language over HTTP and JSON, letting clients ask for exactly the data they need from a single endpoint. gRPC is an RPC framework over HTTP/2 and binary Protocol Buffers, focused on exposing service methods with strong typing and bidirectional streaming. GraphQL…

  • Why did Speedscale switch from GraphQL to gRPC?

    Schema drift. Our backend microservices used protobuf while the front end used a separate GraphQL schema, so every protobuf change had to be duplicated with custom translation logic like converting a map to an array. That was manual, error-prone, and slowed the team down, so we moved the…

  • How much more efficient was gRPC than GraphQL for Speedscale?

    In our migration the web client needed roughly 50 to 90% less processing, and network data volume dropped about 70% on average, with even larger gains when messages had a high metadata-to-payload ratio. Schema drift also started surfacing at compile time instead of at runtime.

  • What are the downsides of moving to gRPC-Web?

    HTTP/2 maturity was the main tax: nginx required all traffic to be HTTP/2 for grpc_pass to a TLS endpoint, AWS ALB support was thin, we had to maintain certificates for every egress component, and our synthetic monitoring didn’t support HTTP/2. gRPC debugging also needs a new skillset since you…

Engineering and company news ·

gRPC Golang Example: Using gRPC with Golang

In this tutorial, you will learn how to work with the gRPC Golang library for microservice communication by creating a simple note-taking application.

Questions answered in this article (1)
  • Why Is gRPC Faster than REST?

    gRPC code utilizes the HTTP/2 protocol, which offers multiple ways to improve performance: Header compression and reuse to reduce the message size Multiplexing to send multiple requests and receive multiple responses simultaneously over a single TCP connection Persistent TCP connections for…

API mocking ·

gRPC Mocks, Tests and Contract Checks From a .proto

Turn a .proto file into gRPC mocks and tests with proxymock, record real responses, and catch field type changes that protobuf decoding silently accepts.

Questions answered in this article (3)
  • Can I generate gRPC tests before I have a recording?

    Yes. A supported proxymock build can generate inbound tests and outbound mocks from a .proto for unary RPCs. Their values and responses are synthesized examples, so replace request placeholders and record a real implementation before treating the results as a regression baseline. A generated…

  • How do imported proto files resolve?

    Pass each import root with -I or --proto-path. An import such as common/money.proto must be resolvable relative to one of those roots; the main proto file’s own directory is also searched. Repeat the flag for multiple roots. Well-known google/protobuf types are built in. Check your installed…

  • Which streaming RPCs are supported by this walkthrough?

    This proto-generation workflow targets unary RPCs; generate lists streaming methods as skipped. Do not use a captured stream as a baseline without verifying the client lifecycle and replay behavior separately. Preserving message bytes is different from reproducing bidirectional streaming,…

Performance testing ·

How Load Testing and Mocks Work Together

Combine load testing and mocks to isolate service performance. Learn when dependencies should stay real and how to avoid misleading capacity results.

Questions answered in this article (3)
  • When does mocking make a load test misleading?

    When the mock removes the bottleneck or failure behavior you intended to measure. Immediate fixture responses can hide dependency latency, rate limits, contention, and retries. State which components are real, configure representative mock timing and failures, and measure the mock’s own capacity. A…

  • Should the database stay real?

    Keep a disposable real database when the question concerns query execution, indexes, locking, transactions, or database capacity. Use recorded database responses when you want to isolate application behavior from that engine. A mock returning a successful write does not establish persistence or…

  • How do I test my service separately from a third-party API?

    Route its outbound calls to recorded mocks, verify matching responses, and prevent unmatched traffic from reaching the provider. For HTTP through proxymock, use --no-passthrough; also block direct routes that bypass the proxy. Set realistic dependency timing and deliberate error cases, then load…

Kubernetes and observability ·

How to Build Multi-Arch Docker Images

With ARM based dev machines and servers becoming more common, it is become increasingly important to build Docker images that support multiple.

Performance testing ·

How to Calculate TPS for Kubernetes Performance

Calculate TPS from completed transactions and a measured time window. Distinguish requests, business outcomes, retries, latency, and errors.

Questions answered in this article (3)
  • Does one transaction always equal one HTTP request?

    No. Choose a transaction boundary that represents the business result being measured, then instrument its completion. One order may require several HTTP calls, retries, and database operations. Count those separately from completed orders. Dividing completed transactions by the observed seconds…

  • Should failed requests count toward TPS?

    Publish attempted and successful transaction rates separately, with a defined rule for failure and partial completion. Count retries as additional attempts while avoiding duplicate business successes. A payment timeout followed by a successful retry can represent two requests and one completed…

  • How should TPS be interpreted with latency and error rate?

    Read all three over the same window and workload mix. A higher completion rate accompanied by more errors or unacceptable tail latency can violate the service goal. Also compare offered load, queued work, and resource saturation. Report endpoint or business-operation breakdowns so fast low-value…

Traffic capture and replay ·

How to Capture Network Traffic in Kubernetes

Compare Kubernetes traffic capture tools, TLS visibility, setup permissions, and replay options. Choose packet inspection or decoded application traffic.

Questions answered in this article (3)
  • Which tools can inspect encrypted application traffic?

    A packet capture alone usually contains TLS ciphertext. Wireshark can decrypt supported sessions when supplied with suitable secrets. An intercepting proxy needs client routing and certificate trust. Speedscale’s passive capture instead depends on supported TLS library probes or its Java agent.…

  • Do I need a sidecar or elevated node access?

    It depends on the capture method. Speedscale’s eBPF DaemonSet avoids a per-application capture sidecar but needs host visibility and specific Linux capabilities. A local proxy needs the application to route calls through it. Check the deployment permissions and workload compatibility before…

  • Which capture formats can become replayable tests?

    Speedscale saves supported decoded exchanges as request/response pairs that replay and mock workflows can use. PCAP files are useful packet evidence, but a packet dump alone does not define application assertions, refreshed authentication, or dependency responses. Verify protocol decoding, both…

API testing ·

How to Conduct an HTTP/2 Test on APIs

Slowly but surely, HTTP/2 has become the preferred protocol for transferring data files between clients and servers. In contrast, HTTP/1...

Questions answered in this article (1)
  • What to Consider When Testing HTTP/2 APIs?

    You might assume HTTP/2 introduces entirely new browser-server interaction features, yet it essentially represents incremental enhancements to the traditional HTTP/1 methods. Let’s go over a few things to consider when testing HTTP/2 APIs.

API mocking ·

How to Get Started with GoMock Playbook

Use GoMock with small Go interfaces, pinned mock generation, and runnable tests. Learn when an HTTP test server or real dependency check is needed.

Questions answered in this article (4)
  • What is GoMock and Why Choose It?

    The maintained GoMock project is developed in Uber’s fork of the original golang/mock repository. It integrates with Go’s testing package and explicit code-generation workflows. Choose it when a test needs to verify interactions through a Go interface. As you’ll see in the next section, GoMock…

  • Which interfaces should I generate mocks for?

    Mock a small interface at a dependency boundary the caller actually uses, such as a repository or payment adapter. Prefer the operations needed by that caller over copying a provider’s entire SDK. Use a simple fake when it expresses the scenario more clearly. Preserve separate tests for the real…

  • When should I regenerate mock code?

    Regenerate when the interface, relevant imported types, generator version, or generation options change. Pin the generator version and review the resulting diff alongside the interface change. Keep generation explicit in the development or CI workflow: go test does not run go generate…

  • When is an HTTP test server more useful than an interface mock?

    Use httptest.NewServer when you need the real HTTP client to build a request and parse a controlled response, including paths, headers, encoding, and status handling. An interface mock skips that transport boundary. The local server still substitutes for the provider, so keep real-provider checks…

API mocking ·

How to Mock APIS in Kubernetes Best Practices

Mock APIs in Kubernetes are used to simulate actual API requests during API testing. This is useful for detecting issues early in development...

Questions answered in this article (1)
  • What Is a Mock?

    As mentioned in the introduction, a mock is a kind of simulation where you can make requests to the Kubernetes API server with the goal of getting realistic responses. These responses can be used to analyze traffic, detect failures, improve performance, and more. There are two different kinds of…

API mocking ·

How to Mock gRPC APIs

Mock gRPC from recorded exchanges. Understand proto requirements, streaming version limits, matching rules, authentication, and capture compatibility.

Questions answered in this article (4)
  • What is production traffic replication?

    Production traffic replication imitates real user interactions by capturing user data in a live environment and then replaying it in a testing environment. For example, if you have an online bookstore, conventional test scenarios might cover common use cases like searching for a book, adding it to…

  • Is a proto file required to record or mock gRPC?

    Recording existing gRPC exchanges does not require a proto file: proxymock can expose protobuf fields by number and wire type. The schema is needed to recover declared names and types, generate new cases from the service definition, or validate against that contract. Schema-free decoding does not…

  • What support is available for streaming RPCs?

    Check the installed release and recording format. Native server-streaming support covers bounded, complete calls with one request and a client half-close. Partial calls have execution limits; client-streaming, bidirectional execution, and grpc-web streaming remain separate boundaries. Unary support…

  • How do tokens and generated request values affect mock matching?

    Inspect the actual method, host, message fields, and configured signature rules. A generated identifier in the request can produce a mock miss; record the case or configure a narrowly scoped transform for that field. Supply valid test credentials where real authentication remains in scope. A…

API mocking ·

How to Mock HTTP APIs With MockServer

MockServer is a powerful tool for mocking HTTP APIs, making running integration tests more manageable and efficient in the initial development phases.

Questions answered in this article (2)
  • Why use MockServer to mock APIs?

    As the name suggests, MockServer is a powerful tool that allows developers to mock HTTP APIs, making it much easier and more efficient to run an integration test in initial development phases. It aims to solve the problem of testing APIs that are still in development or not yet available, allowing…

  • How to mock HTTP APIs

    Aiming to provide value to as many as possible, this tutorial will use one of the language-agnostic options: docker-compose. MockServer will be used to establish a mock HTTP API for a hypothetical online game platform. This platform offers a RESTful API that game developers use to fetch player…

Performance testing ·

How to Test Autoscaling in Kubernetes

Test Kubernetes autoscaling with controlled load. Verify HPA metrics, readiness, scaling policies, and scale-down alongside latency and errors.

Questions answered in this article (4)
  • What is Kubernetes Autoscaling?

    In any Kubernetes setup, you will have at least one cluster with at least one node. On these nodes, which are essentially just virtual machines, applications will be run inside pods. When you’re working with autoscaling, you’re typically referring to either vertical or horizontal scaling. This…

  • How do I verify that HPA scaled for the intended reason?

    Inspect the HPA’s target metrics, current readings, desired replica count, conditions, and events alongside pod readiness and resource requests. CPU utilization targets are relative to requests, not CPU limits. Correlate the scaling decision with the applied workload and check for other metrics or…

  • How long should I allow for pod startup and warm-up?

    Measure image pull, scheduling, startup, dependency initialization, and readiness for your application. Configure probes to distinguish starting from ready, then make load stages long enough to observe the scaling response. HPA has startup-metric handling and scaling policies that affect timing.…

  • How do I test scale-down as well as scale-up?

    Reduce or stop the generated load, then observe metrics, desired and ready replicas, and request behavior during termination. Account for configured stabilization windows, scaling-rate policies, and minimum replicas. Verify connections drain as intended and that latency or errors remain acceptable.…

AI development ·

How to Test LLM Backend Performance with Service Mocking

Test LLM backend latency, throughput, and rate limits without burning API credits. Mock OpenAI and Claude APIs for realistic load testing.

Questions answered in this article (3)
  • How do you load test an LLM backend without burning API credits?

    Record a small sample of real LLM API calls, then use a service mock to replay the responses. This lets you simulate thousands of concurrent users hitting your application while the mock returns realistic responses at a fraction of the cost.

  • What metrics matter most for LLM performance testing?

    Focus on latency (time-to-first-token and total response time), throughput (requests per second your app can sustain), error rate (timeouts and rate limit hits), and cost per request. Compare these against your provider’s rate limits to find your ceiling.

  • Can you test LLM applications in CI/CD without calling the real API?

    Yes. Tools like Proxymock and Speedscale record production LLM traffic and replay it as a mock. Your CI pipeline runs against the mock, getting realistic responses with deterministic behavior — no API key needed, no variable costs, no flaky tests from provider outages.

API testing ·

How to Test Your React Frontend When the Backend Is Offline

Learn how to test your React frontend without running backend services. Record real API traffic and mock responses for faster development, reliable.

Questions answered in this article (3)
  • How do I route browser API calls to the mock?

    Point the frontend’s API base URL or development-server proxy at the mock listener. In this demo, the app reads VITE_API_PORT=18080; a different React project must implement its own configuration. Setting a proxy variable in an unrelated terminal does not configure browser fetch calls. Inspect the…

  • How do login cookies and CORS affect the setup?

    The browser still enforces origin and cookie rules when the backend is mocked. Match the required CORS origin, credential handling, and cookie domain, path, SameSite, and Secure settings for the local setup. A captured production cookie may not work on localhost. A development proxy can avoid some…

  • What happens when a user creates or updates data?

    The mock can return a recorded write response and later recorded reads, but that does not make it a general stateful backend. Different values or a new interaction order may miss or return a fixture that does not reflect the write. Record the intended journey and reset test state, or keep a real…

Kubernetes and observability ·

How to Validate Edge Cases | A Kubernetes Guide

Optimizing eCommerce sites is a huge endeavor. With these 5 steps, you’ll be able to rapidly identify and resolve your scalability issues: Prioritize.

Kubernetes and observability ·

How We Rebuilt GitLab CI on GKE Spot VMs

How we moved GitLab CI to GKE with shared BuildKit caching, multiple Spot machine types, and an on-demand fallback for scarce capacity.

Questions answered in this article (1)
  • What about CGO cross-compilation?

    Most of our services are pure Go, so building and packaging them for multiple platforms is a non-issue. It’s an extremely simple setup: let Go do the cross-compilation, then use a COPY-only Dockerfile to package it. However, a few projects aren’t that simple and require CGO to link against C…

API testing ·

I Hate Testing!

Hi everyone, I'm Alan, Head of Customer Success here at Speedscale. If you'd told me a few years ago that I'd be working for a company knee-deep in the.

AI development ·

Imaginary Test Data. Real Token Bill.

Testing AI applications with invented traffic looks fine until real users arrive. Then come the retries, the fallback models, and the token bill.

AI development ·

Is Your Main Agent Lying? Leverage Multi-agent Workflows to Improve Response Quality

Learn how to use Claude Code sub-agents to get a 'second opinion' from other LLMs and build more reliable AI applications.

Questions answered in this article (1)
  • What’s a Sub-Agent, Really?

    Think of a sub-agent as a tiny, self-contained AI. They live as .md files in a .claude/agents directory in your project’s root. For more details on how to implement them, check out the official documentation. Each one has its own: Clean Context Window: This is the most important part. When you call…

Performance testing ·

Isolating Bottlenecks: How to Determine If Your Slowdown Is Due to the Database or API

Every slowdown in your application can be traced to specific components like a database or an API.

Questions answered in this article (1)

Performance testing ·

k6 tutorial: captured traffic with mocked backends

Capture API traffic with Speedscale, export a k6 load scenario, and mock backend dependencies in Kubernetes with speedctl or locally with proxymock.

Questions answered in this article (3)
  • What does the k6 export preserve from the recording?

    It turns eligible recorded inbound HTTP requests into a script with their request data. Speedscale transforms are not exported. Review target URLs, credentials, dynamic values, and request ordering, then add your own load schedule and assertions. In k6, checks need thresholds if a failed check…

  • When should dependencies be mocked or left real?

    Mock a dependency to measure the application with controlled responses. Leave an isolated test instance real when its own behavior, state, or capacity is part of the question. Keep captured outbound exchanges for the mocks even though only inbound requests drive k6. Confirm mock hits and…

  • Can I run the same workflow locally and in Kubernetes?

    Yes, but the setup differs. This tutorial captures and exports a snapshot through Speedscale, then uses either cluster responders or a local proxymock listener for dependency responses. The local replay path does not remove those earlier cluster steps. Port-forwarded cluster results validate the…

Kubernetes and observability ·

KubeCon + CloudNativeCon 2025: Recap

A marketing intern's high-energy recap of KubeCon 2025: discover major trends in Cloud Native AI, Platform Engineering, Security.

API mocking ·

Kubernetes Developer Environments Guide

Kubernetes has transformed how developers build, test, and deploy applications, providing a consistent platform for managing containerized workloads.

Questions answered in this article (1)
  • Why Use Speedscale for Preview Environments?

    Speedscale allows developers to replicate real-world traffic in a controlled local environment, enabling thorough testing of new features, bug fixes, and performance improvements. By replaying actual user traffic, Speedscale helps identify potential issues early, providing insights into how…

Performance testing ·

Kubernetes Load Test Tutorial Playbook

Run a Kubernetes load-test tutorial with recorded traffic. Check cluster prerequisites, dependency coverage, and data reset before repeating a replay.

Questions answered in this article (4)
  • Why Load Test Kubernetes?

    Performance testing in a Kubernetes environment is essential for ensuring applications can handle high network traffic, scale effectively, and maintain high performance under stress. Conducting distributed load tests allows teams to simulate real-world scenarios, such as thousands of virtual users…

  • Can I use a local Kubernetes cluster for the tutorial?

    Yes, for learning and checking the capture-to-replay workflow. Select a supported Minikube driver and give the cluster adequate resources. If using Speedscale eBPF capture, verify the Linux guest’s kernel, BTF, host access, and runtime support; the laptop’s operating system does not establish those…

  • Which dependencies must be running during replay?

    The application under test must run, along with any dependency deliberately left real. Recorded mocks can replace supported dependencies whose exchanges were captured. Infrastructure needed for launching and reporting the replay must also be reachable. Review startup queries, authentication, and…

  • How do I reset data before repeating the test?

    Restore disposable live databases, queues, and caches to the same intended starting state, and reset any scenario state in mocks. Use fresh test credentials or configured correlation for generated identifiers. Keep the recording and workload fixed while comparing builds. Cleaning up replay pods…

Performance testing ·

Kubernetes Load Testing Best Practices

Plan Kubernetes load tests with clear workload models, isolated dependencies, and measured generator capacity. Compare tools and read results in context.

Questions answered in this article (4)
  • What is the best Kubernetes load-testing tool?

    Based on the evaluation points of this post, ease of use, CI/CD integration, and documentation quality, Speedscale and k6 emerge as strong choices for Kubernetes load testing. Each tool has its pros and cons. Speedscale prefers an Operator approach to setup which allows for much deeper Kubernetes…

  • Should I load test staging or production?

    Start in an isolated test environment with known data and dependency routing. It lets you find failures without involving customer transactions. Production tests answer different operational questions and need an agreed scope, observable limits, and a way to stop the workload. Results from a…

  • How do virtual users, request rate, and throughput differ?

    Virtual users represent concurrent workers executing scenarios. Request rate describes requests offered or sent per unit of time; observed throughput describes what actually completes. One iteration can contain several requests. In a closed model, slower responses reduce the next iteration’s start…

  • How do I prevent the load generator from becoming the bottleneck?

    Monitor its CPU, throttling, memory, and network alongside planned and actual workload delivery. Give the generator and any mock responder enough headroom, and separate their resource competition from the application where possible. Scale out only after checking test semantics and aggregate load.…

Performance testing ·

Kubernetes Load Testing Comparison: Speedscale vs k6

Compare Speedscale and k6 for Kubernetes load testing. Reuse captured requests, isolate dependencies, and evaluate CI gates with the same workload.

Questions answered in this article (4)
  • How do they Compare?

    Speedscale requires more setup in order to make a test, where k6 can be created without any prior setup. Which tool has the advantage depends heavily on what your use case is. k6 can test your services quickly, but you will inevitably also have to be testing the dependencies of your service, unless…

  • Can I use captured traffic with k6?

    Yes. Speedscale exports eligible inbound HTTP requests as a k6 script. Review the exported request data and target, then add the workload schedule, dynamic-value handling, and assertions you need. Speedscale transforms are not included in that export. Use k6 thresholds when a metric or failed check…

  • Which tool handles dependency simulation?

    Speedscale’s replay workflow can supply recorded responses for supported outbound dependencies. k6 drives requests at the application; pairing it with a separate mock responder lets you isolate those downstream calls. Keep the two roles explicit. Confirm mock matches and configure unmatched…

  • What should a fair trial measure?

    Use the same application build, request mix, data, dependency configuration, and workload model. Check delivered load, error and assertion results, latency percentiles, and generator resource use. Include setup and fixture maintenance in the comparison. An immediate mock versus a real backend, or a…

Kubernetes and observability ·

Kubernetes vs Docker: 7 Key Differences

It’s impossible to learn about containerization without hearing about Docker and Kubernetes. These two tools together dominate the world of containers...

Questions answered in this article (3)
  • How is Kubernetes Different from Docker?

    As mentioned in the introduction, these two tools aren’t meant to be substitutions of each other, as they don’t have the same functionality. Because of this, it’s difficult to compare the two tools as it’s like comparing apples and oranges. They look the same, many will even put them in the same…

  • Which is Better: Kubernetes or Docker?

    As you can see, these two tools serve very different use cases. Rather than trying to figure out which tool to use, it’s more important to figure out when one of these two tools should be used. You’ll often find that you should be implementing both, especially as your company scales. Docker will be…

  • Does Kubernetes use Docker?

    With all this talk about how Docker and Kubernetes work together, you’d imagine that Kubernetes uses Docker under the hood. The truth is that it doesn’t. With Kubernetes, you can choose what runtime you want to use, and at a point, it was indeed possible to use Docker as the container runtime.…

AI development ·

LLM Testing in 2025: Methods and Strategies

Large Language Models, or LLMs, have become a near-ubiquitous technology in recent years.

Questions answered in this article (1)
  • What is LLM Testing?

    Firstly, let’s define what LLM testing even is. LLM testing is the process of taking a Large Language Model and evaluating it through a series of LLM testing tools. The results of these test scenarios - the LLM outputs - are then rigorously reviewed for everything from quality to speed in…

Performance testing ·

Load Test One Endpoint, Watch the Rest

Load test one endpoint while keeping another steady. See how separate schedules and latency goals reveal slowdowns an overall average can hide.

Questions answered in this article (3)
  • Can each endpoint have its own load schedule and latency goal?

    Yes, with compatible load-plan components. Put the selected requests in separate groups, configure each schedule, and scope the latency goal and measurement window to the endpoint you care about. Require a minimum sample count and inspect delivery as well as latency. A configured target is not…

  • How do endpoint load and session replay differ?

    A request-group arrival starts one selected request. A session-group arrival starts a complete recorded journey, which can include login and several endpoints. Session population, concurrent journeys, and starts per second are distinct settings. More workers do not create valid users or accounts;…

  • How do I know whether the app or the test harness is saturated?

    Compare scheduled and actual starts, missed starts, completed requests, and latency while monitoring generator CPU, throttling, networking, and mock capacity. Check application and database metrics too. Repeat with more harness headroom while keeping the workload fixed. Generator saturation can…

API mocking ·

Make Failure Boring with Mocks

Part 3 of Getting Started with Mocks: the same seam, now returning refusals, timeouts and nonsense, so the failure paths finally get tested.

API mocking ·

Mastering Golang Mocks for Efficient Testing and Improved Code Quality

Although GoMock is one of the most popular ways to create mocks in Golang, it’s important to understand the broader landscape of mocking methods in the...

Questions answered in this article (1)
  • Why Do We Need Mocks?

    Mocks are essential in software development, particularly for testing code in isolation without the unpredictability of real external dependencies. By replacing real components with mocks, developers can focus on testing the logic of their code, leading to more efficient, reliable, and maintainable…

Traffic capture and replay ·

Mastering Kubernetes Testing with Traffic Replay

Kubernetes has become the backbone of many modern application deployment pipelines, and for good reason as a container orchestration platform...

Questions answered in this article (2)
  • Why Testing Kubernetes is Uniquely Difficult?

    The problem with testing in Kubernetes is that there’s some fundamental misalignment between the Kubernetes approach and the approach to testing common in CI/CD pipelines. Kubernetes is a dynamic system - pods are created and destroyed constantly, services scale up and down, and configurations…

  • What Traffic Replay Brings to the Table?

    An alternative approach to replicating in synthetic data is to utilize the actual data from your service. A good process for this is Traffic Replay. Traffic replay is the process of capturing traffic, the actual requests and responses from your API server and the constituent parts in the network,…

Performance testing ·

mitmproxy vs. proxymock for API Traffic Replay

A pragmatic comparison of mitmproxy and proxymock for traffic replay. Learn which tool to use for investigative debugging vs developer productivity, how.

Questions answered in this article (3)
  • What is the difference between client replay and dependency mocking?

    Client replay sends saved requests to a running server. Dependency mocking answers the application’s outbound calls with stored responses. mitmproxy supports both client-side and server-side replay; proxymock likewise separates replay from mock. Choose based on which component you want to execute…

  • What configuration does HTTPS recording need?

    An intercepting proxy needs the client to route traffic through it and trust its certificate authority. Configure the relevant client trust store, not just the operating system or a browser used by a different process. Certificate pinning and client certificates need additional evaluation. Use the…

  • How do I choose the right replay workflow for CI?

    Use client replay when the running service is the target, and recorded responses when dependencies should be isolated. mitmproxy’s documented client replay is sequential, so it does not automatically preserve recorded concurrency. For either tool, specify assertions, dependency routing, and failure…

Performance testing ·

Mock PostgreSQL with Recorded Traffic and proxymock

Record real PostgreSQL traffic with proxymock and replay it deterministically. No more local database setup, no more seeded test data.

Questions answered in this article (3)
  • Does a recorded mock behave like a mutable PostgreSQL database?

    No. It returns responses associated with recorded exchanges; it does not run the PostgreSQL storage engine. A recorded INSERT followed by a SELECT can supply examples for that path, but it does not establish arbitrary read-after-write behavior, constraints, transaction isolation, or query planning.…

  • What happens when the application sends a new query?

    A query absent from the recording may not match a useful fixture. Inspect the request, bound values, session setup, and mock diagnostics rather than assuming any SQL will work. Record the new path or configure a deliberate response, then rerun the scenario. A returned fixture is not evidence that…

  • Which tests should still run against real PostgreSQL?

    Run migrations, constraints, transactions, locking, and database performance checks against PostgreSQL itself. Recorded-query replay can send the captured statements to a disposable candidate database to expose errors after a schema or version change. Mocked application tests answer a different…

API mocking ·

Mock the Wire

Part 7 of Getting Started with Mocks: a fake HTTP server finally runs the real client, so paths, headers, and parsing get tested. Java, Node, Go, Python.

API mocking ·

Mock vs stub: differences and testing examples

A stub supplies responses; a mock verifies interactions. Compare both with runnable Python examples and learn when API traffic mocks help.

Questions answered in this article (6)
  • When should you use a stub?

    Use a stub to put the application into a specific condition. A declined card, an empty search result, or a dependency timeout can be difficult to reproduce on demand against a live service. A stub makes the condition repeatable. For the checkout example, set the gateway response to {"status":…

  • When should you use a mock?

    Use a mock when the application must perform a particular interaction. A payment should use the correct amount. An email should go to the intended recipient. A failed operation might need to avoid writing a success record. Assert the arguments or behavior that express that requirement. Avoid…

  • What is the difference between a mock and a stub?

    A stub supplies a controlled response. A mock verifies an expected interaction with a dependency. One test-double library can support both uses.

  • Can a mock return a stubbed response?

    Yes. A mock object can return configured responses and record calls. The assertions determine whether the test checks application output, interactions, or both.

  • Are mocks better than stubs?

    Choose based on the requirement. Use response stubbing to test outcomes under controlled conditions and interaction verification when a dependency call is part of the contract.

  • What is the difference between a unit-test mock and an API mock server?

    A unit-test mock replaces an object inside a process. An API mock server supplies responses across a network boundary and may also verify received requests.

Engineering and company news ·

Modern Development Environments Playbook

A development environment is a crucial setup of tools, configurations, and processes that developers use to build, test, and deploy software.

Performance testing ·

Modernize Test Data Management with Traffic Replay

In software testing or platform engineering, having realistic data is crucial. For years, teams have relied on Test Data Management (TDM) to copy entire...

API mocking ·

MySQL Mocking with Speedscale's proxymock: A Complete Guide

Record real MySQL traffic with proxymock and replay it in tests. Eliminate local database setup and flaky CI runs.

Questions answered in this article (4)
  • What is MySQL and Why Mock It?

    MySQL is one of the world’s most popular open-source relational database management systems (RDBMS). It powers countless applications, from small web apps to enterprise-grade systems. But when it comes to local development and CI/CD testing, running a full MySQL instance can be unnecessary or…

  • What connection and TLS settings are required for recording?

    Point the MySQL client at the listener created by --map, such as 13306 for a backend at localhost:3306. An HTTP proxy environment variable alone does not reroute a normal MySQL connection. Driver and TLS configuration must be compatible with the capture path; inspect a decoded query and response…

  • Can database mocks validate a MySQL version upgrade?

    A mock can check application behavior against its saved responses, but it does not execute queries on the new MySQL version. For upgrade validation, replay the recorded statements against a disposable real candidate database and examine errors and result differences. Keep separate checks for…

  • How do writes and transactions behave against recorded responses?

    The mock can return captured acknowledgements, rows, and errors for matching exchanges. It does not implement an arbitrary MySQL database behind them. A successful mocked COMMIT does not prove durability, constraints, isolation, or the effect of a later query with different data. Use the real…

AI development ·

Observability Never Really Shifted Left

We shifted testing, security, and CI/CD left. Observability stayed in production. With AI writing code faster, validation is the bottleneck.

Kubernetes and observability ·

OpenTelemetry Trace Testing for CI Release Gates

Use OpenTelemetry traces to choose high-risk flows, pair them with captured traffic, and gate CI on reviewed replay results and explicit failure criteria.

Questions answered in this article (4)
  • How to choose the first workflow to validate

    Do not start with a giant “replay everything” initiative. Start narrow. Pick one workflow with all three traits: High user impact (auth, checkout, provisioning) Frequent change velocity Existing incident history Then ship one deterministic replay gate for that path. Once the team trusts it, expand…

  • Can a trace alone become a repeatable test?

    Usually not. An OpenTelemetry trace describes operations, timing, attributes, and context, but does not guarantee complete request bodies or reusable dependency responses. Use it to identify a route or incident window, then obtain matching traffic fixtures separately. Assertions on newly emitted…

  • How does sampling affect what I can validate?

    Sampling decides which traces are retained, so a sampled collection can omit rare failures and portions of the workload. Tail sampling can prioritize known error or latency patterns, but cannot recreate information already absent. Review the sampling policy and add explicit fixtures for critical…

  • What should fail a release gate?

    Define the policy before running: unexpected response changes, protected contract failures, explicit error or latency thresholds, and missing required evidence. Keep the original recording and inspect the verdict, process exit code, and configuration. For proxymock, choose a documented gate…

Traffic capture and replay ·

Oracle JDK to OpenJDK: A Guide to Reliable Migration Testing

Validate Oracle JDK to OpenJDK migrations with traffic replay. Compare API behavior, check TLS connections, and measure repeatable performance results.

Questions answered in this article (3)
  • Which runtime differences should I test?

    Test the exact vendor, JDK version, patch level, and container image you plan to deploy. Check TLS trust and providers, serialization, locale and charset behavior, startup flags, dependencies, and resource use. Separate a vendor switch from a major-version upgrade where possible; a difference…

  • Can I run the comparison locally?

    Yes. Run the same application artifact under each selected JDK and replay one reviewed input set against both. proxymock can start a directly invoked JVM with proxy and truststore properties; custom clients and database connections need their own routing. A mocked TLS dependency does not validate…

  • How do I separate performance noise from a real migration regression?

    Keep hardware limits, traffic mix, dependency configuration, data, and warm-up procedure comparable. Repeat both versions, collect enough samples, and examine CPU, garbage collection, errors, and latency percentiles. Give the generator headroom. Report the observed variation and scope; one faster…

API mocking ·

Orchestrated Service Virtualization: The Definitive Guide

Coordinate virtual services with versioned fixtures, explicit routing, readiness checks, and repeatable resets. Start with one useful dependency.

Questions answered in this article (4)
  • What is Orchestrated Service Virtualization?

    Orchestrated Service Virtualization is a service virtualization solution which allows you to create simulations of interconnected services, APIs, and their constituent parts within a controlled environment. In effect, you are creating a simulation of the build given a certain constraint or target,…

  • When do mocks need coordinated orchestration?

    Coordinate them when one scenario depends on several services starting with compatible fixtures, routes, credentials, and state. The useful unit is the test’s dependency graph, not every service in the organization. Orchestration should establish readiness, capture diagnostics, and clean up owned…

  • How do I keep a multi-service scenario consistent?

    Pin application and fixture versions together and define shared identifiers, dependency routing, and reset rules. If a state transition matters, implement and verify it explicitly rather than assuming separate recorded responses share mutable state. Give concurrent runs distinct data scopes.…

  • What is the smallest useful first deployment?

    Start with one service and one dependency that blocks a valuable test. Record or author the needed success and failure exchanges, configure routing, and verify both a match and a miss. Preserve a clear assertion and repeatable reset. Expand only after the first scenario runs reliably in CI and has…

Traffic capture and replay ·

Part 2: Building a Production-Grade Traffic Capture, Transform and Replay System

Learn how to build a traffic analysis tool for network traffic transformation. Complete guide covering traffic analysis techniques, parsing.

Questions answered in this article (4)
  • Why Transform Network Traffic?

    Traffic analysis reveals that transformation turns noisy, environment-specific network traffic into stable, portable artifacts you can reuse. Make replay deterministic: replace timestamps, UUIDs, and tokens so runs are repeatable. Improve portability: adapt prod-shaped traffic to dev/CI/staging…

  • How do you keep traffic replay from being flaky?

    Find and normalize the dynamic tokens. Detectors catch ISO-8601 timestamps, UUIDs, JWTs, and high-entropy secrets, and transform rules replace them (timestamps to now(), UUIDs to uuid()). The hard cases span multiple requests, like a JWT that gets mutated across an OAuth flow, so the classifier has…

  • How do you safely use production data in tests?

    Redact at transform time with a layered approach: exact regexes, then ML or NLP classifiers, then human overrides. For fidelity, instead of blanking a value you can replace it with one of the same shape, so a redacted customer number still looks like a customer number during replay.

  • Where should transform rules live?

    Outside the data. Transforms are rules about the data, not the data itself, so keep them as small text artifacts (YAML or JSON) in version control near your tests. That makes re-runs comparable, keeps review safe, and lets you promote rule bundles from dev to CI to staging like code.

Traffic capture and replay ·

Part 3: Building a Production-Grade Traffic Capture and Replay System

Learn how to build a traffic replay system that validates services with production data.

Questions answered in this article (4)
  • What is traffic replay?

    Traffic replay takes captured request and response pairs and sends the requests at your service under test to validate a change against real production patterns. It catches the edge cases, timing dependencies, and integration bugs that simple hand-written tests miss.

  • What makes traffic replay hard?

    Three things. State mismatch, because captured traffic references data that only exists in production. Time staleness, because timestamps and tokens expire. And non-determinism, because responses contain generated UUIDs and timestamps, so exact byte comparison fails every time. You solve them with…

  • Should I replay against real dependencies or mocks?

    For most cases, replay inbound requests to your service with a live database but mock the downstream dependencies from captured outbound traffic. That is the sweet spot: you can run repeatedly, validate responses in detail, and never risk corrupting production data. Shadow traffic is fast but risky…

  • How do you know a replay passed?

    Define objective quality gates instead of eyeballing it: status pass rate at or above 99%, JSON-path body match rate at or above 95% with timestamps and UUIDs ignored, p95 latency delta within +10%, and mock match rate at or above 98% with zero unmatched calls. Promotion between phases is automatic…

API testing ·

Peeking Under the Hood of Cursor's API Calls

Cursor is one of the go-to AI-native code editors for developers. Because it’s built on Visual Studio Code, it provides a pretty smooth path between...

Questions answered in this article (4)
  • What does Cursor send to its servers when you prompt it?

    On a prompt, Cursor sends a gRPC request to api2.cursor.sh containing your workspace launch.json, relevant code snippets (the first 4K of each selected file), a bulk upload of your directory structure, and your repository’s git status. On a large monorepo that is a lot of directory walking.

  • Can Cursor leak secrets in my project?

    It can if you put them where it looks. Cursor uploads your launch.json verbatim, so anything sensitive left in it, like an AWS_SESSION_TOKEN or an API key, goes to the server with it. Keep secrets in dotenv or envrc and turn on Privacy Mode in a corporate setting.

  • Which AI models does Cursor use in auto mode?

    Its GetDefaultModelNudgeData endpoint returned a portfolio that included Claude 3.7 Sonnet (thinking and max), Gemini 2.0 Flash, GPT-4o-mini, Claude 3.5 Haiku, and DeepSeek v3 and r1. Auto mode is not a static pick, Cursor nudges you between models server-side based on context and subscription…

  • How can I see what Cursor sends myself?

    Wrap it with proxymock, which records complete API requests and responses and converts binary protobuf and gRPC into readable JSON. That is how we decoded these calls. It is like Wireshark for developers instead of packet spelunkers.

API testing ·

Peeking Under the Hood with Claude Code

Claude is one of the go-to AI-native code editors for developers. It provides a smooth and simple chat-based CLI that is easy to understand.

Questions answered in this article (4)
  • What does Claude Code send to Anthropic when you prompt it?

    Your prompt goes to api.anthropic.com/v1/messages as plain JSON, along with the model version and, through structured tool calls, whatever it reads from your working directory such as directory listings and file contents. It uses REST rather than the gRPC that Cursor uses, which tends to survive…

  • Does Claude Code change my prompt before running it?

    Yes. In our capture it rewrote a short prompt into a longer, more specific set of instructions before executing, and it broke the task into sub-tasks and parallel tool calls on its own. It behaves like a project manager, not just a raw model call.

  • Can Claude Code run commands on my machine?

    It can request to. The remote model issues structured tool calls that can run things on your local desktop, gated by Claude’s permissions and sandboxing. What is in your working directory is effectively context it can read, so think about what lives there.

  • What telemetry does Claude Code collect?

    A lot. Command-level events go to statsig.anthropic.com (Statsig is owned by OpenAI) and detailed logs go to Datadog, tagged by model and user, down to token counts, cost, and flags like is_running_with_bun. Sticky organization, account, and user identifiers tie the events together.

API mocking ·

Platform Engineering vs. DevOps

Many engineering organizations have recently begun adopting the practice of platform engineering as a way to increase the velocity of new features being...

Questions answered in this article (4)
  • What is Platform Engineering?

    Platform engineering is an approach that focuses on building and maintaining a centralized and reusable platform for developers within an organization. This platform offers a methodology to streamline software development and deployment processes. It allows a self-service capability that empowers…

  • How is Platform Engineering Different from DevOps?

    The term Platform Engineering (PE) continues to evolve, but fundamentally, it encompasses the practice of building and maintaining the foundational infrastructure and systems that support business-critical applications. That usually means pursuing excellence in the domains of continuous integration…

  • Which is Better: Platform Engineering or DevOps?

    Choosing between Platform Engineering and DevOps comes down to the organization’s specific needs, goals, and challenges. Both options are strong choices, and in many cases, they are complimentary, not competing. For this reason, it’s better to consider this question in terms of the strengths of…

  • Which Should You Choose?

    If your organization is in the early stages of adopting agile or DevOps principles, starting with DevOps practices is an excellent option as it lays the groundwork for collaboration and automation. For mature organizations facing scalability challenges, platform engineering can complement existing…

Performance testing ·

Postman load testing: a practical API tutorial

Run a Postman performance test, choose virtual users, inspect latency and errors, and isolate dependencies with recorded API mocks.

Questions answered in this article (4)

Traffic capture and replay ·

Production Data Access for Developers: RBAC and DLP

Give developers production-shaped debugging data with RBAC and DLP. Separate permissions from redaction and verify where sensitive fields are removed.

Questions answered in this article (3)
  • How do permission checks and redaction solve different problems?

    Permissions control who can view traffic, run replays, or change platform settings. Redaction changes sensitive values inside the traffic itself. A Developer role can still read an exposed secret if no rule removes it. Combine the documented role boundaries with tested DLP rules, and control…

  • Where should redaction happen in the capture path?

    Apply the rules to the source forwarder before traffic reaches cloud storage. Test request and response fields, nested payloads, and application-specific secrets before enabling production capture. Masking only in a viewer or during replay does not remove copies already stored elsewhere. Recheck…

  • Can developers debug behavior without seeing raw sensitive values?

    Often, yes. Preserve the request structure and replace sensitive fields with suitable test values while keeping identifiers consistent across related requests. Verify that the sanitized scenario still reproduces the behavior. A defect that depends on a particular value may need a specially prepared…

Kubernetes and observability ·

Python Observability : A Complete Guide

Observability is a critical element of modern software development, unlocking awareness across complex and distributed systems with ease.

Questions answered in this article (2)
  • What is Python Observability?

    Python observability refers to the ability of a developer or provider to monitor and understand the flow and state of data within a Python application. This is often done through the analysis of traffic and data such as logs, metrics, traces, attributes of data, telemetry, and other states. Whereas…

  • Why Observability is Critical for Python Applications?

    Python code is used in an incredibly diverse set of use cases and industries - it’s likely that, even if you didn’t know it, you interacted with Python at some point today. Accordingly, this ubiquity across simple to complex use cases shows that Python is powerful but diverse - and it is this…

Engineering and company news ·

Reducing Engineering Cost using Contract Developers

Outsourced engineering teams are gaining in popularity and many investors have started to treat them as a requirement.

Questions answered in this article (4)
  • What Does a Seed-Stage CTO/VP of Eng do?

    Before I go further, I want to make sure we want the same things. Prior to product-market-fit (PMF), I believe my job as CTO or VP of Engineering at Speedscale to be limited to the following goals: Minimize time between product experimentation and customer feedback. Drop the cost of producing each…

  • Is Code Actually Your Core Intellectual Property?

    It’s never been cheaper and easier to bring a SaaS business app to market and you may not want to pay full-price local engineers for some kinds of work. “Web forms on top of databases” is a well worn path and that type of engineering will be most impacted by these kinds of trends. That doesn’t mean…

  • How to Pick the Best Partner?

    You’ll notice that I use the word “partner” instead of “vendor” and this is intentional. A good outsourcing partner can give you access to top shelf talent in a part of the world you could never reasonably access yourself and at a reasonable cost. The best partner can really accelerate your ability…

  • How do I know if it’s working out?

    For project-based work it’s important to remember that you can give up the management of the people but never give up your management of the project. Here are a few tips to keep things on track: Secure Senior Technical Review - Maybe you have a hotshot CTO that can do regular code reviews. Maybe…

Performance testing ·

Regression Test Performance Best Practices

Set performance regression baselines from repeatable workloads. Measure variation, preserve correctness checks, and compare delivered load and latency.

Questions answered in this article (6)
  • What is software “performance”?

    Software performance refers to how effectively a software application responds to specific demands. Performance encompasses several key aspects, including load time, responsiveness, and the efficiency with which it processes data. Performance metrics are vital for gauging an application’s health…

  • What is software “regression”?

    Software regression occurs when new changes introduce errors in existing parts of a software application. Regressions are typically seen more once software products become increasingly more complex.

  • What causes software regression?

    Software regressions come from errors while programming around existing code. This could be a bug fix that resolves the original issue but introduces another issue. Regressions could also result from poor configuration file changes which cause unexpected behavior down the line. Even if these…

  • How should I choose the baseline for a regression test?

    Use an accepted build with a reviewed fixture, workload, and dependency configuration. Run it repeatedly in a comparable environment and preserve the configuration and results. Keep request mix, data state, warm-up, and resource limits controlled. When a requirement changes intentionally, review…

  • How much variation is noise?

    There is no universal percentage. Measure run-to-run variation for the same build and workload, with enough samples and generator headroom. Examine endpoint percentiles, errors, delivered load, and resource metrics instead of one overall average. Set tolerances from the service’s requirements and…

  • Can a passing functional test still be a performance regression?

    Yes. The application can return the expected content while taking longer, consuming more resources, or completing less work under the same offered load. Keep correctness assertions and separate performance goals. A test should also establish that it delivered the intended workload; a low-latency…

AI development ·

Reliability Engineering in the AI Era

See why reliability engineering must span code, testing, telemetry, and incidents as AI agents erase the boundary between pre-production and production.

Traffic capture and replay ·

Replace API Synthetics with Traffic Replay

UI synthetics only tell you something is broken. Traffic replay per microservice isolates failures before any human walks up. Zero scripts required.

Traffic capture and replay ·

Replay Recorded API Sessions as Datadog Synthetics Tests

Export a recorded API session to Datadog Synthetics with proxymock. Review step limits, variable chaining, credentials, and assertions before publishing.

Questions answered in this article (3)
  • Does the exporter create an API test or a browser journey?

    It creates Datadog Synthetics API tests from eligible recorded HTTP exchanges. Multistep mode orders the requests into one API scenario; it does not reproduce DOM interactions, JavaScript execution, browser cookies in a real browser, or the customer’s original concurrency. Use browser tests…

  • What happens when a session exceeds the step limit?

    The documented exporter caps a multistep bundle at ten steps and warns when additional eligible requests are dropped. Datadog describes ten as its default limit, which support can increase; that does not change the exporter’s limit. Narrow the scenario or use --bundle single --limit -1 for…

  • How are sensitive headers and chained values handled?

    Selected sensitive headers become variable placeholders, and multistep export can extract matching JSON response strings for later requests. Review the generated files: the variables sidecar can contain captured credential values, and header replacement does not sanitize every body field.…

Performance testing ·

REST API Testing: Practices, Assertions, and Tools

Test REST APIs with useful assertions, contract checks, controlled data, and test identities. Build a smoke test that fails for the right reason.

Questions answered in this article (4)
  • What is API Testing and Why is it Important?

    API testing is a critical part of the software development process. It ensures that Application Programming Interfaces, or APIs, function as intended and designed. Testing these APIs requires some best practices and tools, especially when considering specific forms and functions, such as RESTful…

  • Which assertions should a REST API smoke test include?

    Check the expected status, content type, required response fields, and a small number of business outcomes for critical paths. Include a deliberate invalid or unauthorized request and verify its expected rejection. Set a latency budget only with enough samples to interpret it. Confirm the runner…

  • How do contract checks differ from behavior checks?

    Schema checks examine structure and declared types. Integration contract tests verify the messages consumers and providers expect to exchange; provider verification is part of that agreement. Behavior tests also examine outcomes such as persisting an order or refusing another user’s data. A…

  • How do I test authentication without embedding production credentials?

    Use dedicated test identities with limited permissions and supply credentials through the runner’s secret mechanism. Exercise expired, missing, and insufficiently privileged credentials as separate cases. Keep tokens out of committed fixtures, exported collections, and logs. If traffic was recorded…

Performance testing ·

Revolutionize Platform Engineering with Traffic Replay

Platform engineers focus on developing an internal developer platform to increase velocity during the software development process.

Questions answered in this article (1)
  • Which Performance Metrics to Monitor?

    Once you’ve implemented the tooling for traffic replication, you need to identify which performance metrics you’ll actually monitor. Most cloud platforms and APIs can use the following as a starting point: Request duration: The average time taken for each request to be served. Network latency: The…

API testing ·

ROI of Digital Twin Testing: Cut Testing Costs by 50%

Non-production environments cost 20-40% of cloud bills. Digital twin testing delivers 9x ROI through infrastructure, incident, and efficiency savings.

Questions answered in this article (1)
  • What is a Digital Twin for Software Testing?

    Before we dive into ROI calculations, let’s clarify what we mean by “digital twin” in the context of testing. A digital twin for testing is a lightweight replica of your production system that uses real traffic patterns instead of synthetic test data. Unlike traditional staging environments that…

AI development ·

Run Local LLMs on Mac to Cut Claude Costs

A practical hybrid workflow that uses costly LLM APIs for planning and local models (via Ollama + OpenCode) for execution, guarded by deterministic evals.

AI development ·

Runtime Validation vs Static Analysis: Why You Need Both

Static analysis catches code smells. Runtime validation catches behavioral failures. Enterprise teams adopting AI coding tools need both to ship safely.

Questions answered in this article (6)
  • What Does Static Analysis Actually Catch?

    Static analysis tools like SonarQube, ESLint, Checkstyle, and Qodo scan source code without executing it. They identify problems by examining the code’s structure, syntax, and known vulnerability patterns. What static analysis is good at: Code smells and style violations. Unused variables, overly…

  • What Does Runtime Validation Catch That Static Analysis Misses?

    Runtime validation tests code against actual production traffic patterns. Instead of analyzing code in isolation, it replays real API calls, database queries, and service-to-service interactions against the changed code and compares the behavior to a known baseline. Runtime validation catches…

  • Is runtime validation the same as integration testing?

    No. Integration tests use synthetic data in pre-configured environments. Runtime validation replays actual production traffic. The difference is coverage: production traffic contains edge cases, timing patterns, and data shapes that synthetic tests never include. Integration tests verify what you…

  • Does runtime validation slow down CI/CD pipelines?

    It adds minutes, not hours. A typical replay of captured traffic for a single service takes 2-5 minutes depending on traffic volume. Compare that to the hours or days spent debugging a production incident caused by a behavioral regression that static analysis and unit tests missed.

  • Can static analysis tools evolve to catch behavioral failures?

    Some static tools are adding AI-powered analysis that attempts to reason about runtime behavior. These are useful incremental improvements but fundamentally limited: you cannot determine how code behaves with real data without actually running it with real data. This is the halting problem in…

  • What if we don’t have production traffic to replay?

    You can start by capturing traffic from any environment where real or realistic requests are flowing — staging, QA, or even local development with proxymock. Production traffic provides the highest fidelity, but any real traffic is better than synthetic test data for catching behavioral regressions.

Performance testing ·

Seasonal Holiday Readiness Testing with Production Traffic

Many businesses depend on seasonal products, offerings, and campaigns. Seasonal traffic usually refers to high traffic levels because of festival seasons.

Questions answered in this article (1)
  • What Is Seasonal Traffic?

    E-commerce is one of the most prominent examples of industries that experience seasonal traffic spikes during events. To give you an idea of the scale, Amazon’s Prime Day in 2023 generated 15.35 trillion requests on EBS. While only a few companies in the world get to that scale, many companies…

API mocking ·

Service Mocking with Internal Developer Platforms

With the growing prevalence of cloud-native environments, platform teams' infrastructures are increasingly dependent on various integrated APIs.

Questions answered in this article (1)
  • How Does Service Mocking Enhance an Internal Developer Platform?

    Service mocking as part of your reference architectures can ensure your services are efficiently integrated for all possible interactions, thus improving software quality and easing infrastructure management. It’s especially useful in unit testing, where you test individual components or functions,…

Performance testing ·

Shift Left on Performance Testing – Without Killing Developer Velocity

Traditional performance testing often comes late in the delivery cycle, typically just before release.

Questions answered in this article (5)
  • What Is Shift Left Testing?

    Shift Left testing is a proactive approach to software testing where testing activities, such as deploying functional tests, API tests, unit testing, and even performance testing, are moved to the early stages of the software development lifecycle. Instead of waiting until the final testing phase,…

  • What Makes Something “Shift Left”?

    Key characteristics of Shift Left testing include: Early Bug Detection: Catching defects when they’re cheaper and faster to fix. Continuous Feedback: Integrating test results into every step of the development cycle. Comprehensive Testing: Running unit tests, integration tests, and contract testing…

  • Why Shift Left Performance Testing Matters?

    Despite all this, the benefits of shift left are obvious and quite alluring. Early Bug Detection: Detect performance bottlenecks, latency issues, or resource contention before production, reducing costly rework. Defining clear performance requirements early in the process helps guide testing…

  • What About Shift Right?

    While Shift Left emphasizes early validation, many readers are likely wondering about Shift Right testing. Shift Right testing focuses on validating in production environments or real-world scenarios. Cloud performance testing plays a crucial role here, as it evaluates application performance…

  • What Makes Something “Shift Right”?

    Key aspects of Shift Right testing include: User Feedback and Monitoring: Gathering insights from real users to detect performance issues, usability concerns, or unexpected behaviors. Continuous Monitoring: Tracking network traffic, application access, security posture, and resource usage in live…

AI development ·

Silent Failures: Why AI Code Breaks in Production

AI-generated code compiles clean but breaks in production. Learn why static analysis misses behavioral failures and how runtime validation catches them.

Questions answered in this article (2)
  • Does runtime validation replace unit tests?

    No. Unit tests verify individual functions work as designed. Runtime validation verifies that the entire service behaves correctly with real production data. They test different things and catch different bugs.

  • Can runtime validation work with microservices?

    Yes. Speedscale captures traffic at the service boundary, so each microservice can be validated independently against its actual production traffic. This is especially valuable for teams running 50-200+ services where maintaining test environments is expensive.

Performance testing ·

Simulating Database Performance Under Load with Speedscale

Big data storage tools like BigQuery, Hadoop, and Cassandra are used to manage large volumes of structured and unstructured data generated by modern...

Questions answered in this article (1)
  • Why Simulate Big Data Database Tools for Performance Testing?

    Tools like BigQuery are fundamental in database management because they provide the infrastructure needed to handle large volumes of structured and unstructured data. These tools enable distributed storage and parallel processing, thus allowing you to manage petabytes of data across multiple…

Engineering and company news ·

Six Lessons from Production gRPC

In the half-decade since gRPC became part of our production ecosystem, we’ve encountered a range of challenges and discovered a few hidden pitfalls that.

Questions answered in this article (4)
  • What are the main challenges of running gRPC in production?

    HTTP/2 quirks (TLS end-to-end, inconsistent H2C upgrades, status codes buried in trailers, spotty firewall support), binary protobuf payloads that aren’t human-readable, protobuf-to-JSON dropping default values, and connection management where streams can hang. Most of it comes down to needing…

  • Why is gRPC hard to debug?

    The payloads are binary protobuf, so you can’t read them in a browser or text editor without the .proto files and a decoder. HTTP/2 carries gRPC status codes in trailers that many tools hide, and the transport layer is abstracted, so you often can’t tell whether a message is truly in flight or just…

  • Why do fields go missing when converting protobuf to JSON?

    Protocol Buffers omit default values in JSON output. If an enum or field is set to its default (like 0), the serialized JSON just drops that key. It’s efficient but confusing, especially without the .proto on hand, so document how defaults behave or generate JSON that includes them.

  • What does a successful gRPC SendMsg actually mean?

    That the message was queued successfully, not that it was sent. The real send happens asynchronously through gRPC’s internal scheduling and channel logic, so a success from SendMsg doesn’t guarantee delivery. Use debug logs or OpenTelemetry gRPC tracing to see what’s actually in flight.

AI development ·

Speedscale Launches proxymock OpenClaw Skill on ClawHub

Speedscale launches proxymock as an OpenClaw skill on ClawHub, bringing traffic replay and production context to Claude for improved reliability.

Questions answered in this article (1)
  • What is the proxymock OpenClaw Skill?

    The proxymock skill integrates our traffic replay tool with Claude, enabling developers to record, inspect, mock, replay, and generate API traffic without leaving their AI-assisted development environment. By observing production traffic in minute detail, proxymock adds critical context for AI…

Performance testing ·

Speedscale vs. HyperTest: API Testing Comparison

Compare Speedscale and HyperTest capture setup, dependency mocking, and CI workflows, with practical questions to test during an evaluation.

Questions answered in this article (3)
  • What must be installed to capture traffic?

    Speedscale offers an operator and collector path for supported Kubernetes workloads, plus proxymock for local proxy-based recording. HyperTest’s documented architecture uses an SDK to instrument application libraries, a CLI to run isolated tests, and a server for its dashboard and stored results.…

  • Can I test a service without its live dependencies?

    Both products document replay with dependency mocks. HyperTest’s SDK supplies recorded outbound responses during replay; proxymock answers supported outbound exchanges from a recording. Verify startup dependencies and unmatched calls too. A recording of one successful request does not establish…

  • What should I compare in a trial?

    Use the same service, requests, and deliberate regression in both trials. Check capture completeness, request matching, dynamic credentials, and whether the changed response produces a failing result. Then test the workflow in CI and inspect its reports. This evaluates the complete testing path…

AI development ·

Speedscale vs. JMeter for Kubernetes Load Testing

Compare Speedscale and JMeter for Kubernetes load testing. Check test setup, retained plans, dependency mocks, CI gates, and performance evidence.

Questions answered in this article (4)
  • What are the Best Tools for Kubernetes Load Testing?

    If you’ve set up your infrastructure and want to add load tests, choosing a load testing framework can be tricky. Both Speedscale and JMeter are great options, but Speedscale is one of the best tools for Kubernetes load testing, as it was specifically built for this purpose. Speedscale is a more…

  • Can JMeter and Speedscale run in the same test strategy?

    Yes. JMeter can retain explicitly authored scenarios while Speedscale adds recorded-traffic regression and dependency simulation. Decide which runner drives inbound load in each test to avoid accidentally doubling it. Compare assertions and reports for the same service, and keep useful tests until…

  • Which setup work is required for each workflow?

    JMeter needs a compatible Java runtime, test plans, plugins and data, plus enough runner capacity. Distributed mode adds remote engines and networking requirements. Speedscale’s cluster workflow needs the operator, supported capture components, and replay configuration; local proxymock uses client…

  • How should I compare response correctness and load results?

    Compare assertions on status and meaningful content as well as error rate, delivered workload, and latency. Make the CI gate evaluate those results explicitly; a completed CLI run can still contain failed samples. Keep data, dependency behavior, warm-up, and generator headroom comparable. Report…

API mocking ·

Speedscale vs. Keploy: A Technical Comparison

Speedscale vs. Keploy: compare passive capture, protocol coverage, local replay, load testing, and data controls for production traffic testing.

Questions answered in this article (3)
  • Can I start locally without Kubernetes?

    Yes. proxymock records and replays supported traffic on a developer machine without a cluster. Keploy also documents native local installation, including Apple Silicon macOS and x86-64 Windows. Local support still depends on the runtime, protocol, and execution mode; check those details rather than…

  • How do the tools differ in dependency mocking and protocol coverage?

    Both can replace recorded dependencies, but coverage varies by platform and edition. For example, Keploy documents raw-byte capture with replay limitations for Postgres on native macOS and Windows, while proxymock documents a mapped-port PostgreSQL workflow. Evaluate the exact driver, TLS settings,…

  • Which capabilities require a paid plan?

    Check the current plan and license terms for your intended use. proxymock has free-use eligibility conditions rather than a blanket free license for every organization. Keploy lists a free Playground, paid Pro capabilities including load testing, and Enterprise production capture and private…

API mocking ·

Speedscale vs. LocalStack for Realistic Mocks

API mocking plays a crucial role in modern software development allowing developers to simulate external API endpoints.

Questions answered in this article (4)
  • What are Speedscale and LocalStack?

    Let’s dive into what these two API mocking tools are and how they mock cloud services.

  • How is recording a dependency different from emulating AWS?

    A recorded mock answers selected requests using captured exchanges. LocalStack implements supported AWS APIs in an emulated environment, so an application can create and interact with resources there. Use recording to control the dependency responses your application sees; use emulation when the…

  • What does a recorded mock fail to reproduce?

    It does not automatically implement the provider’s storage engine, IAM evaluation, quota accounting, or asynchronous delivery rules. A saved success response can test how the caller handles that response, but it cannot prove that a real write persisted or that the caller has permission to make it.…

  • When should I keep a real or emulated cloud service in the test?

    Keep it when resource lifecycle, infrastructure configuration, or interactions between cloud services are the behavior under test. LocalStack documents local and CI workflows for those scenarios; verify coverage for the services and APIs you use. Use disposable real AWS resources when the remaining…

Performance testing ·

Speedscale vs. SmartBear ReadyAPI for API Testing

Compare Speedscale and ReadyAPI workflows for recorded traffic, authored assertions, dependency virtualization, and CI testing.

Questions answered in this article (3)
  • Can I reuse existing API tests?

    Keep useful ReadyAPI projects in their existing runner while evaluating a recorded-traffic workflow alongside them. Existing tests can exercise the application while traffic is recorded. Speedscale also documents Postman collection v2.1 import, but that should not be treated as an automatic…

  • How do recorded tests differ from explicitly authored assertions?

    A recording supplies observed inputs and responses; it still needs a reviewed baseline and meaningful pass criteria. Authored assertions express an expected rule, including behavior that has not yet been observed. Combine the two: use captured traffic to drive realistic cases and assertions to…

  • When is service virtualization important?

    Use it when an unavailable, costly, or unstable dependency prevents a repeatable test. ReadyAPI supports creating and running virtual APIs, with VirtRunner and VirtServer options for automation and remote execution. Speedscale uses recorded dependency exchanges as mocks. Choose which dependencies…

API testing ·

Spring Boot API Testing: A Practical Guide for Enterprise Teams

Enterprise Spring Boot APIs need more than unit tests. Learn how to test external service integrations, JWT auth, production edge cases with real traffic.

Questions answered in this article (4)
  • Does traffic replay replace WireMock for Spring Boot testing?

    No. WireMock is still useful for deterministic integration tests where you need precise control over responses. Traffic replay complements WireMock by providing realistic test data derived from actual API responses. Many teams use WireMock for contract tests and traffic replay for regression tests.…

  • What Java version does this work with?

    The demo app runs on Java 17 with Spring Boot 3.1. proxymock and Speedscale work with any Java version and any Spring Boot version because they operate at the network level, not the JVM level. Your application’s HTTP traffic is captured and replayed regardless of the Java runtime.

  • How do you handle API keys and secrets in recorded traffic?

    proxymock and Speedscale support redaction rules that strip sensitive data from recordings. API keys, passwords, and PII can be masked or replaced with tokens before the recording is stored. For the demo app, the HMAC secret is configured in application.properties and JWT tokens are regenerated…

  • Can AI coding agents use captured traffic while generating code?

    Yes. Speedscale’s MCP integration exposes captured traffic to AI agents like Cursor and Claude Code. The AI can see real request/response pairs from production while generating handler code, closing the context gap that causes most AI-generated code failures.

API testing ·

Stop Guessing with OAuth: Understanding CI/CD

OAuth 2.0 is the leading open authorization framework that enables secure delegated access to protected resources.

Questions answered in this article (1)
  • Why Synthetic Tests Miss Critical Bottlenecks?

    It might be tempting to just throw as much synthetic data at the problem as possible and validate that your OAuth flows work. Unfortunately, synthetic testing is often quite problematic. Simple synthetic tests generate uniform HTTP requests, but they lack the dynamics of real OAuth clients and…

Kubernetes and observability ·

Stop Using TCP Health Checks for Kubernetes Applications

As developers, one of the most important things we can consider when designing and building applications is the ability to know if our application is.

Questions answered in this article (2)
  • What Are Container Probes?

    Container probes are diagnostic checks that run periodically against containers within a pod. The outcome of these checks allows Kubernetes to control aspects of a pod’s lifecycle, with kubernetes liveness probes being crucial for maintaining application health. In other words, they can help…

  • How Should I Configure Container Probes?

    Container probes, including liveness probe configuration, are defined as a part of your application’s pod spec with several options available, most importantly being the mechanism by which they are executed. Kubernetes provides four mechanisms that can be used: exec: probes of this type will…

Kubernetes and observability ·

Team-Based DLP: Give Each Group Its Own Redaction Rules

One forwarder, many teams, one DLP rule nobody wants to touch. Scoped group rules let each team own its redaction. How-to for proxymock web and Speedscale.

Questions answered in this article (2)
  • How to set it up in proxymock web

    proxymock web is the place to write a rule next to the traffic it has to redact. Rules are workspace files at proxymock/dlprules/<id>.json, so they can be reviewed in a pull request like any other change. 1. Create the rule. Open DLP Rules under Config and click + New. The template is already a…

  • How to set it up in the Speedscale dashboard

    Teams that manage rules in Speedscale Cloud get the same model in the dashboard. Open DLP Rules, create or pick a rule, and open the Scope tab. Choose Group rule, fill in Owner, and name the workloads. The summary line above the tabs states in one sentence what the rule is and what it covers. The…

API mocking ·

Test and Mock GraphQL APIs Without Trusting the 200

Generate GraphQL tests and mocks from a schema with proxymock, catch failures hidden inside HTTP 200 responses, and flag schema changes before clients break.

Questions answered in this article (3)
  • Why can HTTP 200 still be a failed GraphQL request?

    A GraphQL response can contain an errors array and partial or null data even when HTTP reports success. Assert on the expected data and error behavior as well as the status. Response comparison can expose an unexpected error payload, provided those fields are included in the comparison and the…

  • Are GraphQL subscriptions supported by this walkthrough?

    No. The schema-generation workflow covers queries and mutations and lists subscription fields as skipped. GraphQL subscriptions can use long-lived transports such as WebSockets or server-sent events, which need their own lifecycle tests. This article’s GraphQL schema features also require a build…

  • How do schema validation and response-regression checks differ?

    Schema validation asks whether selected response fields conform to the GraphQL contract. Regression comparison asks whether their values changed from a reviewed recording. A response can satisfy its schema while containing the wrong price, user, or permission decision. Use both checks, and review…

API mocking ·

Test Behavior, Not Choreography

Part 5 of Getting Started with Mocks: a test that pinned the retry schedule broke on a change no customer could notice. Here is how to rewrite it.

Performance testing ·

Test Your MySQL 8.4 Upgrade With Real App Queries

Replay your app's recorded MySQL statements against 8.4 to catch upgrade regressions, then load test the database with the same workload using proxymock.

AI development ·

Testing AI Code in CI/CD Made Simple for Developers

Generative AI can produce code faster than humans, and developers feel more productive with it integrated into their IDEs.

Questions answered in this article (1)
  • How to Integrate AI Code Testing into Your CI/CD Pipeline

    CI/CD is built around four stages: source (commit) stage, build stage, testing stage, and deploy stage. Since AI-generated code can introduce security vulnerabilities and quality issues, it’s important to incorporate AI-specific tests across each stage of the CI/CD pipeline. Source stage: The first…

API testing ·

Testing Golang with httptest Best Practices

Test Go handlers and clients with httptest. Choose recorders, local HTTP servers, and TLS test clients, and define database boundaries explicitly.

Questions answered in this article (3)
  • When should I use ResponseRecorder versus NewServer?

    Use ResponseRecorder to call a handler directly and inspect its status, headers, and body without opening a listener. Use NewServer when the test needs an actual client/server HTTP exchange, including transport or routing through the handler you register. Both execute the handler’s configured…

  • When is NewTLSServer appropriate?

    Use NewTLSServer for a controlled HTTPS client path and inject the server’s Client, which trusts its test certificate. Keep production trust settings intact. This does not validate production certificate renewal, mutual TLS, or proxy configuration. If HTTP/2 is the subject, configure…

  • How do I isolate database calls behind an HTTP handler?

    Inject a narrow repository interface and supply a fake or generated mock for handler-level decisions. Exercise success, not-found, and database-error responses while checking the expected repository interaction. Run separate integration tests against a disposable database for SQL, constraints,…

Traffic capture and replay ·

Testing Kubernetes Ingress with Production Traffic

Kubernetes is an incredibly powerful solution, but testing the Kubernetes Ingress resources themselves can prove to be quite tricky.

Questions answered in this article (2)
  • Why Ingress Testing Fails - Misalignment and Data?

    These faults can happen for a large variety of reasons, ranging from simple ingress rules mismatches to more complex issues with load balancers or web servers. With ingress specifically, the problem often has to do with a fundamental misalignment between the data being used in testing and the…

  • Is Traffic Replay the Optimal Approach?

    In this post, you’ve seen just a simple example of how traffic replay can help you test your Ingress resources, but this is only the tip of the iceberg.

Performance testing ·

TestInspector vs Speedscale: Backend Testing Compared

Compare TestInspector vs Speedscale for API regression, dependency mocking, and load testing. Check documented differences and try a local replay today.

Questions answered in this article (6)
  • Does Speedscale require Kubernetes?

    No. Speedscale’s proxymock CLI supports local recording, dependency mocking, and replay without Kubernetes. Docker and Docker Compose workflows are also documented. Cluster orchestration has separate setup requirements.

  • Can TestInspector test APIs without a UI?

    Yes. TestInspector’s HTTP request steps can check a response status or body without driving a UI interaction. Those steps issue their own requests; a successful check does not establish what the browser sent during an earlier interaction.

  • Does Speedscale need production traffic before you can start testing?

    No. proxymock can generate mocks and inbound test definitions from an OpenAPI specification. Use inbound generation for replayable tests. Review generated values and expected outcomes; schema-based examples and captured traffic provide different kinds of coverage.

  • Which tool is better for API load testing?

    Speedscale is the stronger fit for replaying API traffic under load. Its CLI supports virtual users and duration controls. Astaqc directs TestInspector users to dedicated tools for concurrent-user and throughput testing. High-throughput proxymock load mode skips response matching, so validate…

  • Does Speedscale work with AI coding assistants?

    Yes. Speedscale has a dashboard AI assistant, and proxymock exposes recording, mocking, and replay tools through Model Context Protocol. This lets supported coding assistants work with captured traffic. Review the assistant’s output against replay results.

  • Can you use TestInspector and Speedscale together?

    Yes. Use TestInspector for browser journeys and Speedscale for API replay, dependency simulation, and load testing. Both can contribute to a release check, with each test covering its own failure modes. Decide which results should block a release and retain the evidence from each tool.

Kubernetes and observability ·

The 4 Golden Signals of Monitoring Explained

Learn the 4 golden signals — latency, traffic, errors, and saturation — and how to use them for monitoring, alerting, and pre-release testing.

Questions answered in this article (8)
  • What are the Golden Signals?

    There are many different variables that can be tracked to understand system performance and system health. Fortunately, right now, there are a couple of common frameworks we can borrow from: Google SRE Handbook on Monitoring Distributed Systems with the Four Golden Signals: latency, traffic,…

  • Why Golden Signals Matter?

    The Golden Signals are an incredibly powerful set of metrics that unlock a variety of insights into system health and potential tool integrations. The Golden Signals concept is based around providing as much information as possible around system stability, user demand, resource allocation, and…

  • What Should You Do with the Golden Signals?

    The Golden Signals provide some incredible benefits and use cases. Let’s take a look at a few of them.

  • How to Detect Anomalies in Your System

    Detecting anomalies in your system leverages the Golden Signals as a foundational metric, testing actual system performance against a preferred baseline. There are quite a few techniques that can be deployed to make this process more effective.

  • What are the 4 golden signals of monitoring?

    The 4 golden signals are latency (how long requests take), traffic (how much demand your system handles), errors (the rate of failed requests), and saturation (how full your system’s resources are). They were defined by Google’s SRE team as the minimum metrics needed to understand system health.

  • What is the difference between golden signals and the USE method?

    Golden signals (latency, traffic, errors, saturation) focus on user-facing service health. The USE method (utilization, saturation, errors) focuses on infrastructure resource health. Golden signals tell you “is the user experience good?” while USE tells you “are the servers healthy?” Most teams use…

  • How do you use golden signals for testing, not just monitoring?

    Capture production traffic and replay it against a pre-release build. Measure the golden signals during replay and compare them to your production baselines. If latency spikes, throughput drops, or error rates increase, you’ve caught a regression before it reaches users. Tools like Speedscale…

  • Which tools are best for monitoring golden signals?

    Prometheus and Grafana are the most common open-source stack. Datadog, New Relic, and Dynatrace are popular commercial options. For pre-release golden signal validation, Speedscale measures all four signals during traffic replay and compares them against production baselines automatically.

Performance testing ·

The 6 Best Performance Testing Tools Guide

Compare the top 6 performance testing tools, Speedscale, JMeter, Locust, Gatling, NeoLoad, k6, across features, pricing, integrations, reliability.

Performance testing ·

The API tests passed. The database didn't.

Compare recorded SQL between releases with proxymock. Find query-count drift, new statements, captured DDL, and timing changes that HTTP tests can miss.

Questions answered in this article (2)
  • What changes can SQL comparison catch when HTTP responses match?

    It can reveal new or removed statement shapes, execution-count drift, captured DDL, and timing changes in recorded SQL traffic. That can expose an N+1 candidate even when JSON responses remain unchanged. Query-text inference and captured timings are evidence to investigate; they are not a complete…

  • How do I control test data between the two recordings?

    Start both versions from comparable disposable database state, run the same input mix, and control startup migrations, caches, and background work. Capture the database connection in both runs. Rates normalized per 1,000 SQL queries help compare volume, but cannot compensate for different endpoint…

AI development ·

The Best Model Is a Routing Decision

The best model isn't the smartest — it's whichever should get the next unit of work. Notes from NVIDIA on routing, local models, and the AI factory.

Kubernetes and observability ·

The Compounding Platform Tax

Security controls rarely break a banking platform alone. Their cumulative divergence from Kubernetes standards creates a compounding maintenance tax.

AI development ·

The Developer’s Guide to Debugging AI-Generated Code

Master debugging AI-generated code by spotting flawed logic, removing deprecated APIs, and catching hallucinated functions before they ship.

Questions answered in this article (5)
  • How to Give Better Prompts for Cleaner Code

    The quality of AI-generated code is directly correlated with the quality of the prompts you provide. By improving your prompting technique, you can significantly reduce debugging overhead and achieve more reliable code from the outset. Be Specific About Context: Instead of asking “write a function…

  • Why does AI code often include non-existent functions?

    AI models predict what code should look like based on training patterns, but they can’t actually check if functions exist in real libraries. They’ll confidently create pandas.DataFrame.merge_smart() or combine elements from different libraries into something that sounds right but doesn’t work. It’s…

  • Can I trust AI to write production-level code?

    AI-generated code can be a solid starting point, but don’t ship it blindly. Treat it like code from a junior developer—useful, but needs review and testing. With proper debugging workflows and tools like proxymock for real traffic validation, AI-generated code can definitely work in production.…

  • What’s the best way to verify AI-generated logic?

    Layer your validation: write unit tests for edge cases, use traffic replay tools to test with real data patterns, do manual code reviews for business logic, and run static analysis tools. AI code breaks in creative ways, so you need multiple approaches to catch everything.

  • How can I avoid AI coding hallucinations?

    You can’t eliminate them completely, but better prompting helps a lot. Be specific about libraries and versions, paste in documentation when needed, and always validate against official docs. Using tools like proxymock to test against real production scenarios will quickly show you when the AI made…

Engineering and company news ·

The DevEx Advantage: Understanding and Improving Developer Experience

Developer Experience (DevEx) is a general term that encompasses all of the interactions a developer has with their work environment.

Questions answered in this article (1)
  • What Makes a Good Developer Experience?

    This, of course, raises the question: what makes a Developer Experience good? While there are as many development preferences as there are developers in the world, some general categories should be focused on to deliver an exceptional developer experience.

API testing ·

The Hidden Cost of API Security Misconfigurations - And How to Catch Them Early

Security misconfiguration remains one of the most persistent and preventable causes of API vulnerabilities today.

Questions answered in this article (1)
  • How to Prevent Security Misconfigurations

    Preventing security misconfigurations takes more than good intentions. It requires proactive effort, automation, and embedded security awareness. Regular api security testing is essential to identify vulnerabilities in APIs and ensure that security controls like authentication and rate limiting are…

Kubernetes and observability ·

The Kubeshark Workflow That Doesn't Stop at the Dashboard

A Kubeshark alternative that goes beyond observability. Stream live cluster traffic into proxymock, then replay or mock it locally from your laptop.

Questions answered in this article (3)
  • Which operator and eBPF prerequisites must be satisfied?

    The operator must deploy a healthy node collector and forwarder, with capture enabled for the selected workload. Nodes need the documented kernel, BTF, host-path, and capability support. TLS visibility also depends on the runtime; JVM capture requires the Java agent and a rollout. Working…

  • Where are captured requests stored?

    The local view connects to the cluster forwarder, normally through an automatic port-forward. Saving selected traffic creates request/response files in the local workspace for subsequent tests and mocks. That local path does not prove cloud export is disabled: review the forwarder’s configured…

  • How do I turn observed traffic into an isolated test?

    Save the relevant inbound requests and outbound dependency exchanges, run your real service against the recorded mocks, and replay the inbound cases. Replace production credentials, enforce network restrictions, and verify mock matches. Disable HTTP passthrough where appropriate. Inspect response…

Kubernetes and observability ·

The Observability Gap: Why Monitoring Data Should Drive Tests

Teams spend six figures on observability but test with synthetic data. Close the gap between what you know about production and what you validate pre-release.

Questions answered in this article (2)

AI development ·

The PII Testing Dilemma

Software is hard to test when production data contains PII and AI systems are causing an explosion in bugs.

AI development ·

The Pod Was Cheaper. The Service Wasn’t.

Use OpenCost and proxymock to prove Kubernetes rightsizing lowers cost per successful request without hiding behavior or throughput regressions in testing.

AI development ·

The Silent API Killer: Data Coupling in Your Tests

In API testing, speed, accuracy, and confidence in test results are everything. Regardless of whether you're validating functionality...

Questions answered in this article (5)
  • What Is Data Coupling in API Testing?

    So, what is data coupling at its core? Data coupling occurs when your testing is overly dependent on the specific state of the data layer. Issues such as pre-populated database records, static user IDs, or shared data setups between test cases can undermine the test results and the inferences based…

  • Why Is This a Big Deal?

    While it may seem like a minor inconvenience, data coupling has far-reaching consequences across your API lifecycle: False confidence - your test results may look green, but they’re green for the wrong reasons. Regression risks - seemingly unrelated changes to the database schema or seed data can…

  • What Should API Testing Look Like?

    To avoid data coupling, API testing needs to embrace isolation, repeatability, and determinism. Your tests should: Spin up and tear down their own test data Avoid assumptions about the application’s state Run reliably in parallel and in CI/CD Validate only the API layer, not downstream systems or…

  • What to Look for in API Testing Tools?

    When choosing or evaluating your API testing platform, look for platforms that support: Test data generation and cleanup CI/CD pipeline integration Test automation for functional API testing Load testing and performance monitoring Security testing and API validation Replay-based testing (traffic…

  • Why Speedscale Is Your Best Defense Against Data Coupling?

    If data coupling is the silent API killer, Speedscale is your shield. Traditional API testing tools often assume clean environments, stable data, and perfectly isolated services - but that’s rarely the case in modern software systems. Speedscale flips the script by bringing real traffic into your…

AI development ·

The Three Pillars Were Built for Humans

Metrics, logs, and traces were built for humans and cheap storage. AI inverts both assumptions, and the next maturity level is a deterministic replay sandbox.

Engineering and company news ·

The Ultimate Guide to a Smooth Dev Environment

Setting up a development environment can be challenging, especially for new developers or those adapting to new developer tools.

API mocking ·

They Aren't All Mocks

Part 6 of Getting Started with Mocks: stub, spy, fake, mock, and dummy, sorted by what each one does. Java, Node, Go, Python.

Performance testing ·

Top 5 JMeter Alternatives

Compare JMeter alternatives for scripts, recorded traffic, and distributed load. Preserve useful plans and verify runner capacity before migrating.

Questions answered in this article (3)
  • Can I keep existing JMeter plans?

    Yes. Existing plans can continue in JMeter’s non-GUI runner while you evaluate another workflow. Preserve plugins, data files, credentials, and required JMeter/Java versions in CI. A move to another runner may require recreating samplers, assertions, and correlation rather than importing the plan…

  • When does distributed load generation matter?

    Use multiple generators when one cannot deliver the required workload with enough CPU and network headroom, or when source geography is part of the test. Verify total offered load and each generator’s delivery. In JMeter remote mode, every engine runs the full plan, so adding engines multiplies the…

  • What changes when I move from scripted to recorded tests?

    Captured requests and responses become the starting fixture instead of authoring every exchange. You still choose the workload, valid credentials, dynamic-value correlation, dependency boundary, and assertions. Recordings cover observed cases, not every requirement. Keep deliberate negative and…

Performance testing ·

Top 5 k6 Alternatives

Compare k6 alternatives for scripted and recorded load tests. Check existing script reuse, dependency mocks, distributed runners, and reporting needs.

Questions answered in this article (3)
  • When should I keep k6 and add another tool?

    Keep k6 when its scripts, workload models, and thresholds already meet the load-driving requirement. Add capture and dependency simulation if maintaining realistic inputs or isolating backends is the missing capability. Speedscale can export captured inbound requests to k6 while supplying recorded…

  • Can I reuse existing load-test scripts?

    Keep them in their native runner while evaluating another tool alongside them. k6 scripts, Gatling simulations, JMeter plans, and Locust files are different formats, even when they target the same API. Verify any converter’s supported subset, then compare requests, correlation, assertions, and load…

  • Which option fits recording-based tests and dependency isolation?

    Speedscale provides a capture-and-replay workflow with recorded responses for supported dependencies; proxymock provides a local proxy workflow. Select it when those recordings solve a concrete fixture or environment problem. Check capture coverage, mock misses, timing, and CI gates with your…

API mocking ·

Top 7 Kubernetes Chaos Engineering Tools

Developing highly resilient Kubernetes deployments is crucial for ensuring that your hosted applications in Kubernetes can effectively manage and recover.

API mocking ·

Top 8 API Mocking Tools and Methodologies

Compare API mocking tools. Choose function stubs, examples, or recorded network responses, and keep fixtures aligned with the intended contract.

Questions answered in this article (6)
  • How to mock HTTP APIs with MockServer

    Get The Tutorial Consider a situation where a developer is working on an HTTP-based API for a complex online marketplace. Developers can define detailed requests and responses for each service. This enables thorough testing of each component in isolation, as well as their interplay, without relying…

  • How to get started with GoMock

    Get The Guide When it’s time for testing, an instance of this mock struct is created and expectations are set, specifying what parameters are expected when methods are invoked, what the mock should return, and how many times a method should be called. When the tests are run, any deviation from…

  • What is the best API mocking tool?

    With the wide range of API mocking tools available, choosing the ‘best’ one isn’t a one-size-fits-all scenario. The right tool will heavily depend on the specific needs and circumstances of your project, as well as what phase of testing you are in. Whether you require the comprehensive…

  • When should I use generated examples rather than recorded responses?

    Use examples when the API does not yet exist or you need a deliberate edge case absent from current traffic. Use recordings to preserve observed exchanges from an existing integration. Both need review against the intended contract: a generated value is not observed provider behavior, and a…

  • How do I choose between a function stub and a network mock?

    Choose a function stub to isolate logic behind an interface, such as a Go interface mocked with GoMock. Choose a network mock when you need the actual HTTP or database client, request encoding, routing, and response decoding to execute. Neither automatically validates the real dependency’s…

  • How should I refresh mocks when the API changes?

    Update fixtures when an intentional contract change or a verified integration result makes them stale. Review requests, responses, matching rules, and dependent tests together. Preserve the previous baseline for behavior that should stay compatible, and add explicit new cases. Re-recording solely…

Performance testing ·

Top Tools to Help Debug Kubernetes Applications

When building cloud-based applications, managing the infrastructure becomes a bigger challenge as you scale. Kubernetes brings order to the chaos...

Questions answered in this article (1)
  • Why Discuss These Tools?

    The tools in this list have been chosen mainly because of the capabilities they offer. They make debugging easier and deliver information that helps you solve problems. They are also accessible and are easy to use and set up. In addition, they are generally open source and either free or…

Performance testing ·

Top Traffic Shadowing Alternatives for Efficient Load Testing and Refactoring

This article explores the best alternatives to traffic shadowing for conducting efficient load testing and refactoring.

Questions answered in this article (1)
  • What is Traffic Shadowing?

    Traffic shadowing, also called traffic mirroring, is an approach for software testing that utilizes recorded user traffic as the source of data for later replay against a service. This duplication of production traffic allows for effective testing and refactoring with data that is based on the real…

API mocking ·

Top Use Cases for Mock Services in Software

Mocking APIs is a popular practice in software development, with an increasing number of developers now reaping the benefits–and no longer using their.

Questions answered in this article (2)
  • What is a mock service?

    A mock service is a development tool that imitates a real software service by returning realistic responses–without requiring computed logic to produce the response. For many developers and engineering teams, this capability can be very useful, particularly for cases such as: using third-party APIs…

  • How to run a mock service

    To run a mock service, you’ll need to decide what data to mock and how to expose this mock service.

Kubernetes and observability ·

Trace without traces

The trace was sampled out. I found the bug anyway — by filtering recorded traffic on the customer's email instead of a trace ID. Here's how to follow one request across four services with no trace IDs and no OpenTelemetry.

Traffic capture and replay ·

Traffic mirroring in Kubernetes: Istio vs Speedscale

Compare Istio traffic mirroring with Speedscale replay in Kubernetes. Use capture, redaction, and dependency isolation for repeatable regression tests.

Questions answered in this article (3)
  • Can mirrored requests write to production data?

    Yes, if the shadow application still has production credentials and network access. Mirroring discards the shadow response, not the work performed while producing it. Use test identities, isolated dependencies, and enforced egress controls. Verify the destination of writes and external API calls…

  • Does Istio mirroring compare responses?

    No. Istio documents mirrored requests as fire-and-forget and discards their responses. Add separate instrumentation or comparison tooling to judge shadow behavior. Logs can reveal failures, but a mirror rule alone does not save a reusable baseline or produce a response-regression verdict.

  • When should I capture and replay instead of mirror live traffic?

    Use replay when you need the same reviewed inputs on successive builds, independent of when production receives them. A saved snapshot also lets you configure transforms, assertions, and selected dependency mocks. Use live mirroring for current traffic against an isolated shadow deployment. Neither…

Traffic capture and replay ·

Traffic Replay Alternatives: API Tests vs. Session Replay

Compare API traffic replay with browser session replay. Choose tools for backend regression tests, dependency mocks, or understanding website behavior.

Questions answered in this article (1)
  • What kind of replay do you need?

    GoalRecording and executionUseful evidenceBackend regression testingSend captured API requests to a candidate serviceResponse assertions, errors, and reproducible test resultsLoad testingDrive a defined request workload at controlled concurrency or rateThroughput, latency percentiles, and error…

Traffic capture and replay ·

Traffic Replay Tutorial: Capture, Replay, Read Results

Capture one service's API traffic, replay it against a Kubernetes test workload, and use the report to tell a regression from a replay setup problem.

Questions answered in this article (3)
  • Why does replay fail when production succeeds?

    A replay runs with different time, credentials, data, and dependency state. An expired token, a changed target address, or an identifier created earlier in the flow can invalidate the recorded request even when the application is healthy. Inspect the failing exchange first, then distinguish a setup…

  • How do I handle expired tokens and generated IDs?

    Use narrowly scoped transforms to carry values from the current response into later requests, or supply environment-specific credentials through secret references. A saved login response is not a fresh credential. Review the before-and-after traffic, then run the complete sequence to verify that…

  • Which dependencies remain real during replay?

    That depends on the test configuration and networking. The service under test runs its code, while selected dependencies can be mocked and others can remain real. Document that boundary before replaying, verify which calls matched mocks, and test an unmatched request. A green response comparison…

Performance testing ·

Traffic Replay: Production Without Production Risk

The software and product life cycle is fraught with pitfalls and tradeoffs. While testing applications under production-like load is critical to ensuring.

Questions answered in this article (1)
  • Why Stress Testing Matters?

    Stress testing is more than just a checkbox in the software development process—it’s a strategic approach to safeguarding the end user experience and the business as a whole. By subjecting systems to extreme load conditions, developers can identify and fix issues that might otherwise go unnoticed…

Performance testing ·

Traffic-driven Testing in Kubernetes

Testing is crucial for ensuring the reliability and stability of your Kubernetes application in a containerized environment. Unlike traditional software...

Questions answered in this article (1)
  • Why Does Kubernetes Testing Make Business Sense?

    There are several reasons why Kubernetes testing is important from a business perspective. For starters, by performing extensive Kubernetes testing, organizations can ensure high availability of applications and thus minimize costly downtime. Kubernetes testing also allows DevOps teams to…

Performance testing ·

Traffic-Driven Testing: Shift Right Testing

In the process of developing software, designing and performing testing is a critical aspect of ensuring high software reliability, improving software.

Questions answered in this article (3)
  • What is Shift-Right Testing?

    In the process of developing software, designing and performing testing is a critical aspect of ensuring high software reliability, improving software quality, and deploying strong fit and function. The shift-right testing approach moves testing to later in your production cycle as a way of doing…

  • How Does Shift-Right Testing Work?

    Shift-Right testing moves the focus to production post-release, and accordingly, utilizes tooling built for this process. Shift-right testing practices arose from the need to get tests that better reflect how users interact with a product and from faster deployments that leave less room for robust…

  • What is Traffic-Driven Testing?

    Traffic-driven testing uses real traffic for testing but doesn’t restrict you to only running tests in production. You capture the traffic and reuse it later. Like shift-right, traffic-driven testing uses real user data to power your tests, but you can manipulate and control this data. It’s…

API mocking ·

Ultimate Guide to Creating a JSON Mock API

Build a JSON mock API for frontend testing. Learn what simulated responses cover, how CRUD state works, and where real-backend tests still matter.

Questions answered in this article (2)
  • What is a JSON Mock API?

    A JSON mock API is essentially a simulated interface that mimics the behavior of a real API using predefined JSON data. This API type is particularly useful for testing front-end applications without the need for an actual backend server. It allows developers to work on the front end independently…

  • How to Create a JSON Mock API

    Creating a JSON mock API involves several steps. Firstly, you must choose the right tool to create and manage your mock. From here, you’ll need to identify your environmental constraints and desired final structure, which will allow you to actually create the environment itself. Next, you’ll need…

Kubernetes and observability ·

Under the Hood with Go TLS and eBPF

There are many reasons why you might want to leverage eBPF for plaintext inspection of TLS traffic including security monitoring, debugging, traffic.

AI development ·

Use AI and traffic replay to test AI-generated code

Have your coding agent test AI-generated code with proxymock: capture working API traffic, replay it against changes, and inspect the results.

Questions answered in this article (3)
  • What if the recording contains an existing bug?

    A recording preserves observed behavior, including mistakes. Review the expected response against the requirement before accepting it as a baseline. Keep an incident recording to reproduce a defect, then add an explicit expectation for the fix. A new response matching the old bug is evidence of…

  • Can replay replace unit tests or tests for new requirements?

    No. Replay exercises the inputs and comparisons present in the saved traffic. Keep unit tests for logic and add requirement-driven tests for new behavior, boundary values, and error cases absent from the recording. Refresh fixtures deliberately when the contract changes, without replacing the…

  • Which artifacts should I require before accepting an agent’s result?

    Require the unchanged source recording, candidate revision, replay command and configuration, observed responses, and validation report. For CI, keep the verdict and process exit status, with an explicit failure gate enabled. Inspect mismatches and outbound mock results yourself; an agent’s summary…

API mocking ·

Using proxymock with AWS Services

Record AWS API calls with proxymock, inspect the capture, and run local mocks while keeping IAM, signing, and cloud-state integration tests.

API mocking ·

Using proxymock with GCP Services

Record Google Cloud API calls with proxymock and test locally. Understand the limits around IAM, OAuth, quotas, and stateful behavior.

API mocking ·

Using Python MockServer for API Testing

Use Python requests with MockServer’s REST API to create expectations, test failure responses, verify calls, and reset state between tests.

Traffic capture and replay ·

Validate Spring Boot Upgrades with Traffic Replay

Validate Spring Boot upgrades with recorded traffic. Compare API behavior, control dependencies, and review changes before updating the test baseline.

Questions answered in this article (3)
  • Which upgrade failures can traffic replay expose?

    Replay can reveal changed status codes, JSON fields, authentication behavior, and errors on the captured paths after a Spring Boot upgrade. It cannot cover unrecorded inputs, prove every background task works, or replace compilation and framework migration checks. Follow the migration notes for…

  • How do I keep dependencies and input data comparable?

    Use the same reviewed traffic fixture for both builds and define which dependencies are mocked. Reset any live test database or cache to a known state and supply valid test credentials. For JVM capture, verify the Java agent’s coverage; for local proxy capture, configure the actual HTTP or database…

  • How do I distinguish an intentional response change from a regression?

    Compare each difference with the intended contract and the upgrade notes. Preserve strict checks on business fields, and scope transforms to genuinely variable values such as fresh tokens. Document approved differences and update expectations in review. Do not broadly ignore fields or regenerate…

AI development ·

Ways to Use Mock Services in Software Development

Mocking APIs is a popular practice in software development. An increasing number of developers are reaping the benefits and no longer using their valuable.

Questions answered in this article (3)
  • What is a mock service?

    A mock service is a development tool that imitates a real software service by returning realistic responses without requiring computed logic to produce the response. For many developers and engineering teams, this capability can be very useful, particularly for cases such as using third-party APIs…

  • When to use mock services in software testing?

    In software testing methodologies, services are defined as being in-scope or out-of-scope. The services that are in scope are the ones you care about when testing. This can be a single service or a cluster of services. Services that are out-of-scope are the ones you don’t want to test, however they…

  • How to run a mock service

    To run a mock service, you’ll need to decide what data to mock and how to expose this mock service.

API mocking ·

What Are Cloud Development Environments?

Especially, if you have a globally distributed team, CDEs give you a smoother developer experience just by its _online_ nature.

Questions answered in this article (1)

Engineering and company news ·

What are Ephemeral Environments?

Create ephemeral environments when deployed testing adds value. Version test data, define ownership and expiry, and verify cleanup of external resources.

Questions answered in this article (6)
  • What Are Ephemeral Environments?

    Ephemeral environments are temporary environments used as infrastructure for development, testing, staging, and other non-production functions. While they replicate production-like conditions, they are generally not intended to be used as production environments. These environments are…

  • How Do Ephemeral Environments Work?

    Ephemeral environments use automated systems to provision and manage resources. These systems typically use a cloud provider to provision resources based on a pre-determined build guide, utilizing cloud resources and replicated data to create environments for specific purposes. Once a system is…

  • Why Do You Need Ephemeral Environments?

    Developing anything requires a high level of control. The ability to create in an environment you understand is incredibly impactful, but getting to that understanding has often required deep introspection of your data sources, the network, the systems tied into both, and the very code being worked…

  • Does every branch need its own environment?

    No. Create one when deployed behavior or stakeholder review justifies the provisioning cost and maintenance. Short-lived documentation or isolated logic changes may need only earlier checks. Use pipeline rules or an explicit request for expensive environments. Choose the smallest deployment that…

  • How should test data be provisioned and reset?

    Version seed data or a sanitized snapshot with the scenario, apply the required schema, and verify the starting records before testing. Isolate live test databases from other runs and reset them deliberately. Recorded mocks supply selected responses, not arbitrary mutable database state. Rebuilding…

  • How do I prevent abandoned environments from accumulating?

    Record an owner, purpose, expiry, and resource inventory when each environment is created. Combine merge or branch-close cleanup with an expiry and reconciliation for failed teardown jobs. Include storage and external resources in that inventory. Retain evidence separately and check remaining…

Engineering and company news ·

What are Preview Environments?

Use preview environments for branch review with explicit data, access, and dependency boundaries. Automate expiry and verify resource cleanup.

Questions answered in this article (4)
  • What are Preview Environments?

    A preview environment is a cloud-based, temporary environment that closely replicates the production setting of an application. These environments are designed to test code changes before they are merged into the main branch of a Git repository, offering developers and QA teams a safe space to…

  • How do preview environments differ from shared staging?

    A preview environment usually deploys a particular branch or merge request for focused review. Shared staging commonly integrates changes from several branches or services. Neither name guarantees a full production copy or isolation. Define the versions, data, dependency routes, and access boundary…

  • Where should databases and secrets come from?

    Provision disposable test data or an approved sanitized snapshot, and use credentials limited to that environment. Separate database names or instances, queue consumers, caches, and external test accounts where collisions matter. Supply secrets through the deployment system and restrict access to…

  • When should a preview environment be deleted?

    Remove it when the review or test purpose ends, with an expiry as a fallback for abandoned branches. Preserve required logs and test reports first. Configure a stop job that removes the actual deployed resources, then verify that external databases, volumes, DNS, and other owned resources are…

Kubernetes and observability ·

What does OOMKilled mean and how do I prevent it?

Diagnose Kubernetes OOMKilled events. Separate memory limits from CPU throttling, inspect termination evidence, and size resources from measured workloads.

Questions answered in this article (4)
  • What is a Kubernetes OOMKilled Error - And Why Does it Matter?

    OOMKilled is a container termination reason indicating an out-of-memory kill. It is often accompanied by exit code 137, but that number alone is not a diagnosis: an ordinary SIGKILL can produce it too. Inspect the container’s terminated or last-terminated state, previous logs, events, and node…

  • Does exit code 137 always mean OOMKilled?

    No. Under the usual shell convention, 137 indicates termination by signal 9, SIGKILL; an out-of-memory kill is one possible cause. Inspect Kubernetes container termination reasons and prior state, pod events, and node evidence. Distinguish an OOMKilled container from eviction or another forced…

  • How do I distinguish a memory leak from an undersized limit?

    Compare memory over repeated, comparable workloads and after work subsides. A stable working set above the configured limit suggests a sizing issue; continued retained-memory growth can suggest a leak. Neither pattern alone proves the cause. Use runtime heap or allocation profiles, request and…

  • What evidence should I collect before increasing memory?

    Save container status and restart history, previous-instance logs, relevant events, memory usage over time, requests and limits, and node pressure around the termination. Record the workload and recent changes. CPU limits normally throttle execution; they are not memory budgets. Increase a limit…

Traffic capture and replay ·

What I Learned From Building an eBPF-Based Traffic Capture Application

Building a targeted eBPF network traffic capture tool reveals why a general-purpose eBPF observability agent is exponentially harder.

Questions answered in this article (5)
  • Where Does This Leave Us?

    After building our TLS capture tool and staring into the abyss of what a full observability agent would require, here’s my take:

  • What did Speedscale build with eBPF?

    A component that captures plaintext HTTP and HTTPS payloads from Go and non-Go (OpenSSL) applications without proxies. For Go it attaches probes to crypto/tls (*Conn).Read and Write, and for OpenSSL apps it hooks socket read/write syscalls plus the OpenSSL read and write calls, so traffic can be…

  • Why is targeted eBPF traffic capture easier than full observability?

    Capture has fixed target functions, simple byte-buffer data types, stateless probes, and a stable ABI, so it is a tractable 1x baseline. Full APM with spans, traces, correlation, and stack unwinding is 50 to 100x harder because the complexity grows with each language runtime, not with scope.

  • What makes general-purpose eBPF function tracing so hard?

    ABI differences across languages. Go passes arguments in version-dependent registers and strips symbols in production, the JVM and .NET generate code at runtime so addresses move, and interpreted languages force you to walk interpreter structs to find a single variable. On top of that, uprobes in a…

  • When should I use eBPF for observability?

    Use it for targeted, narrow-scope instrumentation like network capture, infrastructure monitoring, and security enforcement, where the surface area is small and bounded. Avoid it as a single-program solution for general-purpose APM across many languages, deep application-level tracing with full…

API mocking ·

What is a Demo Environment?

One of the most important aspects of a product is the ability to showcase its functionality.

Kubernetes and observability ·

What is a Memory Leak?

Memory leaks happen when a program fails to release memory it no longer needs, and can be a big issue for developers and system administrators alike...

Questions answered in this article (3)
  • What Are the Causes of Memory Leaks?

    Memory leaks can happen due to programming errors, poorly written algorithms, or resource-intensive processes. As available memory depletes over time, the system’s performance suffers, causing increased load times and bad user experiences. This can cause long-term tack on effects across the entire…

  • How to Detect Memory Leaks

    Production traffic replication is a technique that uses traffic replay and automatic mocks to isolate a service under testing, providing a realistic environment for performance testing. Deeper dives can be found in other posts like the definitive guide to traffic replay or the advantages of mock…

  • How to Fix Memory Leaks

    Identifying and isolating memory leaks in complex systems like Kubernetes can be a daunting challenge for developers, but it’s crucial to maintain optimal system performance and prevent cyber attacks. Using production traffic replication tools like Speedscale can make this process much more…

Performance testing ·

What is Load Testing? Best Practices for Getting Started

Start load testing with a bounded workload, representative data, measured duration, and explicit latency, error, and correctness goals.

Questions answered in this article (7)
  • What is load testing?

    Load testing is a type of software performance testing that verifies the stability and scalability of a software application by subjecting it to a set amount of expected usage. Imagine this scenario: you’re launching a new eCommerce website or a highly anticipated new product. After completing your…

  • Who is load testing for?

    Load testing can benefit everyone, including developers, the greater organization, and even end-users. Developers benefit from the ability to identify issues or bottlenecks without disrupting user experience and relying on real-user reports. They can then fix these bottlenecks preemptively rather…

  • When not to use load testing?

    Despite many great use cases for load tests, it may not be optimal in some situations. For example, if you’re a small startup still trying to find product-market fit, load testing may not be a top priority. Similarly, if your application has low usage, or serves mainly static content, the benefits…

  • How does load testing work?

    Load testing is critical for determining the resiliency and scalability of an application under different kinds of load. It measures an application’s performance and stability by simulating real usage within realistic production conditions. In theory, you should measure any metric that can identify…

  • How much load is enough for a useful first test?

    Start with a bounded workload that exercises a few critical operations and confirms valid data, assertions, routing, and reports. Then increase toward the traffic level and request mix relevant to the service goal. Measure achieved load and generator headroom. The first useful test establishes a…

  • How long should I hold a load stage?

    Allow time to observe the mechanism being tested, such as scaling, cache warm-up, queue recovery, or memory growth. Separate ramp, measurement, and recovery periods in the report. A short CI check and a long soak test answer different questions. Choose duration from observed behavior and sample…

  • Which latency and error thresholds should determine a pass?

    Use the service’s agreed requirements for critical operations and evaluate percentiles and errors over a defined measurement window. Include correctness and achieved workload, not just a global average. Set explicit runner failure criteria and test them with a deliberate defect. Example thresholds…

Kubernetes and observability ·

What is Resilience Testing: The Ultimate Guide

Test resilience with defined dependency faults, observable degraded behavior, stop conditions, and recovery criteria alongside representative load.

Questions answered in this article (8)
  • What is Resilience Testing?

    Resilience testing is a type of software testing where a system is tested against simulated adverse conditions. Resilience testing focuses on testing the software against common issues like hardware or system failures, network interruptions, or high traffic loads. Resilience testing can help test…

  • What is Chaos Testing?

    Chaos testing, sometimes referred to as chaos engineering, is a method of resilience testing that intentionally introduces faults and unpredictability into the system. Chaos testing aims to identify weaknesses or vulnerabilities in a system that may not have surfaced during regular testing. By…

  • Why Use Chaos Testing at All?

    Tailoring your resilience strategies to your specific user experience and business requirements is critical. An e-commerce app might prioritize maintaining its payment systems over its recommendation engine during a fault. However, a social media application might prioritize user feeds over direct…

  • How Does Resilience Testing Work?

    Resilience testing works by causing controlled chaos in a very controllable environment. In essence, you are trying to systematically subject the service or system to conditions that would impact its operation in a way that doesn’t affect the actual operations of the service. Providers typically…

  • Why Resilience Testing is Crucial?

    Resilience testing provides evidence for a defined failure and recovery scenario. Use steady-state metrics and stop conditions so the experiment has a measurable boundary. Representative requests help exercise the application, but neither a passing experiment nor a historic outage anecdote proves…

  • How is resilience testing different from load testing?

    Load testing measures behavior under a chosen demand pattern. Resilience testing examines what happens during a defined disruption and recovery, such as a delayed dependency or unavailable service. They can be combined by injecting a fault while maintaining representative traffic. State the…

  • Which failures should I inject into dependencies?

    Start with failures relevant to the caller: timeouts, added latency, rejected requests, selected error responses, or unavailable connections. Verify that the chosen mechanism produces the intended fault. A delayed mock response does not reproduce packet loss or a node outage. Scope one experiment,…

  • How do I define acceptable degraded behavior?

    Specify which user operations must remain available, which can fail clearly or use a fallback, and how quickly normal service must recover. Check correctness, latency, errors, queued work, and duplicate side effects against those expectations. Preserve observations during the fault and after…

API mocking ·

What is Service Virtualization?

Use service virtualization to replace selected dependencies. Keep fixtures current, define state behavior, and retain real-provider integration checks.

Questions answered in this article (4)
  • Why Do You Need Service Virtualization?

    Service virtualization is a critical tool for solving the intrinsic problems of testing a production system. Testing the actual services for faults or issues means invoking those problems, and as such, it has a necessary impact on the production services themselves, by virtualizing those systems,…

  • How do virtualized dependencies stay current?

    Version the fixture, matching rules, and intended provider contract alongside the tests. Review changes when the provider or caller changes, and periodically verify representative interactions against a real test instance. Refresh recorded cases deliberately instead of automatically accepting new…

  • Can I use virtualization before the real service exists?

    Yes. Build explicit examples from an agreed contract or generate a starting fixture from a supported specification. Review request values, response content, and error cases with the owning team. Generated responses represent assumptions until verified against the provider. Keep the specification…

  • What does a successful virtualized test fail to prove?

    It does not establish the real provider’s availability, capacity, authorization decisions, or persistent state. The caller may handle a recorded response correctly while the provider rejects the request or stores different data. Keep real-provider checks for those boundaries and inspect unmatched…

Traffic capture and replay ·

What Is Shadow Traffic? All You Need to Know

Production traffic can often be unpredictable, and distinguishing genuine user interactions from mere noise becomes a pivotal step in comprehensively.

Questions answered in this article (2)
  • What is Shadow Traffic?

    Simply put, shadow traffic refers to web traffic that standard analytics tools fail to accurately capture, analyze, or record. This traffic can arise for a variety of reasons, but ultimately they reflect a dark data source which is ill-defined and hard to surface - hence the term “shadow-sm”.…

  • How to Manage Shadow Traffic

    Effective management of shadow traffic involves proactive measures and continuous monitoring. You can help manage shadow traffic by implementing solutions such as server-side tracking, which shift tracking responsibilities from the client-side to the server-side. You can also deploy firewall and…

Traffic capture and replay ·

What is Traffic Mirroring: A Complete Guide

Ensuring seamless data flow and robust application performance is crucial in modern networking and cloud computing.

Questions answered in this article (1)
  • What is Traffic Mirroring?

    Traffic mirroring sounds straightforward—it involves capturing network traffic and replicating it to another location. In local networking, this is often called port mirroring or a network tap, but in web applications, this is commonly referred to as traffic capture and replay. While the process is…

Performance testing ·

What is Volume Testing? Best Practices

Test growing data volume independently from concurrency. Prepare representative datasets, reset state, and inspect query plans and resource limits.

Questions answered in this article (5)
  • What is volume testing?

    Volume testing , also known as flood testing , examines the stability and response time of a system by transferring huge volumes of data, and evaluates a variety of different system components like databases, software, etc. This type of software testing is a critical part of avoiding issues under…

  • What to monitor in a testing plan?

    Your volume testing checklist must be created in detail, and should represent the live environment conditions as closely as possible. To achieve this, your test cases should cover all the use scenarios and data needed to accurately simulate production conditions, including the real-life data your…

  • Can data volume rise without increasing concurrent users?

    Yes. Hold the request pattern and concurrency fixed while increasing database rows, payload sizes, retained history, or another defined data dimension. A larger dataset can change query plans and cache behavior even at the same request rate. Vary one dimension deliberately and report dataset size…

  • How do I prepare and clean up a representative dataset?

    Choose reviewed synthetic or sanitized data with relevant distributions, relationships, and indexes. Load it into a disposable test database, update statistics where needed, and save the starting configuration. Restore or recreate that database between comparable runs. Replaying recorded requests…

  • Which signals reveal a data-volume limit?

    Look for changing query plans, growing disk or memory use, I/O waits, queue growth, timeouts, and incorrect or incomplete results as the dataset increases. Compare per-operation latency and completed work with the same load. A slower run suggests a limit to investigate; resource and database…

API mocking ·

What Keploy Gets Wrong About Speedscale

Keploy's Speedscale comparison gets the architecture wrong. Check its claims against the docs for eBPF capture, TLS, automatic mocks, and local testing.

Questions answered in this article (3)
  • Does Speedscale require an application SDK or code changes?

    No application SDK import is required for the documented capture workflows. Kubernetes uses an external collector, while supported JVM capture adds a Java agent through deployment configuration. Local proxymock uses a configured proxy. These options still require installation, permissions, and…

  • Is Kubernetes required for local recording and replay?

    No. proxymock runs locally and stores recorded exchanges in files that can supply tests and mocks. Configure the actual client’s proxy or mapped connection and TLS trust when required. Check activation and license requirements during installation. Local proxy capture is a different mechanism from…

  • What setup does eBPF collection actually require?

    Install the operator and node collector, satisfy kernel, BTF, host-access, and capability requirements, then select the workloads to observe. Check TLS compatibility separately, including Java-agent rollout requirements. Inspect both inbound and outbound traffic, and monitor capture drops.…

API mocking ·

What Mocks Are Actually For

Part 1 of Getting Started with Mocks: the one job a mock does, the five situations where you need one, and what a green mocked test does not prove.

AI development ·

What the Warp Terminal Sends Home

We recorded Warp traffic to see what gets sent back to the home base. Spoiler: It's everything.

Questions answered in this article (4)
  • Does the Warp terminal send my commands to its servers?

    Yes. Every command you run, along with its output, exit code, working directory, and shell details, is sent to Warp’s /analytics/block endpoint and associated with your account. Warp applies secret redaction, but credential patterns in shell output are too varied to catch reliably, so vendor trust…

  • What does Warp send when you use its AI features?

    A protobuf request to /ai/multi-agent or /ai/passive-suggestions that includes your prompt, your entire AGENTS.md file, and every skill definition in ~/.claude/skills/ with full file paths. Our capture included 24+ skills covering internal infrastructure tools. This happens on AI autocomplete too,…

  • Which AI models does Warp actually use?

    Routing is server-side and doesn’t always match the model you pick in the UI. One conversation in our test used GPT-5.2 and GLM 5, a model from Zhipu AI in China. The catalog has about 25 models from four providers, and the client never contacts OpenAI or Anthropic directly. Everything routes…

  • Why is Warp’s network traffic hard to inspect?

    Its core API calls bypass the HTTP_PROXY variable, so tools like Charles, Proxyman, and proxymock don’t see them. It uses rustls with NoKeyLog, which disables SSLKEYLOGFILE so raw packet captures can’t be decrypted, and the AI endpoints use protobuf instead of JSON. We got in with transparent TLS…

API mocking ·

When Handwritten Mocks Stop Scaling

Part 9 of Getting Started with Mocks: a decision framework for stubs, fakes, fake servers, mock servers, record-and-replay, and real dependencies.

Traffic capture and replay ·

When Your Observability Literally Stops Traffic

Observability tells you what failed—but not how to recreate it. Why reproducibility is the missing fourth pillar, and what that means for incident response.

AI development ·

Which Bugs AI Agents Fix Better With Traffic

A second run of our AI bug-fixing benchmark shows where captured traffic lifts agents toward 90%, why service maps barely help, and which bugs still fail.

Questions answered in this article (4)
  • Which bug types do AI agents fix better with captured traffic?

    The ones whose truth is in the request or response. In my benchmark, race and write-path bugs went from 22% to 89% with traffic, state-machine transitions from 72% to 92%, streaming and multipart framing from 52% to 85%, and cross-service contract drift from 44% to 81%. Bugs that live on the wire…

  • Do service maps help an AI agent pick the right microservice?

    A little, but far less than payloads. Testing four ways (alert alone, alert plus service map, alert plus traffic, alert plus both), the map alone added 6 percentage points while traffic added 28, and traffic still added more than 20 on top of the map. The failing request carries the broken field…

  • Which bugs does captured traffic not help with?

    Deep framework internals, where the fix hides in a buffer or state machine that no request ever touches. Those went from 75% to 79%, essentially flat, while wire-level bugs climbed toward 90%. Traffic is the tiebreaker when the bug’s truth is in the request or response, and dead weight when it…

  • How much does it cost to give an AI agent captured traffic?

    Close to free. The full second run, including the four-way test, was about 18,000 model calls for roughly $118, and 94% of the input tokens were cached because the codebase repeats across every run. Bolting a few captures onto each prompt adds little on top of that. 100 bugs in a private…

AI development ·

Why Your Company Will Be Running OpenClaw Next Year

OpenClaw is the new model for AI agents in the enterprise. Here's why it's a security nightmare and who's building the governed version.

Questions answered in this article (1)
  • Who’s Building OpenClaw 2.0 for Business?

    Every major platform vendor is racing to build what they’re calling the governed version of OpenClaw. The market is projected to grow from $7.84B to $52.62B by 2030 at a 46.3% CAGR. Gartner predicts 40% of enterprise apps will have embedded AI agents by end of 2026, up from less than 5% in 2025.…

API mocking ·

WireMock alternatives: pick the one that fits your problem

A 2026 take on WireMock alternatives. Keep WireMock for what it's good at; add Microcks (now CNCF Incubating) or proxymock for the gaps. The honest map.

Questions answered in this article (3)
  • Can I keep my existing WireMock mappings?

    Yes. Keep the mappings and tests that already cover useful scenarios, and add recorded-traffic tests where they solve a specific gap. WireMock itself supports HTTP recording and playback, so recording does not automatically require replacing it. Treat moving fixtures between tools as a migration to…

  • When do recorded mocks help more than handwritten stubs?

    Use recordings when the hard part is maintaining realistic request and response examples from an existing dependency. Use explicit stubs when you need a precise edge case or an API does not exist yet. Recorded fixtures can also become stale or preserve an existing bug, so review them and refresh…

  • Which alternatives fit database or gRPC dependencies?

    For PostgreSQL or MySQL wire-protocol mocking, evaluate proxymock with the actual database driver and query sequence. For gRPC, WireMock has an extension, and proxymock has a recording and proto-based workflow. Check unary versus streaming behavior separately; support for an HTTP request or a gRPC…

API mocking ·

WireMock vs MockServer vs proxymock for API testing

Compare HTTP stubs, request verification, and recorded dependency mocks. Choose WireMock, MockServer, or proxymock for your Java API tests.

Questions answered in this article (7)
  • What is the difference between WireMock and MockServer?

    Both support HTTP request matching, configured responses, and request verification. Compare their APIs and lifecycle integration against the expectations your tests need.

  • Can WireMock record real traffic?

    Yes. WireMock supports record and playback. Captured fixtures still need review and updates when the real dependency contract changes.

  • When should I use proxymock instead of an HTTP stub server?

    Use proxymock when you need recorded dependency responses or want to replay inbound traffic against a code change. Follow the setup requirements for each protocol and client.

  • Can I migrate from WireMock to proxymock?

    Migrate incrementally: keep targeted WireMock tests and record one representative integration flow with proxymock. Compare the results before expanding coverage. A recording is not a one-to-one translation of WireMock matchers and verification assertions.

  • Does proxymock work with Spring Boot?

    Yes. Follow the Java and protocol-specific setup instructions, including any client proxy or port-mapping configuration. Capture a representative flow and confirm its downstream calls appear in the recording before relying on the mocks.

  • How do I handle sensitive data in recorded traffic?

    Configure redaction rules, inspect tokens and personal data, and review recordings before sharing them. A traffic recording does not by itself establish privacy or compliance.

  • How do Testcontainers and API mocks work together?

    Testcontainers starts real dependencies in containers. API mocks supply controlled dependency responses. Use a real database container for database behavior and an HTTP mock for a payment timeout when those are the requirements you need to test.

AI development ·

Your AI agent is fixing the wrong service

I tested 100 bugs across 240 microservices the model has never seen. Alert only: 51% pass rate, wrong service 34% of the time. Traffic captures: 77%.

Questions answered in this article (4)
  • How reliably do AI coding agents fix real bugs?

    Not very, on their own. The best agents fix about 50% of real bugs on SWE-bench verified, and in my own benchmark on a codebase the model had never seen, an agent working from a monitoring alert passed 51% of the tests. AI-generated code also tends to produce more issues than human-written code, so…

  • Does giving an AI agent production traffic improve its bug fixing?

    Yes, substantially, when the bug shows up on the wire. Handing the agent the captured request and response for the failing call raised the pass rate from 51% to 77% in my test, a 26 percentage point jump with non-overlapping confidence intervals.

  • Why do AI coding agents fix the wrong service?

    With only an alert, the agent has to guess which of hundreds of services is broken and greps for vague keywords like latency or error rate that match half the codebase. In my 240-service test it edited the wrong service 34% of the time. Captured traffic names the specific endpoint and field, which…

  • When does traffic context make an AI agent worse?

    When the real fix is below the HTTP boundary. On 11 bugs the captures gave the agent a confident theory that pointed at the symptom but the wrong layer, like an exception base class or a race condition in internal state that never appears in the trace. There it was faster, more decisive, and wrong.…

API mocking ·

Your First Useful Mock

Part 2 of Getting Started with Mocks: a test you cannot write, one seam, and the smallest mock that makes a delayed package happen. Java, Node, Go, Python.

API testing ·

Your Flaky Tests Are a Data Problem, Not a Test Problem

Most flaky test fixes focus on retries and quarantine. The real fix is replacing hand-written test data with recorded traffic that stays fresh.

Questions answered in this article (4)
  • How does QABot know which values are dynamic?

    QABot uses structural analysis, not guesswork. It identifies JWTs by their three-part base64 structure and checks for exp/iat claims. It finds timestamps by matching ISO 8601, RFC 2822, and Unix timestamp patterns. It traces ID propagation by matching values that appear in a response and then…

  • What if QABot gets a transform wrong?

    The generated transforms are saved as YAML files in your repo. You can inspect and edit them. If QABot incorrectly identifies a static value as dynamic (or misses a dynamic one), you adjust the YAML and commit the change. Over time, QABot’s detection improves as it sees more recordings from your…

  • Can I use this alongside WireMock?

    Yes. If you already have WireMock stubs for contract tests or specific fault injection scenarios, keep them. Use proxymock + QABot for integration and regression tests where you need realistic data across many dependencies. The two approaches complement each other. See our WireMock vs MockServer vs…

  • Is QABot part of proxymock or Speedscale?

    QABot is in beta as part of the Speedscale Cloud platform. The proxymock CLI is free for recording and replaying traffic locally. QABot’s analysis and recommendations live in the Speedscale dashboard. You push your local recordings with proxymock cloud push snapshot, review the recommendations in…

API mocking ·

Your Mock Is Lying

Part 8 of Getting Started with Mocks: the carrier renames a field, production breaks, and every mocked test still passes. Java, Node, Go, Python.

AI development ·

Your OpenAPI Spec Is Not a Test

How to get a first regression test for a service or endpoint with no recorded traffic: let your coding agent pick a source, then record it.

Performance testing ·

Zero Trust Architecture Needs Zero Guesswork

The Zero Trust model has fundamentally shifted how organizations secure their applications and infrastructure.

Questions answered in this article (1)
  • Why a Zero Trust Architecture Demands Behavioral Validation?

    While older approaches to the internal network viewed these sources as relatively trustworthy, the rise of internal attacks, privilege escalation, and data breaches led many organizations to seek an alternative trust approach and model. The Zero Trust approach was the result - a view of systems…