Vad är konfigurationstestning? Exempel på testfall
⚡ Smart sammanfattning
Konfigurationstestning kör en applikation över flera kombinationer av programvara och hårdvara, så att ett team kan bekräfta att de funktionella kraven fortfarande gäller överallt och identifiera den optimala konfigurationen för lansering.
Konfigurationstestning
Konfigurationstestning är en mjukvarutestningsteknik där applikationen testas med flera kombinationer av mjukvara och hårdvara för att utvärdera funktionskraven och hitta optimala konfigurationer under vilka applikationen fungerar utan defekter eller brister.
En konfiguration är vilken kombination som helst som produkten måste stödja: en operativsystemversion, en webbläsare, en databasversion, en drivrutin, en minnesstorlek eller en ansluten kringutrustning. Det är värt att separera detta från kompatibilitetstestning, som frågar om produkten samexisterar med annan programvara och plattformar. Konfigurationstestning ställer en snävare fråga: beter sig samma build fortfarande korrekt när dess egen stödda konfiguration ändras?
Exempel på konfigurationstest
Tänk på en skrivbordsapplikation som ett fungerande exempel.
Skrivbordsapplikationer är vanligtvis byggda i två- eller trenivåsform. Ta en skrivbordsapplikation med tre nivåer utvecklad i ASP.NET, bestående av en klient, en Business Logic Server och en databasserver, där varje komponent stöder plattformarna som listas nedan.
- Klientplattform – Windows XP, Windows 7, Windows 8, och så vidare
- Serverplattform – Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 R2
- Databas – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 och så vidare
Testaren måste testa klienten, servern och databasen tillsammans över dessa plattforms- och databasversioner för att bekräfta att applikationen fungerar korrekt och inte misslyckas med någon av de kombinationer som stöds.
Konfigurationstestning är inte begränsad till programvara. Det gäller även hårdvara, vilket är anledningen till att hårdvarusidan kallas hårdvarukonfigurationstestning: skrivare, skannrar, webbkameror och liknande enheter som den testade applikationen måste stödja. Matrisen nedan visar hur dessa kombinationer är upplagda innan testkörningen påbörjas.
Förutsättningar för konfigurationstestning
Innan konfigurationstestet påbörjas för något projekt måste tre förutsättningar vara uppfyllda.
- Skapande av en matris som listar de olika kombinationerna av programvaru- och hårdvarukonfigurationer
- Prioritera dessa konfigurationer, eftersom det inte är realistiskt att testa varenda en av dem
- Testa varje konfiguration i den ordning som anges av den prioriteringen
Mål för konfigurationstestning
Konfigurationstestning syftar till att uppnå följande.
- Validera applikationen mot dess konfigurerbarhetskrav
- Avsiktligt orsaka fel för att upptäcka defekter som vanlig testning missar, till exempel genom att ändra regionala inställningar som tidszon, språk eller datumformat.
- Bestäm den optimala konfigurationen för den applikation som testas
- Analysera systemprestanda medan hårdvaruresurser ändras, till exempel genom att lägga till lastbalanserare, öka eller minska minne eller ansluta olika skrivarmodeller.
- Analysera systemets effektivitet mot prioriteringen och bedöm hur väl testerna använde de tillgängliga resurserna för att nå den optimala konfigurationen.
- Verifiera systemet i en geografiskt distribuerad miljö, till exempel med servern på en plats och klienter på en annan, där systemet ska fungera oavsett lokala systeminställningar.
- Verifiera hur lätt fel reproduceras när konfigurationen ändras
- Bekräfta att programobjekten finns kvar tracmöjlig genom korrekt dokumentation och tydligt identifierbara versionsregister
- Bekräfta att applikationsobjekten förblir hanterbara under hela mjukvaruutvecklingens livscykel
Hur man gör konfigurationstestning
Strategin beror på vilken av de två typerna av konfigurationstestning som omfattas av testet.
- Programvarukonfigurationstestning
- Hårdvarukonfigurationstestning
Programvarukonfigurationstestning
Testning av programkonfiguration kör den applikation som testas mot flera operativsystem, programuppdateringar och beroendeversioner. Det är tidskrävande eftersom varje omgång innebär att installera och avinstallera den berörda programvaran.
Ett vanligt sätt att minska den kostnaden är att testa på virtuella maskinerEn virtuell maskin är en miljö installerad i programvara som beter sig som fysisk hårdvara, så testaren fungerar som om den vore på en riktig maskin medan själva konfigurationen är engångsanvändning. Virtuella maskiner simulerar verkliga konfigurationer tillräckligt noggrant för de flesta funktionskontroller.
Istället för att installera och avinstallera på flera fysiska maskiner installeras applikationen på en virtuell maskin och testningen fortsätter därifrån. Att köra flera virtuella maskiner parallellt, var och en återställd från en ögonblicksbild, förenklar arbetet avsevärt.
Programvarukonfigurationstestning kan vanligtvis börja när
- De konfigurerbarhetskrav som ska testas är specificerade
- Ocuco-landskapet testmiljö är redo
- Testteamet är utbildat i konfigurationstestning
- Den släppta versionen har klarat enhets- och integrationstestning
Det typiska testa strategi är att köra funktionstestsviten över varje programkonfiguration och verifiera att applikationen beter sig som avsett, utan brister eller fel. En andra strategi är att avsiktligt misslyckas med testfall och kontrollera hur effektivt systemet klarar sig.
Exempel:
Ta en bankapplikation som måste testas i flera webbläsare. Om den ligger i en miljö där alla förutsättningar finns, kan den mycket väl klara enhets- och integrationstest i testlabbet.
Installerad på en klientplats kan samma applikation misslyckas, eftersom dessa maskiner saknar programuppdateringar eller de beroendeversioner som applikationen är direkt eller indirekt beroende av. Att avsiktligt misslyckas med testerna genom att ta bort vissa konfigurerbarhetskrav och sedan testa igen, är det som exponerar den typen av fel innan kunden hittar det. Skärmen nedan visar ett sådant konfigurationsberoende fel som reproduceras i en kontrollerad miljö.
Hårdvarukonfigurationstestning
Testning av hårdvarukonfiguration utförs vanligtvis i ett laboratorium med fysiska maskiner med olika hårdvara ansluten till dem.
När en version släpps installeras programvaran på var och en av dessa maskiner och testsviten körs på var och en för att bekräfta att applikationen fungerar med den anslutna enheten.
Den uppgiften kräver avsevärd ansträngning: att installera programvaran på varje maskin, ansluta hårdvaran och sedan köra programsviten manuellt eller automatisera den först.
Vilken typ av hårdvara som ska testas måste också specificeras. Datorhårdvara och kringutrustning finns i en sådan variation att det är omöjligt att täcka alla, så testaren analyserar vilka enheter användarbasen faktiskt förlitar sig på och testar enligt den prioriteringen.
Exempel på testfall
Tänk dig ett bankscenario som testas för hårdvarukompatibilitet. En bankapplikation ansluten till en sedelräknare måste fungera med flera modeller, såsom Rolex, Strob, Maxsell och StoK.
Prov testfall för sedelräknarmaskinen inkludera följande.
- Verifiera kopplingen mellan applikationen och Rolex-modellen när förutsättningarna INTE är installerade
- Verifiera kopplingen mellan applikationen och Rolex-modellen när förutsättningarna är installerade
- Kontrollera att systemet räknar sedlarna korrekt
- Verifiera hur systemet rapporterar ett felaktigt inräknat
- Verifiera hanteringen av manipulerade sedlar
- Verifiera svarstiderna
- Verifiera att falska sedlar upptäcks
Dessa fall omfattar en enda modell, och varje återstående modell på marknaden måste ställas in i ett testlabb och testas på samma sätt, vilket sällan är praktiskt internt. Att lägga ut testning av hårdvarukonfiguration till en organisation som specialiserar sig på det är ofta det mer realistiska alternativet.


