Mestrer test: JUnit, Mockito og integrationstest · Lektion

Introduktion til performance-test

Forstå forskellige typer performance-tests — belastnings-, stresstest og skalerbarhedstest — samt deres formål.

Lektion 1 af 411 trin

Introduktion til performance-test er en gratis Mestrer test: JUnit, Mockito og integrationstest-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Mestrer test: JUnit, Mockito og integrationstest, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.

Hvad er ydelsestest?

Velkommen til ydelsestestens verden! Har du nogensinde undret dig over, hvorfor nogle apps føles hurtige, mens andre er langsomme?

Ydelsestest handler om at evaluere en applikations hastighed, reaktionsevne, stabilitet og ressourceforbrug under forskellige belastninger.

Det hjælper med at sikre, at din software kan håndtere brugertrafik uden problemer.

Hvorfor ydeevne er vigtig

God ydeevne er ikke bare "rart at have" – den er afgørende for brugertilfredshed og forretningssucces.

  • Brugeroplevelse: Langsomme apps frustrerer brugerne og får dem til at opgive.
  • Forretningspåvirkning: Dårlig ydeevne kan føre til tabt salg og omsætning.
  • Skalerbarhed: Sikrer, at din app kan vokse sammen med brugerbasen uden problemer.
  • Tidlig opdagelse: Finder flaskehalse, før de bliver dyre problemer i produktionen.

Vigtige ydelsesmålinger

Når vi tester ydeevne, ser vi på flere vigtige målinger:

  • Svartid: Hvor lang tid det tager, før et system svarer på en brugerforespørgsel. Kortere er bedre!
  • Gennemløb: Antallet af transaktioner eller forespørgsler, der behandles pr. tidsenhed (f.eks. forespørgsler/sekund). Højere er normalt bedre.
  • Fejlrate: Procentdelen af forespørgsler, der resulterer i en fejl. Bør være tæt på nul.
  • Ressourceudnyttelse: Hvor meget CPU, hukommelse og netværksbåndbredde systemet bruger.

Belastningstest: Forventet trafik

Belastningstest evaluerer en applikations adfærd under en forventet belastning. Den simulerer det typiske antal brugere eller transaktioner, som dit system er designet til at håndtere.

Det primære mål er at sikre, at systemet fungerer tilstrækkeligt og konsekvent under normale, maksimale eller forventede brugsforhold.

Eksempel på belastningstest

Forestil dig en netbutik, der forventer 100 samtidige brugere under et udsalg. En belastningstest ville simulere disse 100 brugere, der gennemser produkter og lægger varer i deres kurv.

Her er et enkelt konceptuelt eksempel på, hvordan "belastning" kan simuleres:

public class LoadSimulator {
  public static void main(String[] args) {
    System.out.println("Simulating normal user load...");
    int expectedUsers = 5; // Simulating 5 users
    for (int i = 0; i < expectedUsers; i++) {
      System.out.println("User " + (i + 1) + " performs action.");
      try {
        Thread.sleep(100); // Simulate a short action time
      } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
      }
    }
    System.out.println("Normal load simulation complete.");
  }
}

Stresstest: Ud over grænserne

Stresstest presser en applikation ud over dens normale driftsgrænser for at identificere dens bristepunkt og se, hvordan den kommer sig.

Det indebærer at udsætte systemet for en ekstremt høj belastning, der langt overstiger den forventede brug, for at finde flaskehalse og stabilitetsproblemer.

Målet er at fastslå systemets robusthed og fejlhåndtering under ekstreme forhold.

Eksempel på stresstest

Hvad nu hvis vores netbutik pludselig får 1.000 samtidige brugere, selvom den kun er designet til 100? En stresstest ville simulere dette scenarie.

Det hjælper med at besvare spørgsmål som: Hvornår går systemet ned? Kommer det sig på en kontrolleret måde? Hvilke fejlmeddelelser vises?

public class StressSimulator {
  public static void main(String[] args) {
    System.out.println("Simulating extreme user stress...");
    int extremeUsers = 20; // Simulating 20 users (much more than 'normal')
    for (int i = 0; i < extremeUsers; i++) {
      System.out.println("User " + (i + 1) + " performs action under stress.");
      try {
        Thread.sleep(200); // Simulate longer action/response time due to stress
      } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
      }
    }
    System.out.println("Extreme stress simulation complete. Did it break?");
  }
}

Skalerbarhedstest: Vækst med efterspørgslen

Skalerbarhedstest evaluerer en applikations evne til at skalere sin ydeevne op eller ned, efterhånden som brugerbelastningen stiger eller falder.

Den kontrollerer, om systemet effektivt kan håndtere et stigende antal brugere eller større datamængder uden forringet ydeevne.

Målet er at sikre, at systemet kan imødekomme fremtidige behov ved at tilføje flere ressourcer (f.eks. servere og hukommelse).

Andre typer ydelsestest

Ud over belastnings-, stress- og skalerbarhedstest findes der andre specialiserede ydelsestest:

  • Spiketest: Tester systemets adfærd ved pludselige og kraftige stigninger i belastningen.
  • Langtidstest (udholdenhedstest): Opretholder en betydelig belastning over en lang periode for at opdage hukommelseslækager eller forringelse over tid.
  • Volumentest: Tester systemets ydeevne med en stor mængde data i databasen eller filer.

Test din viden

Du har lært om forskellige typer ydelsestest. Lad os se, om du har forstået det.

Opsummering: Introduktion til ydelsestest

Godt gået! I denne lektion har du fået en forståelse af det grundlæggende i ydelsestest.

  • Vi definerede ydelsestest og forklarede dens betydning.
  • Vi gennemgik vigtige målinger som svartid og gennemløb.
  • Du lærte om de centrale typer: belastningstest (forventet belastning), stresstest (ud over grænserne) og skalerbarhedstest (vækst).
  • Vi kom også kort ind på spiketest og langtidstest.

Derefter dykker vi ned i de værktøjer og metoder, der bruges til at udføre disse test effektivt!

Gratis at komme i gang

Lær Mestrer test: JUnit, Mockito og integrationstest med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Introduktion til performance-test” gratis?

Ja — alle 3 lektioner i læringssporet Mestrer test: JUnit, Mockito og integrationstest, inklusive “Introduktion til performance-test”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Introduktion til performance-test”?

Forstå forskellige typer performance-tests — belastnings-, stresstest og skalerbarhedstest — samt deres formål. Du øver dig i Mestrer test: JUnit, Mockito og integrationstest med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mestrer test: JUnit, Mockito og integrationstest?

Der kræves ingen tidligere erfaring. Mestrer test: JUnit, Mockito og integrationstest på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Introduktion til performance-test”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mestrer test: JUnit, Mockito og integrationstest-lektion?

Ja. Alle Mestrer test: JUnit, Mockito og integrationstest-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til performance-test
  2. Værktøjer til performance-test
  3. Principper for sikkerhedstest
  4. Load-, stress- og soak-tests forklaret
← Tilbage til Mestrer test: JUnit, Mockito og integrationstest