# Testing & QA

> Selected Engineer ApS work demonstrating Testing & QA — the achievements that prove it.

- [Streamlined CI/CD processes, saving 4,000 hours by introducing automation in software development pipelines.](https://advisory.engineer.company/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Migrated the HTTP API from Fiber to Huma v2 — 649 paths and 760 operations — reaching and holding 100% parity between the routes the server registers and the OpenAPI description it publishes.](https://advisory.engineer.company/portfolio/migrated-the-http-api-from-fiber-to-huma-60/)
- [Authored 578 go‑task automation targets spanning native, Docker and HTTPS dev modes, linting, testing, database and deployment.](https://advisory.engineer.company/portfolio/authored-578-go-task-automation-targets-70/)
- [Set a zero‑warnings quality bar across six languages — Go, TypeScript, SQL, Python, Shell and Markdown — enforced by pre‑commit hooks.](https://advisory.engineer.company/portfolio/set-a-zero-warnings-quality-bar-across-six-79/)
- [Built a layered automated test suite — 981 Go tests, 543 frontend and browser specs, 494 SQL behavioural tests — with mutation testing, property‑based tests and an accessibility gate.](https://advisory.engineer.company/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [Built the repository's guard engine — 268 registered commit checks, 277 lint rules and 15 custom ESLint rules — plus 146 tests of the guards themselves, so the build holds the standard, not review.](https://advisory.engineer.company/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Built a commit gate of 22 one‑line linters plus five that earn a paragraph, with no warning tier and no inline suppressions permitted, covering HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, spelling, secrets and typography.](https://advisory.engineer.company/portfolio/built-a-22-linter-commit-gate-127/)
- [Cut the site's browser‑driven quality gate from 1,636 seconds to 615 by scheduling its checks longest‑first through a worker pool bounded to four lanes, after measuring that alphabetical order cost 320 seconds against 224.](https://advisory.engineer.company/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Put the documentation under its own linter — a per‑file line budget that only ratchets down, an index requirement and a real‑path check — which found six of nine plans marked done while carrying unchecked boxes, and fourteen commit‑gating tasks named in no document.](https://advisory.engineer.company/portfolio/put-the-documentation-under-its-own-linter-142/)
- [Brought 10,242 lines of quality‑gate JavaScript under a formatter and a linter after establishing it was the largest body of code in the repository and the only one nothing read, fixing 13 findings and suppressing none.](https://advisory.engineer.company/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Held the generator to 981 test cases at a 92% branch‑coverage floor with warnings treated as failures, and asserted idempotence by running the whole build pipeline twice from an empty file and requiring the second pass to change nothing.](https://advisory.engineer.company/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Established PDF/UA‑1 conformance across nine documents at 106 of 106 rules, and found the archival variant failing one rule of 146 — a near‑miss that reads as a pass to anyone not running the validator.](https://advisory.engineer.company/portfolio/established-pdf-ua-1-conformance-across-nine-documents-146/)
- [Selected every rule the Python linter has as an error, working through 1,815 findings to reach zero, with each of the few exemptions carrying a written reason and two of them backed by a checker instead of a comment.](https://advisory.engineer.company/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Wrote tests for the checkers themselves after establishing that a checker fed only clean input will one day report clean because it read nothing — planting a misspelling to confirm the spell‑check finds it, and taking an id range from the database rather than from a number in the test.](https://advisory.engineer.company/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Found the commit hooks and the quality gate running different checks while a document promised they were the same, by comparing the two lists in a test — the five that only ever ran by hand were the ones reading the CV prose.](https://advisory.engineer.company/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Built a cross‑language content check that fails when a translation drops a figure the English states, and when a language uses notation it does not use — finding two Danish descriptions missing a metric and sixteen Ukrainian spans quoting in the English style.](https://advisory.engineer.company/portfolio/built-a-cross-language-figure-and-notation-check-153/)
- [Adopted Swift 6 complete strict concurrency with no actors, bridging a blocking C event loop to the main actor through one producer, one consumer and one ordering — after establishing that a task per event loses the ordering the interface depends on.](https://advisory.engineer.company/portfolio/adopted-swift-6-strict-concurrency-over-a-c-event-loop-156/)
- [Wrote a parser that reads the real 7,308‑line C header and verifies every call site, every enum constant and that every pointer‑owning class is final, after a hand‑written placeholder header let calls to three removed functions compile, link and crash.](https://advisory.engineer.company/portfolio/wrote-a-parser-that-verifies-every-ffi-call-site-157/)
- [Took the test suite from six tests over a sixty‑second limit to 135 passing in 8.9 seconds by profiling the main thread and removing the two calls it sat inside for 3,989 samples out of 4,017.](https://advisory.engineer.company/portfolio/took-the-test-suite-under-nine-seconds-158/)
- [Rewrote the application's error messages against a written tone standard after a refused sign‑in blamed the user for mistyping when the provider actually required an app‑specific password, and covered it with a test that names the provider.](https://advisory.engineer.company/portfolio/rewrote-the-error-messages-against-a-tone-standard-162/)

<https://advisory.engineer.company/categories/testing/>
