Test & QA
28 resultater

Foto: viarami / Pixabay 
Foto: Pixel-mixer / Pixabay
-
Har strømlinet CI/CD og sparet 4.000 timer
Har strømlinet CI/CD‑processer og sparet 4.000 timer ved at indføre automatisering i softwareudviklingspipelines.
-
Har genereret API‑kontrakten ud fra databasen
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 kontrol i hvert led, der fejler ved afvigelser.
-
Har bygget GitHub Actions CI/CD‑pipelines
Har bygget GitHub Actions CI/CD‑pipelines med et distroless frontend‑image til produktion og promovering gennem flere miljøer.
-
Har skrevet 578 go‑task‑automatiseringsmål
Har skrevet 578 go‑task‑automatiseringsmål, der dækker udviklingstilstandene native, Docker og HTTPS, linting, test, database og udrulning.
-
Har indført nul advarsler som krav i seks sprog
Har sat en kvalitetsstandard med nul advarsler i seks sprog — Go, TypeScript, SQL, Python, Shell og Markdown — håndhævet af pre‑commit‑hooks.
-
Har bygget en testsuite til Go, SQL og browseren
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 bygget en kontrolmotor med 268 tjek
Har bygget repositoryets kontrolmotor — 268 registrerede commit‑tjek, 277 lint‑regler og 15 egne ESLint‑regler — plus 146 tests af selve tjekkene, så det er builden, der holder standarden, ikke reviewet.
-
Har holdt 1.022 migrationer fri for skemadrift
Har holdt skemaet konsistent gennem 1.022 migrationer med en CI‑gate, der bygger databasen begge veje — en frisk installation og en installation plus hver eneste migration — og fejler, når de to ikke stemmer overens.
-
Har hærdet SSH til 24 validerede direktiver
Har hærdet SSH til 24 direktiver, der alle kontrolleres med assertions, med validering i tre trin — kandidatfilen, den samlede konfiguration og til sidst dæmonens egen tilbagelæsning — efter at tilbagelæsningen afslørede, at den kørende server ubemærket tilsidesatte to af de fireogtyve.
-
Har bevist, at blokeringen virker ved hver kørsel
Har eftervist blokeringsvejen fra ende til anden ved hver hærdningskørsel ved at blokere en reserveret testadresse, læse den resulterende kerneregel og ophæve blokeringen i en oprydningsblok, der altid kører, så en jail, der holder op med at virke, får kørslen til at fejle i stedet for at melde alt i orden.
-
Har verificeret firewallregler efter position
Har verificeret firewallregler efter position snarere end tilstedeværelse ved at læse den nummererede regelliste og den kørende pakkefilterkæde, fordi det, at en regel findes, ikke betyder, at nogen pakke når frem til den.
-
Har fået check‑tilstanden til at vise sandheden
Har fået check‑tilstanden til at vise sandheden på hele platformen efter at have fundet seks sonder, der traf beslutning ud fra en værdi, værten aldrig havde leveret, fordi Ansibles command‑modul melder succes under --check, mens det springer kommandoen helt over.
-
Har tilføjet et preflight‑tjek af hemmeligheder
Har tilføjet et preflight‑play, der kører den samme kode som konvergensen mod operatørens lokale hemmeligheder på omkring et sekund, efter at en produktionskørsel var gået ned halvvejs, ved sin niende opgave, med swap‑indstillingerne allerede skrevet til den kørende vært.
-
Har strammet systemd‑sandboxen på hver unit
Har reduceret eksponeringen i systemd‑sandkassen for hver unit, platformen installerer — en dead man's switch‑tjeneste fra 9,6 UNSAFE til 1,5, en git‑forge med adgang fra internettet fra 8,3 EXPOSED til 1,5 — og tilføjet et parsertjek ved konvergens efter at have fundet et fejlstavet direktiv, der ubemærket blev ignoreret i tre unit‑skabeloner.
-
Har bygget en commit‑gate med 22 lintere
Har bygget en commit‑gate med 22 lintere, der hver kan beskrives på én linje, plus fem, der fortjener et afsnit, uden advarselsniveau og uden tilladte inline‑undertrykkelser, og som dækker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, stavning, hemmeligheder og typografi.
-
Et sikkerhedsnet, der ikke længere koster en halv time
Har skåret sitets browserdrevne kvalitetsgate fra 1.636 sekunder til 615 ved at afvikle dens tjek med de længste først gennem en worker‑pulje begrænset til fire spor, efter at have målt, at alfabetisk rækkefølge kostede 320 sekunder mod 224.
-
Har rettet et sitemap med ét fælles tidsstempel
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 lintet selve kvalitetsgaten på 10.242 linjer
Har bragt 10.242 linjer kvalitetsgate‑JavaScript under en formatter og en linter efter at have fastslået, at det var den største kodemængde i repositoryet og den eneste, som intet værktøj læste, og rettet 13 fund uden at undertrykke nogen.
-
Har givet generatoren 981 tests og 92 % dækning
Har holdt generatoren på 981 testtilfælde og en nedre grænse på 92 % grendækning med advarsler behandlet som fejl og eftervist idempotens ved at køre hele build‑pipelinen to gange fra en tom fil og kræve, at det andet gennemløb intet ændrer.
-
Har slået alle linterregler til som fejl
Har slået hver eneste regel i Python‑linteren til som fejl og arbejdet 1.815 fund ned til nul, hvor hver af de få undtagelser har en skriftlig begrundelse, og to af dem er sikret af et tjek i stedet for en kommentar.
-
Har skrevet tests af selve tjekkene
Har skrevet tests af selve tjekkene efter at have fastslået, at et tjek, der kun fodres med rent input, en dag melder fejlfrit, fordi det intet har læst — ved at plante en stavefejl for at bekræfte, at stavekontrollen finder den, og ved at tage et id‑interval fra databasen i stedet for fra et tal i testen.
-
Har fundet uenighed mellem hooks og kvalitetsgate
Har opdaget, at commit‑hooks og kvalitetsgaten kørte forskellige tjek, selvom et dokument lovede, at de var de samme, ved at sammenligne de to lister i en test — de fem, der kun nogensinde blev kørt manuelt, var dem, der læste CV‑prosaen.
-
Har prøvekørt forgens CI‑hook og fundet 2 fejl
Har prøvekørt CI‑hooken på forge‑siden og fundet to fejl, som ikke kunne findes ved at læse filen: en fallback, der sendte et argument, som ikke kunne opløses, ind i hookens input, og gits egen miljøvariabel, der fulgte gaten ind i checkouten og gjorde 19 tests røde.
-
En app, der åd 41 MB i sekundet, standset
Har stoppet en applikation i at fylde hukommelsen med 41 MB i sekundet — 111 GB komprimerede sider målt 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 bragte 610.996 loglinjer ned på 1.411.
-
Har skrevet en parser, der tjekker hvert FFI‑kald
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 klasse, der ejer en pointer, er final, efter at en håndskrevet pladsholder‑header lod kald til tre fjernede funktioner kompilere, linke og crashe.
-
Har fået testsuiten ned på 8,9 sekunder
Har taget testsuiten fra seks tests over en grænse på tres sekunder til 135 beståede på 8,9 sekunder ved at profilere hovedtråden og fjerne de to kald, den hang i ved 3.989 ud af 4.017 stikprøver.
-
Har taget den ubrugte halvdel af kernen i brug
Har taget den halvdel af beskedkernen i brug, som applikationen aldrig havde brugt — backupoverførsel, forsvindende beskeder, redigering og gensendelse af beskeder, verificerede invitationer, proxyer og krypteringspolitik — og kørt hver test mod det rigtige bibliotek uden mocks.
-
Har fået seks indsamlere til at melde det ulæste
Har fået seks rapporteringsindsamlere til at oplyse den del af deres input, de aldrig læste — uåbnede filer, ikke‑installerede sonder og ugenkendte journallinjer — og tilpasset tærskler til 116 målte stikprøver efter at have fastslået, at en blind indsamling og en rask vært giver den samme side.
Hvis det er det arbejde, du har brug for, er næste skridt en samtale.
Fortæl os problemet, så siger vi ærligt, om vi er de rette til det.
Dette arbejde er en del af det, vi tilbyder som DevOps & CI/CD‑automatisering, Teknisk ledelse & rådgivning, Backend- & API‑udvikling, Sikkerhed & adgangsstyring, Systemadministration, Teknisk dokumentation, Infrastructure as Code og Udvikling af skræddersyede AI‑agenter.
Er du ved at bygge noget, der kræver det her? Kontakt os.

