01.02 — ISTQB vs pytest / Jest / Mocha

01.02 — ISTQB vs pytest / Jest / Mocha#

The methodological observation#

Past the technical bet on the technical / non-technical barrier (see 01-flip-the-problem.md), there’s a second bet: the one on trade vocabulary.

The ISTQB and professional testers have spent decades building a precise, battle-tested vocabulary: test cycles, campaigns, test suites, test cases, test steps. A clear hierarchy, built to organize, trace and drive software quality.

Automation tools have largely ignored that legacy.

12.08 — Ocarina in the testing industry

12.08 — Ocarina in the testing industry#

Ocarina isn’t a better pytest, isn’t a better Robot Framework, isn’t a better Cypress. It’s structurally elsewhere. This chapter tries to explain the shift it represents and the head start it takes.

1. The current industry map#

Three big e2e tool families#

FamilyExamplesModel
Text DSLsRobot Framework, Cucumber + GherkinPermanent translation layer between text and code
Runner pluginspytest-selenium, pytest-playwright, pytest-bddGrafted onto pytest, inherit its lifecycle
Vendor SaaSBrowserStack, Sauce Labs, LambdaTest, Cypress DashboardLocal runner + paid execution cloud

Three shared friction surfaces#

FrictionManifestation
Marketing > TechnicalTools sold on demos, conferences, and oriented certifications. Hype drives adoption.
Vendor lock-inOnce adopted, refactor is costly, hostage taking.
Misplaced cognitive effortUnderstanding the tool takes longer than doing the work.

2. Ocarina’s technical bet#

  1. No text DSL → pure Python, embedded DSL.
  2. No pytest plugin → integrated runner, absolute ISTQB fidelity.
  3. No async/await → simplicity, Selenium-synchronous compatibility, no “geek tricks”.
  4. No SaaS → all local, very dense core, white box.

See also: ../11-independence/03-explicit-refusals.md

12.15 — Typing, ISTQB, Reinforcement Learning, probes: why AI works in Ocarina

12.15 — Typing, ISTQB, Reinforcement Learning, probes: why AI works in Ocarina#

Why so much obsession over strict typing, formalizing every interface, alignment on ISTQB, refusing to execute an assertion without having observed? The mechanism is borrowed from Reinforcement Learning: an agent only progresses under constraint + reward signal.

1. A naked LLM is just a bad collaborator#

An LLM without a structured environment is:

  • Optimistic — it assumes its code works.
  • Persuasive — its output is convincing even when wrong.
  • Memoryless — it forgets conventions between sessions.
  • Feedbackless — it has no way to know it was wrong.
  • Loves what it deems “most likely” — it drifts toward popular patterns, not correct ones.

Without an environment, an LLM is an over-confident junior dev producing code that looks right, breaks in prod, and learns nothing from the failure.