<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Testing on Maceage's Blog</title><link>https://blog.maceage.com/tags/testing/</link><description>Recent content in Testing on Maceage's Blog</description><generator>Hugo</generator><language>en-au</language><copyright>© Graham Mace</copyright><lastBuildDate>Thu, 08 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.maceage.com/tags/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>The Scientist Pattern</title><link>https://blog.maceage.com/posts/2026/the-scientist-pattern/</link><pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate><guid>https://blog.maceage.com/posts/2026/the-scientist-pattern/</guid><description>&lt;p&gt;&lt;small&gt;&lt;i&gt;(Originally drafted in October 2023 during my tenure at Xero. Republished here in October 2026 with updated context and removed proprietary references)&lt;/i&gt;&lt;/small&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&amp;ldquo;In short, a proxy is a wrapper or agent object that is being called by the client to access the real serving object behind the scenes.&amp;rdquo; — &lt;a href="https://en.wikipedia.org/wiki/Proxy_pattern" target="_blank"&gt;Proxy pattern, Wikipedia&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Consider a scenario familiar to anyone maintaining a large monolithic API: you&amp;rsquo;re refactoring endpoints towards a new architecture, and it&amp;rsquo;s going well – until it isn&amp;rsquo;t. An API contract gets inadvertently changed, data gets lost, and customers notice before you do.&lt;/p&gt;</description></item></channel></rss>