Hvad er konfigurationstest? Eksempler på testsager
Konfigurationstest
Konfigurationstest er en softwaretestteknik, hvor softwareapplikationen testes med flere kombinationer af software og hardware for at evaluere de funktionelle krav og finde ud af optimale konfigurationer, hvorunder softwareapplikationen fungerer uden nogen defekter eller mangler.
Som diskuteret ovenfor er konfigurationstest en softwaretest, hvor applikationen, der testes, skal testes ved hjælp af flere kombinationer af software og hardware.
Eksempel på konfigurationstest
Lad os forstå dette med et eksempel på en desktopapplikation:
Generelt vil Desktop-applikationer være af 2-tier eller 3-tier, her vil vi overveje en 3-tier Desktop-applikation, som er udviklet vha. Asp.Net og består af Client, Business Logic Server og Database Server, hvor hver komponent understøtter nedenstående platforme.
- Klientplatform – Windows XP, Window7 OS, Windows 8 OS osv
- Serverplatform – Windows Server 2008 R2,Windows Server 2008 R2, Windows Server 2012R2
- Database –SQL Server 2008, SQL Server 2008R2, SQL Server 2012 osv.
En tester skal teste kombinationen af klient, server og database med kombinationer af de ovennævnte platforme og databaseversioner for at sikre, at applikationen fungerer korrekt og ikke fejler.
Konfigurationstest er ikke kun begrænset til software, men også gældende for hardware, hvorfor det også omtales som en hardwarekonfigurationstest, hvor vi tester forskellige hardwareenheder som printere, scannere, webkameraer osv., der understøtter den applikation, der testes.
Forudsætninger for konfigurationstest
For ethvert projekt, før vi starter med konfigurationstesten, skal vi følge nogle forudsætninger
- Oprettelse af matrix som består af forskellige kombinationer af software og hardware konfigurationer
- At prioritere konfigurationerne, da det er svært at teste alle konfigurationerne
- Test af hver konfiguration baseret på prioritering.
Mål for konfigurationstest
Formålet med konfigurationstest er at
- Validerer applikationen for at afgøre, om den opfylder kravene til konfigurerbarhed
- Manuelt forårsagende fejl, som hjælper med at identificere de defekter, der ikke effektivt findes under test (f.eks. ændring af de regionale indstillinger af systemet som tidszone, sprog, dato-tidsformater osv.)
- Bestem en optimal konfiguration af den applikation, der testes.
- Analyse af systemets ydeevne ved at tilføje eller ændre hardwareressourcer som Load Balancers, forøge eller formindske hukommelsesstørrelsen, forbinde forskellige printermodeller osv.
- Analyse af systemeffektivitet baseret på prioriteringen, hvor effektivt testene blev udført med de tilgængelige ressourcer for at opnå den optimale systemkonfiguration.
- Verifikation af systemet i et geografisk distribueret miljø for at verificere, hvor effektivt systemet fungerer. For eksempel: Server på en anden placering og klienter på en anden placering, skal systemet fungere fint uanset systemindstillingerne.
- Bekræftelse af, hvor let fejlene er reproducerbare uanset konfigurationsændringerne.
- Sikre, hvor sporbare applikationselementerne er, ved korrekt at dokumentere og vedligeholde de versioner, som er let identificerbare.
- Bekræftelse af, hvor håndterbare applikationselementerne er gennem hele livscyklus til softwareudvikling.
Sådan laver du konfigurationstest
I dette afsnit vil vi diskutere den strategi, der skal følges for konfigurationstesttyper, og der er to typer konfigurationstest som nævnt nedenfor
- Softwarekonfigurationstest
- Hardwarekonfigurationstest
Softwarekonfigurationstest
Softwarekonfigurationstest er at teste applikationen under test med flere OS, forskellige softwareopdateringer osv. Softwarekonfigurationstest er meget tidskrævende, da det tager tid at installere og afinstallere forskellige software, der bruges til testen.
En af de fremgangsmåder, der følges for at teste softwarekonfigurationen, er at teste på virtuelle maskiner. Virtuel maskine er et miljø, der er installeret på software og fungerer som en fysisk hardware, og brugerne vil have den samme følelse som en fysisk maskine. Virtual Machines simulerer konfigurationer i realtid.
I stedet for at installere og afinstallere softwaren på flere fysiske maskiner, hvilket er tidskrævende, er det altid bedre at installere applikationen/softwaren i den virtuelle maskine og fortsætte med at teste. Denne proces kan udføres ved at have flere virtuelle maskiner, hvilket forenkler opgaven for en tester
Softwarekonfigurationstest kan typisk begynde hvornår
- Konfigurerbarhedskrav, der skal testes, er specificeret
- Testmiljøet er klar
- Testteamet er veluddannet i konfigurationstest
- Build frigivet er bestået enheds- og integrationstest
Typisk Test strategi der følges for at teste softwarekonfigurationstesten er at køre den funktionelle testpakke på tværs af flere softwarekonfigurationer for at verificere, om applikationen under test fungerer som ønsket uden fejl eller fejl.
En anden strategi er at sikre, at systemet fungerer fint ved manuelt at fejle testcaserne og kontrollere effektiviteten.
Eksempel:
Lad os sige, at der er en bankapplikation, som skal testes for dens kompatibilitet på tværs af flere browsere, når applikationen hostes i et miljø, hvor alle forudsætningerne er til stede, at den kan bestå enheden og Integrationstest i testlaboratoriet.
Men hvis den samme applikation er installeret på et klientsted, og maskinerne mangler nogle softwareopdateringer eller de versioner, som applikationen direkte eller indirekte er afhængig af, er der en chance for, at applikationen kan fejle. For at undgå denne form for situation, foreslås det altid at fejle testene manuelt ved at fjerne nogle af konfigurerbarhedskravene og derefter fortsætte med testen.
Hardwarekonfigurationstest
Hardwarekonfigurationstest udføres generelt i laboratorier, hvor vi finder fysiske maskiner med forskellig hardware knyttet til dem.
Når en build frigives, skal softwaren installeres på alle de fysiske maskiner, hvor hardwaren er tilsluttet, og testpakken skal køres på hver maskine for at sikre, at applikationen fungerer fint.
For at udføre ovenstående opgave kræves der en betydelig indsats for at installere softwaren på hver maskine, tilslutte hardwaren og køre manuelt eller endda for at automatisere ovennævnte proces og køre testpakken.
Mens vi udfører hardwarekonfigurationstest, specificerer vi også den type hardware, der skal testes, og der er en masse computerhardware og ydre enheder, som gør det ret umuligt at køre dem alle. Så det bliver testerens pligt at analysere, hvilken hardware der mest bruges af brugerne og forsøge at lave testen baseret på prioriteringen.
Prøveprøver
Overvej et bankscenarie for at teste for hardwarekompatibilitet. En bankapplikation, der er forbundet med seddeltællingsmaskine, skal testes med forskellige modeller som Rolex, Strob, Maxsell, StoK osv.
Lad os tage nogle eksempler på testcases for at teste seddeltællingsmaskinen
- Verifikation af applikationens forbindelse med Rolex-modellen, når forudsætningerne IKKE er installeret
- Verifikation af applikationens forbindelse med Rolex-modellen, når forudsætningerne er installeret
- Kontroller, om systemet tæller sedlerne korrekt
- Kontroller, om systemet tæller sedlerne forkert
- Bekræftelse af de manipulerede sedler
- Bekræftelse af svartider
- Bekræftelse af, om de falske sedler er opdaget og så videre
Ovenstående testcases er for én model, og det samme skal testes med alle de modeller, der findes på markedet, ved at sætte dem op i et testlaboratorium, hvilket er svært. Derfor er det tilrådeligt at outsource hardwarekonfigurationstesten til organisationer, der specialiserer dem.
Resumé
I Software Engineering bør konfigurationstest tillægges lige så stor betydning som andre testtyper. Uden konfigurationstest er det vanskeligt at analysere den optimale systemydelse, og software kan også støde på kompatibilitetsproblemer, som det formodes at køre på.