# 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://platform.engineer.company/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Generated the API contract outward from the database — OpenAPI, a 44,076‑line typed TypeScript client, 61 mock handlers and the limits the UI enforces — with a guard at every hop that fails on drift.](https://platform.engineer.company/portfolio/built-a-request-schema-validation-contract-with-automated-61/)
- [Built GitHub Actions CI/CD pipelines with a distroless production frontend image and multi‑environment promotion.](https://platform.engineer.company/portfolio/built-github-actions-ci-cd-pipelines-with-a-69/)
- [Authored 578 go‑task automation targets spanning native, Docker and HTTPS dev modes, linting, testing, database and deployment.](https://platform.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://platform.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://platform.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://platform.engineer.company/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Kept the schema honest across 1,022 migrations with a CI gate that builds the database both ways — a fresh install, and an install plus every migration — and fails when the two disagree.](https://platform.engineer.company/portfolio/kept-the-schema-honest-across-1022-migrations-99/)
- [Hardened SSH to 24 asserted directives with three‑stage validation — the candidate file, the assembled config, then the daemon's own read‑back — after the read‑back caught the running server silently overriding two of the twenty‑four.](https://platform.engineer.company/portfolio/hardened-ssh-with-three-stage-validation-111/)
- [Proved the intrusion‑banning path end to end on every hardening run by banning a reserved test address, reading the resulting kernel rule and unbanning in a guaranteed cleanup block, so a jail that stops working fails a run instead of reporting healthy.](https://platform.engineer.company/portfolio/proved-the-intrusion-banning-path-on-every-converge-112/)
- [Verified firewall rules by position rather than presence, reading the numbered rule list and the live packet‑filter chain, because a rule that exists is not a rule any packet reaches.](https://platform.engineer.company/portfolio/verified-firewall-rules-by-position-113/)
- [Made check mode tell the truth across the whole platform after finding six probes deciding on a value the host never gave, because Ansible's command module reports success under --check while skipping the command entirely.](https://platform.engineer.company/portfolio/made-ansible-check-mode-tell-the-truth-116/)
- [Added a preflight play that runs the same code as the converge against operator‑local secrets in about a second, after a half‑applied production run died on its ninth task with the swap settings already written to the live host.](https://platform.engineer.company/portfolio/added-a-preflight-play-for-secrets-117/)
- [Cut systemd sandbox exposure across every unit this platform installs — a dead‑man's‑switch service from 9.6 UNSAFE to 1.5, an internet‑facing git forge from 8.3 EXPOSED to 1.5 — and added a converge‑time parser check after finding a misspelled directive silently ignored in three unit templates.](https://platform.engineer.company/portfolio/cut-systemd-sandbox-exposure-across-every-unit-119/)
- [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://platform.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://platform.engineer.company/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Fixed a sitemap where 172 of 176 URLs shared one modification timestamp, by taking the date from git history after establishing that the export rewrites every file on every run.](https://platform.engineer.company/portfolio/fixed-a-sitemap-with-one-shared-timestamp-140/)
- [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://platform.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://platform.engineer.company/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [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://platform.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://platform.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://platform.engineer.company/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Rehearsed the forge‑side CI hook and found two defects unreachable by reading the file: a fallback that put an unresolvable argument on the hook's input, and git's own environment variable following the gate into the checkout and turning 19 tests red.](https://platform.engineer.company/portfolio/rehearsed-the-forge-side-ci-hook-151/)
- [Stopped an application filling memory at 41 MB a second — a recorded 111 GB of compressed pages on a 36 GB machine — by bounding every event stream, subscribing by event type and putting a rate budget on logging, taking 610,996 log lines down to 1,411.](https://platform.engineer.company/portfolio/stopped-an-application-filling-memory-at-41mb-a-second-155/)
- [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://platform.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://platform.engineer.company/portfolio/took-the-test-suite-under-nine-seconds-158/)
- [Reached the half of the messaging core the application had never used — backup transfer, disappearing messages, message editing and resending, verified invitations, proxies and encryption policy — driving every test against the real library with no mocks.](https://platform.engineer.company/portfolio/reached-the-unused-half-of-the-messaging-core-161/)

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