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.
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.
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ø.
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.


