Hvad er konfigurationstest? Eksempler på testsager

⚡ Smart opsummering

Konfigurationstestning kører en applikation på tværs af flere kombinationer af software og hardware, så et team kan bekræfte, at de funktionelle krav stadig gælder overalt, og kan identificere den optimale konfiguration til udgivelsen.

  • 🧩 Anvendelsesområde: OperaSystemer, browsere, databaseversioner, drivere, hukommelse og periferiudstyr tæller alle som konfigurationer.
  • 📐 To typer: Softwarekonfigurationstest dækker platforme og opdateringer; hardwarekonfigurationstest dækker tilsluttede enheder.
  • 🗂️ Matrix først: Byg en kombinationsmatrix, og prioriter den derefter, fordi udtømmende dækning er uoverkommelig.
  • 🖥️ Virtuelle maskiner: Snapshots erstatter gentagne installations- og afinstallationscyklusser på fysiske testmaskiner.
  • 🏦 Udarbejdet eksempel: En bankapplikation og dens seddeltællemaskinemodeller illustrerer hardwaretestcases.
  • ???? Bevidst fiasko: Forsætlig fjernelse af en forudsætning afslører fejl, som et fuldt provisioneret laboratorium skjuler.

Konfigurationstest på tværs af software- og hardwarekombinationer

Konfigurationstest

Konfigurationstest er en softwaretestteknik, hvor applikationen testes med flere kombinationer af software og hardware for at evaluere de funktionelle krav og finde de optimale konfigurationer, hvorunder applikationen fungerer uden defekter eller mangler.

En konfiguration er enhver kombination, som produktet skal understøtte: en operativsystemversion, en browser, en databaseversion, en driver, en hukommelsesstørrelse eller en tilsluttet periferienhed. Det er værd at adskille dette fra kompatibilitetstest, som spørger, om produktet sameksisterer med anden software og platforme. Konfigurationstest stiller et mere snævert spørgsmål: opfører det samme build sig stadig korrekt, når dets egen understøttede opsætning ændres?

Eksempel på konfigurationstest

Overvej et desktop-program som et eksempel.

Desktopapplikationer er normalt bygget i 2-lags eller 3-lags form. Tag en 3-lags desktopapplikation udviklet i ASP.NET, bestående af en klient, en Business Logic Server og en databaseserver, hvor hver komponent understøtter de nedenfor anførte platforme.

  • Klientplatform – Windows XP, Windows 7, Windows 8, og så videre
  • Serverplatform – Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 R2
  • Database – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 og så videre

Testeren skal teste klienten, serveren og databasen sammen på tværs af disse platform- og databaseversioner for at bekræfte, at applikationen fungerer korrekt og ikke fejler på nogen understøttede kombinationer.

Konfigurationstest er ikke begrænset til software. Det gælder også hardware, hvilket er grunden til, at hardwaresiden kaldes hardwarekonfigurationstest: printere, scannere, webkameraer og lignende enheder, som den applikation, der testes, skal understøtte. Matricen nedenfor viser, hvordan disse kombinationer er opstillet, før testen starter.

Konfigurationstestmatrix for klient-, server- og databasekombinationer

Forudsætninger for konfigurationstest

Før konfigurationstesten påbegyndes på et projekt, skal tre forudsætninger være på plads.

  • Oprettelse af en matrix, der viser de forskellige kombinationer af software- og hardwarekonfigurationer
  • Prioritering af disse konfigurationer, fordi det ikke er realistisk at teste hver enkelt af dem
  • Test af hver konfiguration i den rækkefølge, der er angivet af den pågældende prioritering

Mål for konfigurationstest

Konfigurationstest har til formål at opnå følgende.

  • Valider applikationen i forhold til dens konfigurerbarhedskrav
  • Forårsager bevidst fejl for at afdække defekter, som almindelig testning overser, for eksempel ved at ændre regionale indstillinger såsom tidszone, sprog eller datoformat
  • Bestem den optimale konfiguration af den applikation, der testes
  • Analyser systemets ydeevne, mens hardwareressourcer ændres, f.eks. ved at tilføje load balancers, øge eller reducere hukommelse eller forbinde forskellige printermodeller.
  • Analyser systemets effektivitet i forhold til prioriteringen, og vurder hvor godt testene udnyttede de tilgængelige ressourcer til at nå den optimale konfiguration.
  • Verificér systemet i et geografisk distribueret miljø, for eksempel med serveren på ét sted og klienter på et andet, hvor systemet skal fungere uanset lokale systemindstillinger.
  • Bekræft hvor let defekter reproducerer sig, når konfigurationen ændres
  • Bekræft, at programelementer forbliver tracmuliggjort gennem korrekt dokumentation og klart identificerbare versionsregistre
  • Bekræft, at applikationselementerne forbliver håndterbare under hele processen livscyklus til softwareudvikling

Sådan laver du konfigurationstest

Strategien afhænger af, hvilken af ​​de to konfigurationstesttyper der er omfattet.

  • Softwarekonfigurationstest
  • Hardwarekonfigurationstest

Softwarekonfigurationstest

Softwarekonfigurationstest kører den applikation, der testes, mod flere operativsystemer, softwareopdateringer og afhængighedsversioner. Det er tidskrævende, fordi hver runde indebærer installation og afinstallation af den involverede software.

En almindelig måde at reducere den omkostning på er at teste på virtuelle maskinerEn virtuel maskine er et miljø installeret i software, der opfører sig som fysisk hardware, så testeren fungerer som på en rigtig maskine, mens selve konfigurationen er engangsbrug. Virtuelle maskiner simulerer rigtige konfigurationer nøje nok til de fleste funktionelle kontroller.

I stedet for at installere og afinstallere på flere fysiske maskiner, installeres applikationen på en virtuel maskine, og testen fortsætter derfra. At køre flere virtuelle maskiner parallelt, hver gendannet fra et snapshot, forenkler arbejdet betydeligt.

Softwarekonfigurationstest kan typisk begynde hvornår

  • De konfigurerbarhedskrav, der skal testes, er specificeret
  • testmiljø er klar
  • Testteamet er trænet i konfigurationstest
  • Den udgivne build har bestået enheds- og integrationstest

Den typiske teststrategi er at køre den funktionelle testsuite på tværs af hver softwarekonfiguration og verificere, at applikationen opfører sig som tilsigtet, uden fejl eller mangler. En anden strategi er at fejle testcases bevidst og kontrollere, hvor effektivt systemet klarer sig.

Eksempel:

Tag en bankapplikation, der skal testes på tværs af flere browsere. I et miljø, hvor alle forudsætninger er til stede, kan den meget vel bestå enhed- og integrationstest i testlaboratoriet.

Installeret på en klientsite kan den samme applikation fejle, fordi disse maskiner mangler softwareopdateringer eller de afhængighedsversioner, som applikationen er afhængig af direkte eller indirekte. Bevidst fejl i testene ved at fjerne nogle konfigurationskrav og derefter teste igen er det, der afslører den pågældende type fejl, før kunden finder den. Skærmen nedenfor viser en sådan konfigurationsafhængig fejl, der reproduceres i et kontrolleret miljø.

Bankapplikation fejler på en klientmaskine med manglende forudsætninger

Hardwarekonfigurationstest

Test af hardwarekonfiguration udføres generelt i et laboratorium, der indeholder fysiske maskiner med forskellig hardware tilknyttet.

Når en build udgives, installeres softwaren på hver af disse maskiner, og testpakken køres på hver af dem for at bekræfte, at applikationen fungerer med den tilsluttede enhed.

Den opgave kræver en betydelig indsats: installation af softwaren på hver maskine, tilslutning af hardwaren og derefter kørsel af pakken manuelt eller automatisering først.

Den type hardware, der skal testes, skal også specificeres. Computerhardware og periferiudstyr findes i så stor variation, at det er umuligt at dække dem alle, så testeren analyserer, hvilke enheder brugerbasen rent faktisk er afhængig af, og tester i henhold til denne prioritering.

Prøveprøver

Overvej et bankscenarie, der testes for hardwarekompatibilitet. En bankapplikation, der er forbundet til en seddeltæller, skal fungere med flere modeller, såsom Rolex, Strob, Maxsell og StoK.

Prøve test tilfælde For seddeltællemaskinen skal følgende inkluderes.

  • Bekræft forbindelsen mellem applikationen og Rolex-modellen, når forudsætningerne IKKE er installeret
  • Bekræft forbindelsen mellem applikationen og Rolex-modellen, når forudsætningerne er installeret.
  • Kontroller, at systemet tæller sedlerne korrekt
  • Bekræft, hvordan systemet rapporterer en fejltælling
  • Bekræft håndteringen af ​​manipulerede sedler
  • Bekræft svartiderne
  • Bekræft, at falske sedler opdages

Disse tilfælde dækker en enkelt model, og hver resterende model på markedet skal opstilles i et testlaboratorium og testes på samme måde, hvilket sjældent er praktisk muligt internt. Outsourcing af hardwarekonfigurationstest til en organisation, der specialiserer sig i det, er ofte den mere realistiske løsning.

Ofte Stillede Spørgsmål

Konfigurationstest varierer produktets egen understøttede opsætning – operativsystem, databaseversion, tilsluttet enhed – og kører pakken igen. Kompatibilitetstest kontrollerer, at produktet sameksisterer med ekstern software, platforme og browsere, som det skal fungere sammen med.

Så mange som risikoen berettiger. Brugsanalyser bestemmer rækkefølgen: platform-, browser- og enhedskombinationer. De fleste af brugerbasens kørelser dækkes først, efterfulgt af minimum understøttede specifikationer.

Normalt er det QA-teamet, understøttet af systemadministratorer, der klargør miljøerne. På hardwaretunge produkter ejer et dedikeret laboratorieteam eller en outsourcet specialist dækningen af ​​de fysiske enheder.

Virtuelle maskiner og containerplatforme til softwareopsætninger, enhedslabs eller cloud-enhedsfarme til hardware og browsere, og en test automatisering framework til at afspille den samme suite på hver konfiguration.

Kombinatorisk eksplosion, omkostningerne ved licenser og fysiske enheder, langsom miljøprovisionering og defekter, der kun reproducerer sig på én konfiguration. Prioritering og virtualisering adresserer de fleste af disse.

Efter bestået enheds- og integrationstest, og typisk samtidig med systemtest. Det gentages før hver større udgivelse, fordi en ny operativsystem- eller driverversion kan ugyldiggøre tidligere resultater.

Modeller rangerer konfigurationskombinationer efter reel brug og historiske fejldata, så matricen beskæres til rækkerne med den højeste risiko. De grupperer også fejl for at vise, hvilke der deler en enkelt konfigurationsårsag.

Ja. Den udarbejder parametriserede testscaffolding, miljøprovisioneringsscripts og CI-jobdefinitioner, der kører én suite på tværs af mange konfigurationer. Selve matrixen skal stadig komme fra listen over understøttede platforme.

Opsummer dette indlæg med: