Test & QA
25 resultater
- Har migreret HTTP‑API'et fra Fiber til Huma v2 — 649 paths og 760 operationer — og opnået og fastholdt 100 % paritet mellem de ruter, serveren registrerer, og den OpenAPI‑beskrivelse, den udgiver.
- Har genereret API‑kontrakten udad fra databasen — OpenAPI, en typet TypeScript‑klient på 44.076 linjer, 61 mock handlers og de grænser, UI'et håndhæver — med en guard i hvert led, der fejler ved drift.
- Har bygget en lagdelt automatiseret testsuite — 981 Go‑tests, 543 frontend- og browserspecs, 494 SQL‑adfærdstests — med mutationstest, property‑based tests og en tilgængelighedsgate.
- Har skåret sitets browserdrevne kvalitetsgate fra 1.636 sekunder til 615 ved at planlægge dens tjek længst‑først gennem en worker‑pulje begrænset til fire baner, efter at have målt at alfabetisk rækkefølge kostede 320 sekunder mod 224.
- Har erstattet 27 gengivne skriftstørrelser, hvis nærmeste naboer lå 0,6 % fra hinanden, med en seks‑trins Major Third‑skala og har skrevet den linter, der fejler på den otteogtyvende.
- Har taget WCAG 2.2 niveau AA på tværs af 32 repræsentative sider — én pr. skabelon pr. sprog — i begge farvetemaer, plus to AAA‑kriterier, med et dokumenteret konformitetsnotat og et tjek, der forsvarer hver påstand.
- Har fundet og rettet 11 tilgængelighedsfejl, som browseren meldte sunde — otte footer‑links stadig i tab‑rækkefølgen bag pointer‑events, en scroll‑tidslinje, der klippede kolofonen af tre sider, og en regelmotor, der kørte 70 af sine 105 regler.
- Har lukket farvesystemet ved 28 dokumenterede farver med en linter, der fejler på en værdi, der er malet men udokumenteret, dokumenteret men umalet, fejlmålt, omstavet som en literal eller inden for en perceptuel afstand på 0,02 fra en, der allerede findes.
- Har fundet, at det lyse tema havde manglet et fuldsides overlay‑lag siden den dag, det blev skrevet, ved at hævde at begge temaer maler hver lagdelt flade med det samme antal lag.
- Har gjort reduceret bevægelse ærlig efter at have fundet elleve selektorer, der stadig animerede under præferencen, fordi en universel transition‑none‑regel taber på specificitet til enhver regel, der bærer en klasse.
- Har rettet et sitemap, hvor 172 af 176 URL'er delte ét ændringstidsstempel, ved at tage datoen fra git‑historikken efter at have fastslået, at eksporten omskriver hver fil ved hver kørsel.
- Har bragt 10.242 linjer kvalitetsgate‑JavaScript under en formatter og en linter efter at have fastslået, at det var kodebasens største kodemængde og den eneste, intet læste, og har rettet 13 fund uden at undertrykke nogen.
- Har holdt generatoren til 981 testtilfælde med et dækningsgulv på 92 % grendækning og advarsler behandlet som fejl, og har hævdet idempotens ved at køre hele build‑pipelinen to gange fra en tom fil og kræve, at anden gennemløb intet ændrer.
- Har etableret PDF/UA‑1‑konformitet på tværs af ni dokumenter ved 106 af 106 regler og har fundet arkivvarianten fejle én regel ud af 146 — et nærved‑resultat, der læses som bestået af enhver, der ikke kører validatoren.
- Har valgt hver eneste regel, Python‑linteren har, som fejl og har arbejdet 1.815 fund ned til nul, hvor hver af de få undtagelser bærer en skreven begrundelse og to af dem er understøttet af et tjek frem for en kommentar.
- Har indlejret en QR‑encoder — Reed‑Solomon over GF(256), fast modullayout, otte maskemønstre — på 522 linjer frem for at tage en tredje runtime‑afhængighed, og har verificeret den ved at læse den færdige matrix tilbage med en uafhængigt skrevet dekoder.
- Har bygget et tværsprogligt indholdstjek, der fejler, når en oversættelse taber et tal, det engelske angiver, og når et sprog bruger notation, det ikke bruger — og har fundet to danske beskrivelser, der manglede en metrik, og seksten ukrainske spænd, der citerede på engelsk vis.
- Har stoppet en applikation i at fylde hukommelsen med 41 MB i sekundet — registrerede 111 GB komprimerede sider på en maskine med 36 GB — ved at begrænse hver hændelsesstrøm, abonnere efter hændelsestype og lægge et ratebudget på logning, hvilket tog 610.996 loglinjer ned til 1.411.
- Har taget Swift 6 fuldstændig streng samtidighed i brug uden aktører og har bygget bro fra en blokerende C‑hændelsesløkke til hovedaktøren gennem én producent, én forbruger og én rækkefølge — efter at have fastslået, at en opgave pr. hændelse mister den rækkefølge, grænsefladen afhænger af.
- Har skrevet en parser, der læser den rigtige C‑header på 7.308 linjer og verificerer hvert kaldssted, hver enum‑konstant og at hver pegerejende klasse er final, efter at en håndskrevet pladsholder‑header lod kald til tre fjernede funktioner kompilere, linke og crashe.
- Har navngivet hver eneste ikonknap i grænsefladen for skærmlæsere efter at have fundet send‑knappen annonceret som "arrow up circle, button", og har skrevet den linter, der kræver etiketten inden for otte linjer fra ikonet.
- Har bygget et designsystem på 48 tokens oven på platformens eget glasmateriale og har skrevet den linter, der afviser et magisk tal, en hårdkodet skriftstørrelse eller en animation, der ignorerer præferencen for reduceret bevægelse.
- Har nået den halvdel af beskedkernen, applikationen aldrig havde brugt — backupoverførsel, forsvindende beskeder, redigering og gensendelse af beskeder, verificerede invitationer, proxyer og krypteringspolitik — og har drevet hver test mod det rigtige bibliotek uden mocks.
- Har omskrevet applikationens fejlbeskeder efter en skreven tonestandard, efter at et afvist login gav brugeren skylden for at have tastet forkert, mens udbyderen i virkeligheden krævede en applikationsspecifik adgangskode, og har dækket det med en test, der nævner udbyderen.
- Har bygget virksomhedens ikon- og favicon‑sæt ud fra to håndlavede tegninger, hvor hvert afledt aktiv genskabes af et script og et tjek fejler, når en afledt fil er committet før sin kilde.
Dette arbejde er en del af det, vi tilbyder som Frontend‑udvikling, UI/UX‑design & designsystemer, Backend- & API‑udvikling, DevOps & CI/CD‑automatisering, Teknisk ledelse & rådgivning, Webstedsudvikling & CMS, Brand, marketing & SEO og Teknisk dokumentation.
Er du ved at bygge noget, der kræver det her? Kontakt os.