<?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 Ikwuka Okoye</title><link>https://ikwukao.dev/tags/testing/</link><description>Recent content in Testing on Ikwuka Okoye</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ikwukao.dev/tags/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>Testing a Static Site Generator: Small Contracts, Reliable Output</title><link>https://ikwukao.dev/journal/static-site-generator-testing/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/static-site-generator-testing/</guid><description>&lt;h2 id="testing-a-static-site-generator-small-contracts-reliable-output"&gt;Testing a Static Site Generator: Small Contracts, Reliable Output&lt;/h2&gt;
&lt;p&gt;A static site generator is a good example of a system where small bugs can propagate through multiple layers.&lt;/p&gt;
&lt;p&gt;A mistake in Markdown parsing can eventually appear as malformed HTML.&lt;/p&gt;
&lt;p&gt;A malformed text node can produce incorrect links.&lt;/p&gt;
&lt;p&gt;A block-classification error can cause an entire section of a page to render incorrectly.&lt;/p&gt;
&lt;p&gt;That makes testing especially important.&lt;/p&gt;
&lt;p&gt;The solution is not necessarily hundreds of large end-to-end tests.&lt;/p&gt;</description></item><item><title>Making an AI Agent Reliable</title><link>https://ikwukao.dev/journal/ai-agent-reliability/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/ai-agent-reliability/</guid><description>&lt;h2 id="making-an-ai-agent-reliable"&gt;Making an AI Agent Reliable&lt;/h2&gt;
&lt;p&gt;The most impressive AI agent demo can still be a poor piece of software.&lt;/p&gt;
&lt;p&gt;A demonstration may work perfectly when the model responds as expected, every API is available, every tool succeeds, and the task is small.&lt;/p&gt;
&lt;p&gt;Real systems are not that forgiving.&lt;/p&gt;
&lt;p&gt;Models produce unexpected outputs.&lt;/p&gt;
&lt;p&gt;Networks fail.&lt;/p&gt;
&lt;p&gt;Tools time out.&lt;/p&gt;
&lt;p&gt;External APIs change.&lt;/p&gt;
&lt;p&gt;Users provide ambiguous instructions.&lt;/p&gt;
&lt;p&gt;An agent that cannot handle these conditions is not reliable.&lt;/p&gt;</description></item><item><title>What Building PokedexCLI Taught Me About Backend Engineering in Go</title><link>https://ikwukao.dev/journal/pokedexcli-command-lessons-learned/</link><pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate><guid>https://ikwukao.dev/journal/pokedexcli-command-lessons-learned/</guid><description>&lt;h2 id="what-building-pokedexcli-taught-me-about-backend-engineering-in-go"&gt;What Building PokedexCLI Taught Me About Backend Engineering in Go&lt;/h2&gt;
&lt;p&gt;PokedexCLI began as a relatively small Go application.&lt;/p&gt;
&lt;p&gt;The premise is simple: interact with Pokémon data through a command-line interface.&lt;/p&gt;
&lt;p&gt;But projects do not remain simple merely because their initial requirements are simple.&lt;/p&gt;
&lt;p&gt;As functionality grows, the application has to deal with API communication, pagination, application state, caching, command dispatch, data modeling, errors, and testing.&lt;/p&gt;
&lt;p&gt;That made PokedexCLI valuable as more than a CLI exercise.&lt;/p&gt;</description></item></channel></rss>