Systems | Development | Analytics | API | Testing

From Handwritten Mocks to proxymock: The Complete Loop

Handwritten mocks are cheap one at a time. This series built enough of them to show how quickly that stops being true. Nine posts took one package notifier from a function returning "delayed" to a captured response from a real carrier. Along the way, we hand-authored canned successes, failure cases, a spy, a stateful fake, an HTTP server, response fixtures, and contract-drift tests in four languages.

10 Load Testing Strategies to Optimize E-Commerce Website Performance in 2026

E-commerce platforms face unique performance challenges. Traffic patterns are volatile, with sudden surges during flash sales, promotions, or holidays. Relying on generic load testing – such as steady user simulations or basic server throughput checks – misses the mark. If your tests don’t mirror real shopping scenarios, you risk missing critical issues that can lead to lost revenue and damaged brand reputation during peak events.

Why Companies Stay on EOL Node.js - Even When They Know the Risk

Legacy Node.js is rarely an awareness problem. It is a risk, cost, and uncertainty problem. Last week, we looked at a striking signal in the official Node.js download data in Node.js Downloads Surge in 2026 as Node.js 24 Takes the Lead. Node.js 24 had become the most downloaded Node.js release, a strong indication that modernization across the ecosystem is accelerating. But something else stood out.

What's New in Katalon Studio 11.5.0

Katalon Studio 11.5.0 is available for all users as of August 27, 2026. This release focuses on richer reporting, AI assistance that reaches further into test authoring, a stronger mobile recording experience, a refreshed UI, and the performance problems that showed up in large projects. Here's what shipped, starting with the new features.

Introducing DreamFactory 7.7.0

DreamFactory 7.7.0 is now the recommended stable release. It's a substantial one: AI agents become governed, human-owned API consumers; a new open-source API Builder lets you author custom REST endpoints without writing scripts; versioned Schema Contracts catch database drift before it reaches your consumers; and the platform baseline moves to Laravel 13.25 and PHP 8.3.

Best Hosting for Odoo: Backups, Uptime and Disaster Recovery

Almost every Odoo host advertises backups. Very few will tell you when a restore was last tested, and those are completely different claims. The gap between them is where agencies get hurt. A backup that exists but has never been restored is not a backup. It is a file, and you find out which one it is on the worst possible day. Cloudpepper is Odoo hosting with automated backups and monitoring built for agencies running client systems, and on this particular criterion it is the strongest option available, for a structural reason covered in point seven below.

Did It Actually Send?

The notifier has returned a message throughout this series, which made testing almost suspiciously easy. Assert on the return value and you are done. Real notifiers do more than build strings: they send them. Once a message goes to an email provider or SMS gateway, the function may return nothing useful. When that change lands, every existing test loses the value it asserted on. This is part 4 of a ten-part series. The code is in Java, Node.js, Go and Python.

Make Failure Boring with Mocks

Every codebase has a failure path nobody has run. Not through laziness, but because reproducing it requires a backend dependency to misbehave on cue. In the package notifier, the carrier must refuse, stall, or return nonsense at the exact moment the test runs. So the retry logic ships unverified and everyone hopes. The seam from post 2 already gives the test control. A seam is a place where you can change what code does without editing that code.

Test Behavior, Not Choreography

The spy from post 4 is a sharp tool. Once a test can record every interaction, it is tempting to assert on all of them. The result looks thorough, but it is usually a transcript rather than a useful specification. This post takes a test written that way, makes a change that no customer could possibly notice, and watches the test fail anyway. This is part 5 of a ten-part series. The code is in Java, Node.js, Go and Python.