>_ Analyst Engineering

QA Analyst

QA Analyst

A QA analyst proves the system does what the specification promised, from API contract tests to validating event flows. This pillar covers that work in practice: designing negative tests, testing payment and idempotency flows end to end, validating Kafka events you cannot see, and catching breaking changes with contract tests before they ship. Every article is written for analysts who own quality on a delivery team, with concrete test cases you can run.

The First 90 Days

The parts for a QA analyst joining a new team: feedback with good timing, and the role guide on inheriting a green regression suite the sprint before a SEPA Instant release.

Requirements to UAT

Where requirements work meets the suite: UAT scenarios generated from use case flows, a test strategy that makes decisions, and a CI gate that fails the release when a must-have requirement is not proven.

The AI Analyst

The two parts built for quality work: a complete test plan with a traceability matrix, and the runnable collection that gates a merge.

APIs for Analysts

The advanced track covers the testing side end to end, from deriving cases to running them as a release gate.

Agentic Coding for Analysts: Claude Code, Cursor, Copilot, and Codex on Real Work

Use agentic coding tools as an analyst who codes: plan mode, permission modes, AGENTS.md and CLAUDE.md, hooks, worktrees, and four jobs with the guardrails.

API Performance Testing With k6: From the NFR to the Load Test

Load test a payments API with Grafana k6 v2: write the NFR first, then scenarios, thresholds, and checks, safe idempotency keys, test types, and a CI run.

Arazzo for Analysts: Multi-Step API Workflows as Testable YAML

The Arazzo Specification for analysts: sourceDescriptions, steps, successCriteria, and runtime expressions, with a Stripe payment-to-refund workflow to run.

AsyncAPI 3.0 for Analysts: Reading and Reviewing a Kafka Event Contract

How to read and review an AsyncAPI 3.0 contract for Kafka: channels, operations, messages, bindings, keys, ordering, and schema registry compatibility.

CBPR+ Exceptions and Investigations: camt.110, camt.111, camt.056, and Case Management

How CBPR+ replaces MT 199 queries and MT 192 recalls: camt.110 and camt.111 investigations, camt.056 and camt.029, Case Management, dates, and tests.

Funds Transfer Regulation (EU) 2023/1113: The Travel Rule in pacs.008

Regulation (EU) 2023/1113, the EU travel rule: required payer and payee data, the pacs.008 fields that carry it, missing information handling, crypto, tests.

LLM Evals for Analysts: Turning Acceptance Criteria Into a Release Gate

How analysts write LLM evals: a golden set from acceptance criteria, code graders vs LLM-as-judge, pass thresholds as release criteria, and regression in CI.

MT101 to pain.001: Payment Initiation Relay Over SWIFT, Field by Field

Moving interbank MT101 to CBPR+ pain.001 under the Payment Initiation Relay rulebook: the deferred dates, MT101 to pain.001 mapping, addresses, and test cases.

Open Banking APIs for Analysts: Consents, SCA, FAPI 2.0, and the Rules by Market in 2026

Open banking APIs for bank analysts: AIS vs PIS, the consent lifecycle, SCA, FAPI 2.0, PSD3, UK, US 1033, and Canada status, plus the test cases that matter.

OpenAPI 3.1 and 3.2 for Analysts: What Changed and What to Check on Upgrade

What changed from OpenAPI 3.0 to 3.1 and 3.2, from nullable to type arrays, webhooks, QUERY and streaming, and what to check when a provider upgrades.

OpenTelemetry Traces for Analysts: Investigate a Payment Without Grepping Logs

Read OpenTelemetry traces like an analyst: spans, attributes, the traceparent header, trace_id vs UETR, and finding the slow span in Jaeger, Tempo, or Datadog.

Postman CLI vs Newman: Running Postman Collections in CI in 2026

Postman CLI vs Newman in CI: install and run commands, JUnit reports, spec linting, where results go, GitHub Actions YAML, and the git-native Bruno CLI.

Schemathesis API Fuzzing: Property-Based Tests From Your OpenAPI Contract

Fuzz an API from its OpenAPI contract with Schemathesis 4: run command, checks, negative and stateful tests, JUnit in CI, and triaging findings into defects.

SEPA Direct Debit for Analysts: Mandates, pacs.003, and R-Transactions

SEPA Direct Debit Core and B2B for analysts: mandates, pain.008 and pacs.003, sequence types, D-1 timelines, R-transactions, reason codes, and a test matrix.

SWIFT gpi Tracker and UETR Statuses: ACSP, G000 to G004, ACCC, RJCT

How the SWIFT gpi Tracker works for analysts: the UETR, ACSP with G000 to G004, ACCC and RJCT, the update channels and API, Stop and Recall, and what to test.

The Analyst's First 90 Days: An Onboarding Plan for a New Company or Team

A 90 day onboarding plan for technical analysts in four phases: orient, map, contribute, own. What to produce each week, with a banking ISO 20022 example.

Asking the Right Questions in a New Team: Who to Ask, What to Ask, and When

How a new analyst asks better questions: map who knows what, run first-week 1:1s, use the checked-X-think-Z format, batch questions, and keep a questions log.

Giving Feedback When You Are the New Analyst: Fresh Eyes Without Burning Bridges

How a new analyst gives useful feedback: keep an observation log, raise risk now and the rest at day 30, use evidence and SBI, and share drafts at 30%.

The 90-Day Review: Prove Your Onboarding and Leave a Better Guide Behind

How an analyst runs a 90 day onboarding review: a scored self-assessment, the evidence to bring, a retrospective, and the guide you leave the next joiner.

Onboarding as a QA Analyst: Environments, Test Data, and the Suite You Inherit

How a QA analyst onboards: map the environments, inventory test data, read the inherited suite for real coverage, and name three gaps before the next release.

Analyst Career Moves: The Complete Map for Switching In, Moving Up, and Earning More

Every analyst career move on one map: switching in, going more or less technical, moving up, and earning more, with timelines, pay deltas, and real cases.

Back to Work After a Layoff or Career Break: The Analyst's 60 Day Plan

A 60 day plan for analysts after a layoff or career break: explain the gap in one sentence, refresh skills, reconnect, bridge with a contract, hold your pay.

The Analyst Portfolio: How to Show Work When Your Work Is Confidential

How to build an analyst portfolio when your real work is confidential: 3 to 5 pieces, public or synthetic data, the right pieces per role, and a 5 minute pitch.

Analyst Salaries in 2026: Realistic Pay by Role, Level, and Country

Realistic 2026 analyst pay by role and level in the US, Canada, UK, and Eurozone: BA, technical BA, QA, SDET, data, architecture, product, and contract rates.

Which Analyst Certifications Are Worth It? CBAP, CCBA, ISTQB, PSPO, and Cloud, Ranked by Return

Which analyst certifications are worth it in 2026: CBAP, CCBA, ISTQB, PSPO, SAFe, cloud, data, and domain credentials ranked by career return for each role.

Changing Role Inside Your Company: The Cheapest Career Move an Analyst Can Make

An internal move is the cheapest analyst career change: 3 to 9 months, usually no pay cut. The step plan, the move proposal, and how to ask for a regrade.

Interviewing as a Career Changer: How to Answer "Why the Switch?" and the Case Exercise

How career changers pass analyst interviews: scripts for why the switch and no experience, the seven common case exercises, STAR stories, and the pay question.

QA Analyst to Automation Engineer (SDET): The Skills, the Timeline, and the Pay Gap

Manual QA to SDET pays 25 to 40 percent more at the same level. The stack to learn, a 6 to 12 month plan with artifacts, the AI angle, and three real moves.

From QA Tester to Business Analyst: You Already Do Half the Job

How QA testers become business analysts: what transfers, the elicitation and scope gap, a six month plan, real cases, and the typical 10 to 25 percent raise.

The Developer's Job When AI Writes the Code: Seven Skills That Now Decide Your Value

When AI generates code in seconds, a developer's value moves to proving it works: testing, review, quality, release notes, demos, proactivity, and coaching.

Developer Testing in the AI Era: Write the Oracle, Not Just the Test

AI writes tests that mirror the code, bugs included. Derive tests from the requirement, add property and contract tests, prove the suite with mutation testing.

Code Review When AI Wrote the Diff: What to Check, What to Automate, What to Ask

Reviewing AI-generated code: the failure modes to hunt for, the review order that finds them, what CI should automate, and a PR template that makes it fast.

Stripe PaymentIntents API Review: 22 of 24 on the Scorecard, and the 12 Findings Your Integration Must Own

Stripe's PaymentIntents API scored on a 12-check contract review: 22 of 24, plus the idempotency, webhook, versioning, and lifecycle findings teams must own.

The Blind Spot Review: Nine Adversarial Passes That Find the Requirements Nobody Wrote

A repeatable review that finds edge cases missing from your specification: nine lenses, one prompt each, run as a script before requirements are signed off.

Turn a Bruno or Postman Run Into a Live Sequence Diagram

Generate a Mermaid sequence diagram from a Bruno or Postman collection run: the trace script, the Postman CLI or newman JSON export, the prompt, and CI wiring.

Automating Kafka Validation in Postman: Collections, Scripts, and a CI Gate

Turn manual Kafka checks into an automated Postman collection: produce and consume over REST Proxy, poll with backoff, assert schema and ordering, run in CI.

RAG for Analysts: How to Specify and Test a Retrieval System

What retrieval-augmented generation is, the eight stages where it fails, the requirements an analyst writes for each, and a golden-set harness that proves it.

The Requirements to UAT Pipeline: One Repository From Workshop to Sign-Off

A working pipeline from workshop transcript to signed UAT result for every requirement: eight stages, three machine-readable formats, and four CI gates.

Draw Sequence Diagrams from Splunk and Datadog Logs: The Flow as It Actually Ran

Turn correlated Splunk or Datadog logs into an accurate Mermaid sequence diagram with AI. The queries, the export shape, the prompt, and the verification step.

Test Strategy to Execution: The Pipeline That Runs Your Tests and Proves the Coverage

Write a test strategy that makes decisions, turn conditions into an executable suite, run it in CI with Xray and Datadog, and generate coverage proof.

From Use Cases to UAT Scenarios: Main Flow, Alternates, Exceptions, and a Sign-Off Pack

Document use cases as structured data, generate Gherkin UAT scenarios from them, keep the requirement id on every scenario, and produce the sign-off pack.

AI-Built API Collections and Scripts: Postman, Bruno, and the Checks You Repeat

Turn an OpenAPI contract into a Bruno or Postman collection with real assertions, generate the chaining scripts, and put the whole suite behind a CI gate.

AI Guardrails for Analysts: What Never Goes Into a Prompt

The rules of engagement for AI in a regulated delivery team: what data never leaves, how to mask it, tool tiers by blast radius, and the audit trail you keep.

Building a Whole Test Plan With AI: From Requirements to Traceability

Build a complete test plan with AI in seven steps: risk, scope, conditions, cases, data, environments, and a traceability matrix proving nothing is uncovered.

Bulk Payments in ISO 20022: Batching, BatchBooking, and What Arrives

How pain.001 batching works: the three-level structure, BatchBooking, how a batch becomes statement entries, and what happens when one payment fails.

ISO 20022 Amounts and FX: Why InstdAmt and IntrBkSttlmAmt Differ

The amount fields in a pacs.008: instructed amount, interbank settlement amount, exchange rate, and the rules that decide which number the beneficiary receives.

ISO 20022 Charges: DEBT, CRED, SHAR, and the ChrgsInf Block

The charge bearer codes in a pacs.008, what each one obliges every agent in the chain to do, and how ChrgsInf records who actually took what.

Cover Payments in ISO 20022: pacs.009 COV, Serial vs Cover, and the Trap

How the cover method works: pacs.008 to the beneficiary bank, pacs.009 COV to the correspondents, and why the two must carry identical underlying details.

Sanctions Screening on ISO 20022: What Structured Data Changed

Which ISO 20022 fields sanctions screening reads, why structured addresses cut false positives, and the screening defects an analyst finds in every migration.

SEPA Instant: The Ten Second Rule and What It Breaks

How SCT Inst changes payment design: a ten second end-to-end limit, 24/7/365 availability, irrevocability, and the screening and liquidity problems that follow.

The Analyst Who Can Send an API Request: Why Hands-On API Skill Is Your Edge

Why analysts who send, chain, and script API requests move faster: verified requirements, reproducible defects, faster triage, credible POCs, and a 30-day plan.

Chaining API Requests With JavaScript in Bruno and Postman: The Scripts Analysts Need

Chain API requests in Bruno and Postman: capture values, pre-request and post-response scripts, token refresh, polling, branching, and a Stripe sandbox flow.

API Security Testing for Analysts: The OWASP API Top 10 as Test Cases

The OWASP API Security Top 10 (2023) as test cases analysts can run in Bruno or Postman: object and field authorization, auth, limits, business flows, and more.

How to Write API Test Cases: 40 Tests Derived From One Endpoint

How to write API test cases from the contract: a six-source derivation method, 40 worked cases for one payment endpoint, and data-driven automation in Bruno.

Running API Tests in CI: Bruno CLI, Postman CLI, and Newman in GitHub Actions

Run API test collections in CI with Bruno CLI, Postman CLI, or Newman in GitHub Actions: secrets, tags, JUnit and HTML reports, private networks, flaky tests.

API Versioning and Breaking Changes: How Analysts Assess Impact Before a Release

What counts as a breaking API change, versioning strategies, Deprecation and Sunset headers, detecting breaks with oasdiff, and consumer impact assessment.

Your First API Collection in Bruno and Postman: Requests, Environments, and Variables

Build a first API collection in Bruno and Postman: environments, variable precedence, inherited auth, secrets in .env or a vault, and cURL imports.

GraphQL for Analysts: How to Read, Query, and Test a GraphQL API

GraphQL for analysts: queries, variables, mutations, errors returned with HTTP 200, cursor pagination, and hands-on testing of the GitHub GraphQL API in Bruno.

Webhooks Explained for Analysts: How to Specify, Test, and Debug Them

How webhooks work and what analysts must specify: events, signatures, retries, duplicates, and ordering, plus testing with webhook.site and the Stripe CLI.

Why Did My API Request Fail? Troubleshooting Your First API Calls

Troubleshoot failed API requests by symptom: connection and SSL errors, 401 vs 403, wrong-URL 404s, 415 and 422, 429, 5xx, CORS, and unresolved variables.

AI Agents for Analysts: When an Agent Beats a Prompt

When an AI agent beats a single prompt for analyst work, what tools it needs, where the guardrails go, and the three agent flows worth building first.

Automating the Analyst Workflow: What to Script First

Which analyst tasks to automate first, ranked by payback: environment checks, test data setup, reconciliation, contract validation, ticket evidence.

Prompt Patterns for Requirements Work: Six Patterns I Reuse Weekly

Six reusable prompt patterns for requirements work: grounded extraction, format contract, adversarial review, gap interrogation, traceability, testability.

Defect Triage: The Meeting Where Analysts Earn Their Seat

Triage is a classification problem with money attached. How to rank by business impact, settle defect versus change request fast, and defer a defect on purpose.

The Go/No-Go Call: Making a Release Decision Defensible

A go decision is made under uncertainty. The analyst's job is to make it explicit, not make it disappear. The readiness dimensions and the evidence.

Refinement That Actually Refines: Turning a Story Into Something Buildable

The output of refinement is not an estimate, it is decisions closed. What to bring, how to split a story without knowing the code, and what ready means.

Working With QA: A Field Guide for Analysts Who Do Not Test

QA finds where the system disagrees with the spec, and you wrote the spec. An untestable requirement is an analyst defect. How to be the partner QA needs.

API Keys, PATs, and OAuth Tokens: The Analyst's Guide to Credentials

The difference between an API key, a personal access token, and an OAuth token, how to scope and rotate them, and where they belong across an analyst toolchain.

Automating Jira and Confluence with the REST API and a PAT

Use a personal access token and the Jira and Confluence REST APIs to generate traceability matrices and publish specs, with working Python scripts.

Bruno vs Postman for Analysts: Git-Native Collections vs the Full Platform

Bruno keeps API collections as files in your repo with no account; Postman wraps them in a cloud platform, now with Native Git. Trade-offs for pacs.008 tests.

Claude Skills for Analysts: Turning Repeatable Analysis Into Tooling

A Claude Skill packages your method, references, and scripts into a folder the model loads on demand. Build one that writes pacs.008 test cases.

The ISO 20022 Truncation Ledger: What Rich Data Actually Loses in Transit

ISO 20022 carries rich structured data, and every non-native hop quietly degrades it. The field-by-field loss ledger, and how to specify what you accept losing.

Which ISO 20022 Identifier Do You Trace On? MsgId, InstrId, EndToEndId, TxId, and UETR

Five identifiers travel with every payment and only one survives the whole chain. Which to trace on, reconcile on, deduplicate on, and never use as a key.

The ISO 20022 XML Traps: Why a Schema-Valid Message Still Gets Rejected

Namespaces, element order, the business header, empty vs absent, amount precision, and code choices. The XML layer that fails messages your test tool accepts.

Non-Functional Requirements: The Categories, With Measurable Examples

What non-functional requirements are, the categories that matter, and how to write testable NFRs with measurable targets instead of adjectives. With examples.

Smoke, Sanity, and Regression Testing: What Each One Proves

Smoke testing proves the build is testable, sanity testing proves a fix landed, regression testing proves nothing else broke. How they differ, when each runs.

SQL Window Functions for Analysts: Latest Record, Event Timing, Running Totals

SQL window functions and the three patterns analysts use daily: ROW_NUMBER for latest record per group, LAG for event timing, SUM OVER for running totals.

User Acceptance Testing: What UAT Proves That QA Cannot

What user acceptance testing is, how UAT differs from SIT and QA testing, who writes the scenarios, and the entry and exit criteria that make a UAT cycle real.

ISO 20022 Payment Status Codes: What ACSP, ACCP, and RJCT Really Mean

The ISO 20022 payment transaction statuses explained: RCVD, ACTC, ACCP, ACSP, ACSC, PDNG, RJCT, and more, with the lifecycle order and what each guarantees.

ISO 20022 Reason Codes: AC01 to RR04, the Rejection Codes That Matter

The ISO 20022 reason codes analysts meet daily: account codes (AC01, AC04, AC06), amount codes (AM04, AM05), agent and regulatory codes, and what each means.

MT to ISO 20022: The Message Mapping Every Payments Analyst Needs

Which ISO 20022 message replaces each SWIFT MT: MT103 to pacs.008, MT202 to pacs.009, MT940 to camt.053, and the traps in the mapping. A reference table.

Payment Returns, Reversals, and Recalls: pacs.004, pacs.007, and camt.056

ISO 20022 gives three ways to bring money back: returns, reversals, and recalls. Who initiates each, which message carries it, and how to model them.

Airflow vs Dagster: Orchestrating Tasks vs Orchestrating Assets

Airflow schedules tasks; Dagster declares the data assets those tasks produce. What the task vs asset split means for lineage, testing, and debugging pipelines.

Data Lineage: Trace Every Number Back to Its Source

Data lineage maps how each field flows from source through transformations to the report that shows it, enabling impact analysis, trust, and audit.

Reading a dbt DAG: The Map of How Your Data Is Built

A dbt DAG is the dependency graph of transformations, built from ref() calls. How to read one, the staging to marts convention, and why tests sit on nodes.

dbt vs SQLMesh: Two Ways to Build the Same Warehouse

dbt and SQLMesh both turn SQL into tested, versioned transformation pipelines. Where they differ: SQL parsing, environments, incremental state, and lineage.

Developer Analyst vs Backend Developer: Same Tools, Different Accountability

Both write code against the same systems. The backend developer owns the production system; the developer analyst uses code to verify and automate analysis.

Functional Analyst vs Product Owner: Correct Behavior vs Valuable Priority

A functional analyst is accountable for exact system behavior; a product owner for what gets built and in what order. The split, and which seat fits you.

Medallion Architecture: Bronze, Silver, and Gold, Explained

The medallion architecture organizes a lakehouse into bronze (raw), silver (cleaned), and gold (business-ready) layers. What each layer owns, with a diagram.

QA Analyst vs Test Engineer: What to Test vs How to Test It at Scale

A QA analyst derives what must be tested from requirements and risk; a test engineer builds the automation that runs it at scale. The split and the overlap.

The Technical Analyst Skill Matrix: 25 Skills, Five Hats, Three Levels

A self-assessment matrix of 25 skills across the five technical analyst hats, with three levels per skill and where to build each one. Original to this site.

Acceptance Criteria for AI Systems: Testing the Non-Deterministic

How to write acceptance criteria for AI and LLM features with non-deterministic outputs: bounds, properties, guardrails, and eval sets, not exact matches.

API Testing: How to Test an API End to End

A practitioner guide to API testing: status codes, response schemas, request chaining, authentication, error contracts, and checks that catch real defects.

Batch vs Event-Driven: Why Timing Shapes Everything

Batch and event-driven processing differ in timing, which shapes latency, failure modes, and customer experience. When to use each, with banking examples.

From Business Requirement to Functional Spec: Turning Intent Into Behavior

How to turn a vague business requirement into a precise functional specification: decompose intent, define inputs and outputs, and write testable behavior.

Contract Testing: Catch Breaking Changes Before They Ship

What contract testing is, how it differs from integration testing, and how consumer-driven contracts catch breaking API and event changes before production.

Dead-Letter Queues: Where Failed Messages Go

What a dead-letter queue is, why event-driven systems need one, and how an analyst specifies DLQ behavior: retries, routing, monitoring, and recovery.

Decision Tables: Every Combination, No Gaps

Use decision tables to specify complex business rules completely: conditions, actions, rule columns, and collapsing combinations so no case is undefined.

The First Time I Read an OpenAPI Contract

Field notes on going from intimidated to fluent with OpenAPI: what confused me, what clicked, and how reading the contract myself changed my analyst work.

The Functional Specification Template That Removes Ambiguity

A functional specification template: scope, actors, data, business rules, behavior, error handling, and acceptance criteria that make a spec buildable.

Git for Analysts: Get Into the Codebase

The Git an analyst actually needs: clone, navigate, read a diff, browse history, and find when behavior changed. Read the codebase without breaking anything.

How a Technical BA Investigates a Failed Payment

How a technical business analyst investigates a failed payment: the questions, the tools, and following one transaction from the complaint to the root cause.

How to Write API Requirements That Developers Can Actually Build

How to write API requirements: endpoint, method, request and response schema, status codes, error contracts, and testable acceptance criteria. With examples.

HTTP Status Codes Explained: What 200, 202, and 409 Really Mean

An analyst's guide to HTTP status codes: the 2xx, 4xx, and 5xx families, what each common code means, and why 202 Accepted vs 200 OK matters in payments.

Idempotency Testing: Proving Duplicate Requests Are Safe

How to test idempotency in APIs and event consumers: idempotency keys, duplicate requests, redelivered events, and race conditions behind double processing.

JSON for Analysts: Read the Payload Fluently

How an analyst reads JSON: objects, arrays, nesting, and types. Understand API payloads, event messages, and config files without asking a developer.

How to Test Kafka: Validating Events You Cannot See

A guide to testing Kafka: consuming events in a test, asserting schema and key, verifying ordering and duplicates, and checking consumer side effects.

Negative Test Design: Engineering the Unhappy Path

Design negative tests systematically: boundary values, invalid inputs, state violations, and failure injection, since real defects live on the unhappy path.

How to Write pacs.008 Test Cases for an ISO 20022 Migration

A field-by-field guide to pacs.008 test cases: mandatory fields, structured data, validation, reason codes, and the pacs.002 responses that prove each case.

Payment Message Flows: pain, pacs, and camt End to End

How ISO 20022 payment messages flow end to end: pain.001 initiation, pacs.008 interbank, pacs.002 and pain.002 status, and camt reporting, for analysts.

Payment Testing: How to Test a Payment Flow End to End

A practitioner guide to payment testing: one transaction through ingestion, events, settlement, and status, plus the rejection and stuck-payment cases.

The Production Support Skills Nobody Teaches Analysts

Production support skills for technical analysts: triage, tracing transactions, reading logs, staying calm, and turning incidents into requirements.

Reading an API Contract: OpenAPI Without a Developer

How an analyst reads an API contract: endpoints, methods, request and response schemas, status codes, and OpenAPI structure, without asking a developer.

What I Learned Reading Logs During a Major Incident

Field notes from a major payments incident: reading logs under pressure, what the trail revealed, and the observability lessons that became requirements.

Reading Production Logs: Trace One Transaction's Trail

How an analyst reads production logs to debug a system: correlation ids, log levels, searching by transaction, and following one request across services.

Reason Code Mapping: From Error to Customer Message

How to map payment reason codes to causes and customer messages: ISO 20022 codes like AC04, internal errors, and the mapping that prevents support incidents.

Regex for Analysts: Find the Pattern in the Data

The regular expressions an analyst actually needs: matching patterns in logs, validating formats like IBAN and BIC, and searching data. Practical, not theory.

Regression Testing in Payments: Protecting What Already Works

Regression testing in payment systems: what to retest, building a regression suite, risk-based selection, and automating checks that protect live behavior.

The Requirements Traceability Matrix: From Requirement to Test, Proven

What a requirements traceability matrix is, how to build one, and why it proves every requirement is designed, built, and tested. With a payments example.

Scripting Checks in Python: Automate What You Repeat

How an analyst uses Python to automate repetitive checks: calling APIs, comparing files, querying data, and chaining requests. Small scripts, large leverage.

SQL for Analysts: Query the State, Find the Truth

The SQL a technical analyst actually needs: SELECT, WHERE, JOIN, GROUP BY, and reading state during analysis and testing. Not for reports: for finding truth.

State Machines for Payments: Every Status, Every Transition

How to model a payment as a state machine: the states, allowed transitions, triggers, and illegal moves. The tool that makes payment status behavior precise.

User Story vs Specification: When a Story Is Not Enough

User stories capture intent; specifications capture exact behavior. The real difference, when each fits, and why complex systems need both. With examples.

What Is a Developer Analyst? The Analyst Who Ships Code

A developer analyst reads and writes enough code to verify, automate, and prototype without becoming a full-time engineer. What the role does in payments.

What Is a Functional Analyst? The Bridge Between Business and Build

A functional analyst turns business intent into precise, testable system behavior. What the role does in banking and payments, and how it differs from a BA.

What Is a QA Analyst? Quality Engineering for Real Systems

A QA analyst proves a system behaves correctly by testing it end to end, not by reading the spec. Here is what the role does in banking and payments.

Why Acceptance Criteria Failed on an AI Project

Field notes on an AI project where acceptance criteria failed: why exact-match criteria break on non-deterministic output, and what we replaced them with.

You Don't Understand the System Until You Test It

Why testing a payment flow end to end teaches you the system and the UX better than any diagram: microservices, Kafka, the database, logs, and pain.002.

Free account

Practice on the Labs, keep your progress

A free account, no password: an email link signs you in. It saves your steps and self-assessments on the Labs, shows your missions on a dashboard, unlocks the solutions, and, if you tick the box, sends you new missions and articles when they ship.

Your email is used to sign you in. Nothing else, unless you ask. Privacy.