Edistynyt20 min

Claude Code: testaus ja debuggaus käytännössä

Testaus ja debuggaus ovat alueita, joissa Claude Code todella loistaa. Se voi kirjoittaa kattavia testejä, analysoida virheviestejä, debugata ongelmia ja jopa korjata CI-putkessa hajonneita testejä. Tässä oppaassa opit hyödyntämään Claudea testauksessa ja virheenkorjauksessa.

Testien kirjoittaminen

Claude Code on erinomainen testien kirjoittaja. Se ymmärtää koodin toiminnan ja osaa tunnistaa testattavat skenaariot:

Yksikkötestit: Claude lukee funktion, tunnistaa reunatapaukset ja kirjoittaa kattavat testit.

Integraatiotestit: Claude ymmärtää komponenttien vuorovaikutuksen ja testaa ne yhdessä.

Edge caset: Claude löytää reunatapauksia joita et itse välttämättä huomaisi - null-arvot, tyhjät taulukot, virhetilanteet.

# Kirjoita testit yhdelle tiedostolle:
> kirjoita yksikkötestit src/lib/utils/format.ts tiedostolle

# Kirjoita testit kansiolle:
> kirjoita testit kaikille src/lib/ funktioille

# Kohdistetut testit:
> kirjoita testit jotka kattavat virhetilanteet src/api/users.ts tiedostossa

# Testit olemassa olevan koodin pohjalta:
> katso miten muut testit on kirjoitettu tässä projektissa
> ja kirjoita vastaavat testit src/lib/auth.ts tiedostolle

# Aja ja korjaa:
> aja testit ja korjaa ne jotka eivät mene läpi
Vinkki: Pyydä Claudea katsomaan ensin olemassa olevat testit - näin se noudattaa projektin testauskonventioita.

Virheiden analysointi

Kun kohtaat virheen, Claude Code osaa analysoida sen syvällisesti:

Virheviestien tulkinta: Kopioi virheviesti tai kerro Claudelle mitä tapahtuu. Claude analysoi virheen ja ehdottaa korjauksia.

Stack tracen analyysi: Claude osaa lukea stack tracen ja löytää virheen alkuperän - myös monimutkaisissa ketjuissa.

Tyyppivirheet: TypeScript-tyyppivirheet ovat Claudelle helppoja. Se ymmärtää tyyppijärjestelmän syvällisesti.

# Virheviesti suoraan Claudelle:
> saan tämän virheen kun ajan sovelluksen:
> "Error: NEXT_NOT_FOUND - Route /api/users not found"
> mistä tämä johtuu?

# Stack trace analyysi:
> tämä stack trace tulee tuotannosta, analysoi ja korjaa:
> [liitä stack trace]

# Putkita virheloki:
cat build.log | claude "analysoi nämä build-virheet ja korjaa ne"

# Runtime-virhe:
> sovellus kaatuu kun käyttäjä kirjautuu sisään
> virheilmoitus on "Cannot read properties of null (reading 'email')"
> tutki ja korjaa

# TypeScript-virheet:
> korjaa kaikki TypeScript-virheet tässä projektissa
# Claude ajaa tsc --noEmit, analysoi virheet ja korjaa ne

CI/CD-putkien korjaaminen

Yksi Claude Coden parhaista käyttötapauksista on CI-putkessa hajonnut buildi tai testit:

Työnkulku: 1. CI raportoi virheestä 2. Anna Claudelle CI-lokit tai virheviesti 3. Claude analysoi ongelman 4. Claude korjaa koodin 5. Voit tarkistaa ja pushata korjauksen

Tämä toimii erityisen hyvin one-shot-komennolla, jolloin voit automatisoida korjauksen.

# CI-virheen korjaaminen:
> CI failaa tässä branchissa, tässä on virheloki:
> [liitä CI-loki]
> korjaa ongelma

# One-shot CI-korjaus:
claude "CI failaa lint-vaiheessa. Aja npm run lint ja korjaa kaikki virheet."

# Testien korjaus CI:ssä:
claude "nämä testit failaavat CI:ssä: [testien nimet]. Korjaa ne."

# Build-virheen korjaus:
> production build failaa, aja build ja korjaa virheet
# Claude: npm run build
# Analysoi virheet
# Korjaa tiedostot
# Ajaa buildin uudelleen
Vinkki: Voit lisätä Claude Code -komennon CI-putkeen, joka automaattisesti yrittää korjata hajonneita testejä ja tekee PR:n korjauksesta.

Suorituskyvyn debuggaus

Claude Code auttaa myös suorituskykyongelmien tutkimisessa:

Hidas koodi: Claude osaa analysoida koodin ja löytää suorituskykypullonkauloja.

Muistivuodot: Claude tunnistaa tyypilliset muistivuotopatternit React-sovelluksissa ja Node.js-palvelimissa.

Tietokantakyselyt: Claude osaa optimoida SQL-kyselyitä ja tunnistaa N+1-ongelmia.

# Suorituskykyanalyysi:
> tämä API-endpoint on hidas (vastausaika 3s).
> tutki src/api/products.ts ja optimoi

# React-renderöintiongelma:
> tämä komponentti renderöityy liian usein.
> analysoi src/components/ProductList.tsx ja optimoi

# Tietokantaoptimointy:
> nämä tietokantakyselyt ovat hitaita.
> analysoi ja ehdota indeksejä tai kyselyoptimointeja

# Muistivuoto:
> sovelluksen muistinkäyttö kasvaa ajan myötä.
> tutki onko muistivuotoja ja korjaa ne

Testikattavuuden parantaminen

Claude Code voi systemaattisesti parantaa projektisi testikattavuutta:

Prosessi: 1. Claude tarkistaa nykyisen testikattavuuden 2. Tunnistaa testaamattomat tiedostot ja funktiot 3. Kirjoittaa puuttuvat testit 4. Ajaa testit ja varmistaa toimivuuden

Hyviä pyyntöjä: - "Paranna testikattavuutta src/lib/ kansiossa" - "Mitä funktioita ei ole testattu?" - "Lisää edge case -testit olemassa oleviin testeihin" - "Kirjoita integraatiotestit API-endpointeille"

# Tarkista kattavuus:
> aja testit kattavuusraportilla ja kerro mikä puuttuu

# Kirjoita puuttuvat testit:
> analysoi testikattavuusraportti ja kirjoita testit
> tiedostoille joilla on alle 80% kattavuus

# Edge case -testit:
> lisää edge case -testit src/lib/validators.ts testeille:
> - tyhjä input
> - null/undefined
> - erittäin pitkä string
> - erikoismerkit

# Aja kaikki ja varmista:
> aja kaikki testit ja varmista ettei mikään ole rikki
Vinkki: Pyydä Claudea tarkistamaan testikattavuus ennen PR:n luontia. Se voi kirjoittaa puuttuvat testit samalla kertaa.

Yhteenveto

  • Claude Code kirjoittaa testit jotka noudattavat projektin konventioita
  • Virheviestit ja stack tracet voi antaa suoraan Claudelle analysoitavaksi
  • CI-virheiden korjaaminen onnistuu one-shot-komennoilla
  • Claude löytää edge caset ja suorituskykyongelmat joita et itse huomaa

Usein kysytyt kysymykset