<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Anatoly Bobunov - Code &amp; TestOps</title>
        <link>https://abobunov.dev/</link>
        <description>Anatoly Bobunov - Code &amp; TestOps</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Tue, 14 Apr 2026 00:00:00 &#43;0000</lastBuildDate>
            <atom:link href="https://abobunov.dev/index.xml" rel="self" type="application/rss+xml" />
        <item>
    <title>A new article is out on building a scalable test framework</title>
    <link>https://abobunov.dev/2026/scalable-test-framework/</link>
    <pubDate>Tue, 14 Apr 2026 00:00:00 &#43;0000</pubDate>
    <author>Anatoly Bobunov</author>
    <guid>https://abobunov.dev/2026/scalable-test-framework/</guid>
    <description><![CDATA[<p>I’ve just published a new post: “How we created a new test framework to scale it for the future”.
In it, I explain why our previous test framework stopped scaling cleanly as more backend services, helpers, wrappers, and integration points were added over time.</p>
<p>Here’s what’s inside:</p>
<ul>
<li>🧩 Why blurred layer boundaries and local workarounds gradually made the old framework harder to extend</li>
<li>🏗️ How we redesigned the architecture around explicit layers: facade, endpoints, models, domain helpers, and platform components</li>
<li>🔌 Why the new structure makes SDK integration, OpenTelemetry, and other cross-cutting tooling much easier to introduce</li>
<li>🤖 How clearer contracts and documentation improve the quality of AI-assisted code generation and code changes</li>
<li>🔄 Why we chose incremental migration into a new repository instead of freezing development for a risky in-place rewrite</li>
</ul>
<p>If you work on API test automation, Python frameworks, or large backend systems, this article may be useful if you’re thinking not just about test coverage, but about how your framework will keep evolving as the team and tooling grow.</p>
<p>📄 You can read the article on <a href="https://medium.com/exante-technology/how-we-created-a-new-test-framework-to-scale-it-for-the-future-a101ea0c43ce" target="_blank" rel="noopener noreffer ">Medium</a>, <a href="https://habr.com/en/articles/1020864/" target="_blank" rel="noopener noreffer ">Habr (EN)</a>, or <a href="https://habr.com/ru/articles/1020864/" target="_blank" rel="noopener noreffer ">Habr (RU)</a></p>
<hr>
<p>🔙 Earlier article for context:
“How we made Python/pytest suites 8.5× faster” on <a href="https://habr.com/en/articles/972444/" target="_blank" rel="noopener noreffer ">Habr</a></p>]]></description>
</item>
<item>
    <title>I wrote a new article — How we made Python/pytest suites 8.5× faster</title>
    <link>https://abobunov.dev/2025/announcement-how-we-made-python-pytest-suites-faster/</link>
    <pubDate>Tue, 02 Dec 2025 00:00:00 &#43;0000</pubDate>
    <author>Anatoly Bobunov</author>
    <guid>https://abobunov.dev/2025/announcement-how-we-made-python-pytest-suites-faster/</guid>
    <description><![CDATA[<p>I’ve just released a new post: “How we made Python/pytest suites 8.5× faster” 🚀<br>
In this article, I break down how we reduced test suites that once took over an hour to run to about 2 minutes — without rewriting everything from scratch.</p>
<p>Here’s what’s inside:</p>
<ul>
<li>🧩 Custom Pytest hooks + execution-time metrics + Grafana dashboards to analyse bottlenecks</li>
<li>🔀 Splitting large monolithic test files into smaller modules to improve parallelisation with xdist</li>
<li>⏱️ Replacing rigid sleep() calls with smart retry-based waiting and structured wait_* functions</li>
<li>🛠️ Reworking test-data setup and isolation to avoid collisions in parallel runs</li>
<li>📉 How these changes stabilised CI, reduced flakes, and restored an actually “live” development cycle</li>
</ul>
<p>If you’re working with large Python test suites, flaky pipelines, or slow feedback loops — this breakdown might give you a few practical ideas to speed things up.</p>
<p>📄 You can read the article on <a href="https://medium.com/exante-technology/how-we-made-python-pytest-suites-8-5-faster-aabbeedce9a7" target="_blank" rel="noopener noreffer ">Medium</a> or <a href="https://habr.com/en/articles/972444/" target="_blank" rel="noopener noreffer ">Habr</a></p>
<hr>
<p>🔙 Earlier article for context:
“Iterative CI development in GitLab for an automated testing framework” on <a href="https://medium.com/exante-technology/iterative-ci-development-in-gitlab-for-an-automated-testing-framework-bf92202f191e" target="_blank" rel="noopener noreffer ">Medium</a> or <a href="https://habr.com/en/companies/exante/articles/837340/" target="_blank" rel="noopener noreffer ">Habr</a></p>]]></description>
</item>
<item>
    <title>The Beginning: My First Blog Post</title>
    <link>https://abobunov.dev/2025/welcome/</link>
    <pubDate>Tue, 13 May 2025 00:00:00 &#43;0000</pubDate>
    <author>Anatoly Bobunov</author>
    <guid>https://abobunov.dev/2025/welcome/</guid>
    <description><![CDATA[<p>Hi there! 👋</p>
<p>This blog will soon feature articles on topics I&rsquo;m passionate about:</p>
<ul>
<li>🐍 <strong>Python</strong> &amp; 👏 <strong>Golang</strong></li>
<li>Test automation frameworks (like <strong>pytest</strong> and <strong>testify</strong>) and modern <strong>testing practices</strong></li>
<li>🤖 <strong>Automation testing</strong> workflows</li>
<li>Insights into <strong>TestOps</strong> and QA infrastructure</li>
</ul>
<p>I’m excited to share my knowledge, experiments, and lessons learned.<br>
First post coming soon — stay tuned!</p>
<p>Dillon published on 2020-03-04 included in Documentation</p>]]></description>
</item>
</channel>
</rss>
