Testning på avancerad nivå: JUnit, Mockito och integrationstester · Lektion

Testrapportering och mätvärden

Analysera testresultat, generera omfattande rapporter och använd mätvärden för att följa testtäckning och kvalitet över tid.

Lektion 3 av 411 steg

Testrapportering och mätvärden är en gratis lektion i Testning på avancerad nivå: JUnit, Mockito och integrationstester på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Testning på avancerad nivå: JUnit, Mockito och integrationstester, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Testning på avancerad nivå: JUnit, Mockito och integrationstester innehåller totalt 4 lektioner.

Varför testrapporter är viktiga

Testrapporter är viktiga dokument som sammanfattar resultaten av era programvarutester. De ger en tydlig överblick över om programmets komponenter fungerar korrekt och uppfyller kvalitetskraven.

Rapporterna är viktiga för utvecklare, testare och projektledare, eftersom de snabbt kan bilda sig en uppfattning om kodbasens aktuella kvalitet och stabilitet.

Viktiga detaljer i testrapporter

En omfattande testrapport innehåller mer än ett enkelt ”godkänd” eller ”underkänd”. Den innehåller vanligtvis:

  • Totalt antal tester: Antalet körda tester.
  • Godkända/misslyckade/hoppade över: Antalet tester för varje utfall.
  • Varaktighet: Hur lång tid testerna tog att köra.
  • Felmeddelanden: Detaljerade meddelanden och stackspårningar för eventuella fel.
  • Miljöinformation: Information om var testerna kördes.

Generera grundläggande JUnit-rapporter

När ni kör JUnit-tester med byggverktyg som Maven eller Gradle, eller direkt från en IDE, genereras rapporter automatiskt. De börjar ofta som XML-filer (till exempel Surefire-rapporter) som sedan kan omvandlas till mer lättläst HTML.

Prova att köra detta enkla JUnit-test och observera hur en testrunner rapporterar att det lyckades:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class SimpleMathTest {

  @Test
  void testAddition() {
    int result = 2 + 2;
    assertTrue(result == 4, "2 + 2 should be 4");
  }

  public static void main(String[] args) {
    // JUnit tests are typically run by a test runner (e.g., Maven, Gradle, or IDE).
    // This main method satisfies the runnable code requirement.
    System.out.println("This class contains a JUnit test.");
    System.out.println("Run with a test runner to see its report!");
  }
}

Vanliga rapportformat

Testrapporter finns i flera format, där varje format har sitt eget användningsområde:

  • XML-rapporter: Maskinläsbara och idealiska för CI/CD-verktyg som ska sammanställa och bearbeta resultat.
  • HTML-rapporter: Användarvänliga, visuella sammanfattningar för granskning och delning.
  • JSON-rapporter: Används ofta för integrering med instrumentpaneler och andra verktyg via API:er.
  • Oformaterad text: Enkel konsolutskrift för snabb och omedelbar återkoppling under utvecklingen.

Introduktion till testmått

Utöver godkänd/underkänd är testmått kvantifierbara mätvärden som hjälper oss att bedöma kvaliteten, utvecklingen och effektiviteten i vårt testarbete. De ger djupare insikter i vår programvaras och utvecklingsprocess hälsa.

Mått hjälper till att identifiera trender, hitta områden som behöver förbättras och stödja datadrivna beslut om programvarans kvalitet.

Förklaring av kodtäckning

Kodtäckning är ett grundläggande mått som anger hur stor andel av produktionskoden som körs av er testsvit. Det visar hur stor del av kodbasen som faktiskt ”täcks” av tester.

Viktiga typer är:

  • Radtäckning: Andelen körbara rader som körs.
  • Förgreningstäckning: Andelen villkorsförgreningar (till exempel if, else) som genomgås.
  • Metodtäckning: Andelen metoder som anropas.

Även om högre täckning i allmänhet är bra garanterar den inte felfri kod; den visar bara vad som testades.

Mått för godkända tester och instabilitet

Andra viktiga mått ger insikter i testsvitens tillförlitlighet och stabilitet:

  • Andel godkända tester: Andelen tester som godkänns under en viss period. En konsekvent hög andel är en stark indikation på stabil kod.
  • Testinstabilitet: Identifierar tester som ibland godkänns och ibland misslyckas utan att den underliggande koden har ändrats. Instabila tester minskar förtroendet för testsviten.
  • Defekttäthet: Antalet defekter som hittas per kodenhet (till exempel per 1 000 kodrader).

Verktyg för mått och rapportering

Flera verktyg hjälper till att automatisera insamling och visualisering av testrapporter och mått:

  • JaCoCo: Ett populärt bibliotek för kodtäckning i Java som integreras sömlöst med byggverktyg som Maven och Gradle.
  • SonarQube: En omfattande plattform för kontinuerlig granskning av kodkvalitet och säkerhet, som kan ta emot och visa olika testmått.
  • CI/CD-plattformar: Verktyg som Jenkins, GitLab CI och GitHub Actions har inbyggda funktioner eller insticksprogram för att publicera, visa och analysera testrapporter och mått direkt i pipelinen.

CI/CD-integrering

Att integrera testrapportering och mått i pipelinen för Continuous Integration/Continuous Delivery (CI/CD) är avgörande för moderna utvecklingsarbetsflöden.

Pipelinen kör automatiskt tester, samlar in rapporter och använder mått (till exempel ett minsta gränsvärde för kodtäckning) som ”kvalitetsgrindar”. Detta hindrar kod som inte uppfyller de fastställda kvalitetskraven från att gå vidare i driftsättningsprocessen och säkerställer en jämn kvalitet vid varje kodändring.

Kontrollera era kunskaper

Testmått ger värdefulla insikter i programvarans kvalitet. Vilka av följande brukar betraktas som testmått?

Sammanfattning: rapportering och mått

I den här lektionen undersökte vi den viktiga roll som testrapporter spelar när testkörningen sammanfattas och insikter om programvarans kvalitet ges. Vi lärde oss om vanliga rapportformat och vilken viktig information de innehåller.

Därefter fördjupade vi oss i testmått, till exempel kodtäckning, andel godkända tester och instabilitet, och såg hur de ger djupare, kvantifierbara insikter i testsvitens effektivitet och tillförlitlighet.

Slutligen såg vi hur integrering av dessa rapporter och mått i CI/CD-pipelines hjälper till att automatisera kvalitetssäkring och upprätthålla kvalitetsgrindar, så att höga standarder säkerställs genom hela utvecklingslivscykeln.

Gratis att börja

Lär dig Testning på avancerad nivå: JUnit, Mockito och integrationstester med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Testrapportering och mätvärden” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Testning på avancerad nivå: JUnit, Mockito och integrationstester, inklusive ”Testrapportering och mätvärden”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Testning på avancerad nivå: JUnit, Mockito och integrationstester innehåller totalt 4 lektioner.

Vad lär jag mig i ”Testrapportering och mätvärden”?

Analysera testresultat, generera omfattande rapporter och använd mätvärden för att följa testtäckning och kvalitet över tid. Ni övar på Testning på avancerad nivå: JUnit, Mockito och integrationstester med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Testning på avancerad nivå: JUnit, Mockito och integrationstester?

Du behöver inga förkunskaper. Utbildningen i Testning på avancerad nivå: JUnit, Mockito och integrationstester på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Testrapportering och mätvärden”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Testning på avancerad nivå: JUnit, Mockito och integrationstester-lektionen?

Ja. Varje Testning på avancerad nivå: JUnit, Mockito och integrationstester-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Bygga ramverk för testautomatisering
  2. Integrera tester i CI/CD
  3. Testrapportering och mätvärden
  4. Upptäck flakiga tester och kör parallellt i CI
← Tillbaka till Testning på avancerad nivå: JUnit, Mockito och integrationstester