<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Altan Sezer Ayan]]></title><description><![CDATA[QA Manager and Test Architect with 12+ years in fintech and digital banking. Writing about software testing and AI-powered developer tooling.]]></description><link>https://altansezerayan.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6a42e40579ac5f8c9b17c497/c382483e-8450-4fbf-b6c6-8522c03aed87.png</url><title>Altan Sezer Ayan</title><link>https://altansezerayan.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 28 Oct 2026 01:33:13 GMT</lastBuildDate><atom:link href="https://altansezerayan.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Mock Jutsu: The Synthetic / Mock Test Data Generator Built for Banking and Fintech QA]]></title><description><![CDATA[Open-source test data generator with 395+ types. IBAN, Luhn-valid cards, national IDs for 45 countries. CLI, Python library,Docker, JMeter plugin.]]></description><link>https://altansezerayan.hashnode.dev/mock-jutsu-the-synthetic-mock-test-data-generator-built-for-banking-and-fintech-qa</link><guid isPermaLink="true">https://altansezerayan.hashnode.dev/mock-jutsu-the-synthetic-mock-test-data-generator-built-for-banking-and-fintech-qa</guid><category><![CDATA[Mock Jutsu: Ultimate Test Data for Banking & Fintech QA]]></category><category><![CDATA[Testing]]></category><category><![CDATA[QA]]></category><category><![CDATA[fintech]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[mock data]]></category><dc:creator><![CDATA[Altan Sezer Ayan]]></dc:creator><pubDate>Mon, 29 Jun 2026 22:13:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a42e40579ac5f8c9b17c497/d9341e8b-7a7d-4e5d-84b1-b2862208fa79.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After 12 years of QA work in digital banking and fintech, one problem never went away: <strong>realistic test data is hard to generate correctly</strong>. Most tools give you random strings. Banking systems need more than that — they need IBAN values that pass MOD-97 checksum, credit card numbers that clear Luhn validation, national IDs that match country-specific algorithms. One wrong digit and your test suite passes, but production rejects the data.</p>
<p>So I built <strong>Mock Jutsu</strong> — an open-source synthetic test data engine designed specifically for this problem.</p>
<hr />
<h2>What makes it different</h2>
<p>Most fake data libraries generate plausible-looking strings. Mock Jutsu generates <strong>algorithmically correct</strong> values:</p>
<ul>
<li><p>IBAN → MOD-97 checksum valid</p>
</li>
<li><p>Credit cards → Luhn algorithm valid</p>
</li>
<li><p>TCKN (Turkish ID) → Modulo 10/11 valid</p>
</li>
<li><p>BIC/SWIFT → ISO 9362 compliant</p>
</li>
<li><p>CUSIP, ISIN, SEDOL → correct check digits</p>
</li>
<li><p>National IDs for 45 countries → country-specific rules</p>
</li>
</ul>
<hr />
<h2>Coverage: 395+ data types</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Examples</th>
</tr>
</thead>
<tbody><tr>
<td>Banking</td>
<td>IBAN, BIC, SWIFT, routing numbers, sort codes</td>
</tr>
<tr>
<td>Cards</td>
<td>Luhn-valid card numbers, CVV, expiry, masked PAN</td>
</tr>
<tr>
<td>Identity TR</td>
<td>TCKN, YKN, VKN, MERSIS</td>
</tr>
<tr>
<td>Identity International</td>
<td>SSN, NIN, SIN, CPF, Aadhaar — 45 countries</td>
</tr>
<tr>
<td>Capital Markets</td>
<td>ISIN, CUSIP, SEDOL, LEI, FIGI, FIX messages</td>
</tr>
<tr>
<td>Crypto</td>
<td>Bitcoin, Ethereum, USDT addresses</td>
</tr>
<tr>
<td>Health</td>
<td>NHS number, ICD-10, HL7 FHIR</td>
</tr>
<tr>
<td>IoT</td>
<td>IMEI, MAC address, NMEA coordinates</td>
</tr>
<tr>
<td>E-commerce</td>
<td>Tracking numbers, barcodes, UBL invoices</td>
</tr>
</tbody></table>
<hr />
<h2>Installation</h2>
<pre><code class="language-bash">pip install mock-jutsu
</code></pre>
<hr />
<h2>CLI usage</h2>
<pre><code class="language-bash">mockjutsu generate iban --locale TR
mockjutsu generate cardnum --locale US
mockjutsu generate tckn
mockjutsu generate iban --locale TR --mask
mockjutsu bulk tckn --count 100
mockjutsu template iban fullname cardnum --count 50 --locale TR
mockjutsu template iban fullname ssn --count 200 --format json
</code></pre>
<hr />
<h2>Python usage</h2>
<pre><code class="language-python">from mockjutsu.core import jutsu

jutsu.generate("iban", locale="TR")
jutsu.generate("cardnum", locale="US")
jutsu.generate("tckn")
jutsu.generate("ssn")
jutsu.generate("cardnum", locale="US", mask=True)
jutsu.generate("iban", locale="DE", mask=True)
</code></pre>
<hr />
<h2>Compliance-safe masked output</h2>
<p>PCI DSS, GDPR, and KVKK scenarios are covered with built-in masking:</p>
<pre><code class="language-python">jutsu.generate("cardnum", mask=True)   # ************3456
jutsu.generate("iban", mask=True)      # TR33******786457841326
jutsu.generate("tckn", mask=True)      # 348******54
</code></pre>
<hr />
<h2>Self-hosted REST API (Docker)</h2>
<pre><code class="language-bash">docker pull altansezerayan/mock-jutsu

docker run -p 8000:8000 altansezerayan/mock-jutsu
</code></pre>
<p>Then hit the API:</p>
<pre><code class="language-plaintext">GET /generate/iban?locale=TR
GET /generate/cardnum?locale=US&amp;mask=true
GET /bulk/tckn?count=100
POST /template  {"types":["iban","fullname","cardnum"],"count":5}
</code></pre>
<hr />
<h2>JMeter Plugin</h2>
<p>Load testing with realistic banking data? The Mock Jutsu JMeter plugin generates data directly inside your JMeter test plans — no pre-generated files needed.</p>
<p>👉 <a href="https://github.com/altansayan/mock-jutsu-jmeter">mock-jutsu-jmeter on GitHub</a></p>
<hr />
<h2>Links</h2>
<table>
<thead>
<tr>
<th>Resource</th>
<th>URL</th>
</tr>
</thead>
<tbody><tr>
<td>Docs &amp; HOW-TO (5 languages)</td>
<td><a href="https://altansayan.github.io/mock-jutsu-api/">https://altansayan.github.io/mock-jutsu-api/</a></td>
</tr>
<tr>
<td>GitHub</td>
<td><a href="https://github.com/altansayan/mock-jutsu-api">https://github.com/altansayan/mock-jutsu-api</a></td>
</tr>
<tr>
<td>PyPI</td>
<td><a href="https://pypi.org/project/mock-jutsu/">https://pypi.org/project/mock-jutsu/</a></td>
</tr>
<tr>
<td>Docker Hub</td>
<td><a href="https://hub.docker.com/r/altansezerayan/mock-jutsu">https://hub.docker.com/r/altansezerayan/mock-jutsu</a></td>
</tr>
<tr>
<td>JMeter Plugin</td>
<td><a href="https://github.com/altansayan/mock-jutsu-jmeter">https://github.com/altansayan/mock-jutsu-jmeter</a></td>
</tr>
<tr>
<td>Postman Collection</td>
<td><a href="https://github.com/altansayan/mock-jutsu-api">https://github.com/altansayan/mock-jutsu-api</a></td>
</tr>
</tbody></table>
<p>What data types are you still hardcoding in your test environments? Happy to add them.</p>
<p>Tags: python, testing, fintech, opensource</p>
]]></content:encoded></item></channel></rss>