Konfigurasjonstesting
Configuration Testing er en programvaretesteteknikk der programvaren blir testet med flere kombinasjoner av programvare og maskinvare for å evaluere funksjonskravene og finne ut optimale konfigurasjoner der programvaren fungerer uten feil eller mangler.
Som diskutert ovenfor er Configuration Testing en programvaretesting der applikasjonen som testes må testes ved hjelp av flere kombinasjoner av programvare og maskinvare.
I denne veiledningen vil du lære-
- Hva er konfigurasjonstesting?
- Eksempel på konfigurasjonstesting
- Forutsetninger for konfigurasjonstesting
- Mål for konfigurasjonstesting
- Hvordan gjøre konfigurasjonstesting
- Eksempel på testtilfeller
Eksempel på konfigurasjonstesting
La oss forstå dette med et eksempel på en desktop-applikasjon:
Generelt vil skrivebordsprogrammer være på 2-lags eller 3-lags, her vil vi vurdere et 3-lags Desktop-program som er utviklet ved bruk av Asp.Net og består av klient, Business Logic Server og databaseserver der hver komponent støtter de nevnte plattformene.
- Client Platform - Windows XP, Window7 OS, windows 8 OS, etc
- Serverplattform - Windows Server 2008 R2, Windows Server 2008 R2, Windows Server 2012R2
- Database -SQL Sever 2008, SQL Server 2008R2, SQL Server 2012, etc.
En tester må teste kombinasjonen av klient, server og database med kombinasjoner av de ovennevnte plattformene og databaseversjonene for å sikre at applikasjonen fungerer som den skal og ikke mislykkes.
Konfigurasjonstesting er ikke bare begrenset til programvare, men gjelder også for maskinvare. Det er derfor det også blir referert til som maskinvarekonfigurasjonstesting, der vi tester forskjellige maskinvareenheter som skrivere, skannere, webkameraer etc. som støtter applikasjonen som testes.
Forutsetninger for konfigurasjonstesting
For ethvert prosjekt før du starter med konfigurasjonstesten, må vi følge noen forutsetninger
- Oppretting av matrise som består av forskjellige kombinasjoner av programvare og maskinvarekonfigurasjoner
- Prioritering av konfigurasjonene er vanskelig å teste alle konfigurasjoner
- Testing av alle konfigurasjoner basert på prioritering.
Mål for konfigurasjonstesting
Målet med konfigurasjonstesting er å
- Validerer applikasjonen for å avgjøre om den oppfyller konfigurasjonskravene
- Manuelt forårsaker feil som hjelper til med å identifisere feilene som ikke blir effektivt funnet under testing (Eks: endre de regionale innstillingene til systemet som tidssone, språk, datoformater osv.)
- Bestem en optimal konfigurasjon av applikasjonen som testes.
- Analysere systemytelsen ved å legge til eller modifisere maskinvareressursene som Load Balancers, øke eller redusere minnestørrelse, koble til forskjellige skrivermodeller osv.
- Analyserer system Effektivitet basert på prioritering, hvor effektivt testene ble utført med tilgjengelige ressurser for å oppnå optimal systemkonfigurasjon.
- Verifisering av systemet i et geografisk distribuert miljø for å verifisere hvor effektivt systemet fungerer.
For eksempel: Server på et annet sted og klienter på et annet sted, bør systemet fungere uavhengig av systeminnstillingene.
- Kontrollerer hvor enkelt feilene er reproduserbare, uavhengig av konfigurasjonsendringene.
- Sikre hvor sporbare applikasjonselementene er ved å dokumentere og vedlikeholde versjonene som er lett identifiserbare.
- Verifisere hvor håndterbare applikasjonselementene er gjennom programvarens utviklingslivssyklus.
Hvordan gjøre konfigurasjonstesting
I denne delen vil vi diskutere strategien som må følges for konfigurasjonstestingstyper, og det er to typer konfigurasjonstesting som nevnt nedenfor
- Testing av programvarekonfigurasjon
- Testing av maskinvarekonfigurasjon
Testing av programvarekonfigurasjon
Programvarekonfigurasjonstesting tester applikasjonen som testes med flere operativsystemer, forskjellige programvareoppdateringer osv. Testing av programvarekonfigurasjon er veldig tidkrevende ettersom det tar tid å installere og avinstallere annen programvare som brukes til testingen.
En av tilnærmingene som følges for å teste programvarekonfigurasjonen er å teste på virtuelle maskiner. Virtual Machine er et miljø som er installert på programvare og fungerer som en fysisk maskinvare, og brukere vil ha den samme følelsen som en fysisk maskin. Virtuelle maskiner simulerer sanntidskonfigurasjoner.
I stedet for å installere og avinstallere programvaren i flere fysiske maskiner som er tidkrevende, er det alltid bedre å installere applikasjonen / programvaren i den virtuelle maskinen og fortsette testingen. Denne prosessen kan utføres ved å ha flere virtuelle maskiner, noe som forenkler en testers jobb
Testing av programvarekonfigurasjon kan vanligvis begynne når
- Konfigurerbarhetskrav som skal testes er spesifisert
- Testmiljø er klart
- Testing Team er godt trent i konfigurasjonstesting
- Build utgitt er enhet og integrasjonstest bestått
Typisk teststrategi som følges for å teste programvarekonfigurasjonstesten, er å kjøre den funksjonelle testpakken på tvers av flere programvarekonfigurasjoner for å verifisere om applikasjonen som testes fungerer som ønsket uten feil eller feil.
En annen strategi er å sikre at systemet fungerer bra ved manuelt å svikte testtilfellene og verifisere for effektiviteten.
Eksempel:
Si at det er et bankapplikasjon som må testes for kompatibilitet i flere nettlesere når applikasjonen er vert i et miljø der alle forutsetninger er til stede for at det kan bestå enheten og integrasjonstesting i testlaboratoriet.
Men hvis det samme programmet er installert på et klientsted og maskinene mangler programvareoppdateringer eller versjonene som applikasjonen er avhengig av direkte eller indirekte, er det en sjanse for at applikasjonen kan mislykkes. For å unngå denne typen situasjoner, anbefales det alltid å feile testene manuelt ved å fjerne noen av konfigurasjonskravene og deretter fortsette med testingen.
Testing av maskinvarekonfigurasjon
Maskinvarekonfigurasjonstesting utføres vanligvis i laboratorier, hvor vi finner fysiske maskiner med forskjellig maskinvare festet til dem.
Hver gang en build blir utgitt, må programvaren installeres i alle fysiske maskiner der maskinvaren er festet, og testsuiten må kjøres på hver maskin for å sikre at applikasjonen fungerer bra.
For å utføre oppgaven ovenfor kreves det en betydelig innsats for å installere programvaren på hver maskin, feste maskinvaren og kjøre manuelt eller til og med for å automatisere ovennevnte prosess og kjøre testpakken.
Mens vi utfører maskinvarekonfigurasjonstest, spesifiserer vi også hvilken type maskinvare som skal testes, og det er mye datamaskinvare og periferiutstyr som gjør det ganske umulig å kjøre dem alle. Så det blir testerens plikt å analysere hvilken maskinvare som mest brukes av brukere, og prøve å gjøre testingen basert på prioritering.
Eksempel på testtilfeller
Vurder et bankscenario for å teste for maskinvarekompatibilitet. En bankapplikasjon som er koblet til Note Counting Machine, må testes med forskjellige modeller som Rolex, Strob, Maxsell, StoK, etc.
La oss ta noen eksempler på testtilfeller for å teste Note Counting Machine
- Bekrefte tilkoblingen av applikasjonen med Rolex-modellen når forutsetningene IKKE er installert
- Bekrefte tilkoblingen av applikasjonen med Rolex-modellen når forutsetningene er installert
- Kontroller om systemet teller notatene riktig
- Kontroller om systemet teller notatene feil
- Bekrefte de manipulerte notatene
- Verifisere responstidene
- Bekreft om falske notater oppdages og så videre
Ovennevnte testtilfeller er for en modell, og det samme må testes med alle modellene som er tilgjengelige i markedet ved å sette dem opp i et testlaboratorium som er vanskelig. Derfor anbefales det å outsource maskinvarekonfigurasjonstesting til organisasjoner som spesialiserer dem.
Sammendrag:
I programvareteknikk bør konfigurasjonstesting gis like stor betydning som andre testtyper. Uten at konfigurasjonstesting blir utført, er det vanskelig å analysere optimal systemytelse, og programvare kan også støte på kompatibilitetsproblemer som den skal kjøres på.