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.

  • 🧩 Omfattning: Operasystem, webbläsare, databasversioner, drivrutiner, minne och kringutrustning räknas alla som konfigurationer.
  • 📐 Två typer: Testning av programkonfiguration omfattar plattformar och uppdateringar; testning av hårdvarukonfiguration omfattar anslutna enheter.
  • 🗂️ Matris först: Bygg en kombinationsmatris och prioritera den sedan, eftersom en uttömmande täckning är oöverkomlig.
  • 🖥️ Virtuella maskiner: Ögonblicksbilder ersätter upprepade installations- och avinstallationscykler på fysiska testmaskiner.
  • 🏦 Utarbetat exempel: En bankapplikation och dess sedelräknarmodeller illustrerar hårdvarutestfall.
  • ???? Avsiktligt misslyckande: Att avsiktligt ta bort en förutsättning exponerar fel som ett fullständigt etablerat labb döljer.

Konfigurationstestning över programvaru- och hårdvarukombinationer

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.

Konfigurationstestmatris för klient-, server- och databaskombinationer

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

Bankapplikationen misslyckas på en klientdator med saknade förutsättningar

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.

Vanliga frågor

Konfigurationstestning varierar produktens egna stödda inställningar – operativsystem, databasversion, ansluten enhet – och kör programsviten om. Kompatibilitetstestning kontrollerar att produkten samexisterar med extern programvara, plattformar och webbläsare som den måste fungera tillsammans med.

Så många som risken motiverar. Användningsanalys avgör ordningen: plattforms-, webbläsar- och enhetskombinationer; de flesta användarbaskörningar täcks först, följt av minimikrav för stöd.

Vanligtvis är det QA-teamet, med stöd av systemadministratörer som tillhandahåller miljöerna. För hårdvarutunga produkter äger ett dedikerat labteam, eller en outsourcad specialist, den fysiska enhetstäckningen.

Virtuella maskin- och containerplattformar för programvaruinstallationer, enhetslabb eller molnbaserade enhetsfarmar för hårdvara och webbläsare, och en testautomation ramverk för att spela upp samma svit i varje konfiguration.

Kombinatorisk explosion, kostnaden för licenser och fysiska enheter, långsam miljöprovisionering och defekter som reproduceras på endast en konfiguration. Prioritering och virtualisering åtgärdar de flesta av dessa.

Efter godkänd enhets- och integrationstestning, och vanligtvis i samband med systemtestning. Det upprepas före varje större utgåva, eftersom en ny operativsystem- eller drivrutinsversion kan ogiltigförklara tidigare resultat.

Modeller rangordnar konfigurationskombinationer efter verklig användning och historiska feldata, så matrisen beskärs till raderna med högst risk. De klustrar också fel för att visa vilka som delar en enda konfigurationsorsak.

Ja. Den utarbetar parametriserade testställningar, miljöprovisioneringsskript och CI-jobbdefinitioner som kör en svit över många konfigurationer. Själva matrisen måste fortfarande komma från listan över plattformar som stöds.

Sammanfatta detta inlägg med: