Hva er konfigurasjonstesting? Eksempel på testtilfeller
Konfigurasjonstesting
Konfigurasjonstesting er en programvaretestingsteknikk der programvareapplikasjonen testes med flere kombinasjoner av programvare og maskinvare for å evaluere funksjonskravene og finne ut optimale konfigurasjoner der programvareapplikasjonen fungerer uten noen defekter eller feil.
Som diskutert ovenfor, er konfigurasjonstesting en programvaretesting der applikasjonen som testes må testes ved hjelp av flere kombinasjoner av programvare og maskinvare.
Eksempel på konfigurasjonstesting
La oss forstå dette med et eksempel på en skrivebordsapplikasjon:
Vanligvis vil skrivebordsapplikasjoner være av 2-lags eller 3-lags, her vil vi vurdere en 3-lags skrivebordsapplikasjon som er utviklet med Asp.Net og består av Client, Business Logic Server og Database Server hvor hver komponent støtter de nevnte plattformene.
- Klientplattform – Windows XP, Window7 OS, Windows 8 OS, etc
- Serverplattform – Windows Server 2008 R2,Windows Server 2008 R2, Windows Server 2012R2
- Database –SQL Server 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 svikter.
Konfigurasjonstesting er ikke bare begrenset til programvare, men også aktuelt for maskinvare, og det er derfor det også refereres til som en maskinvarekonfigurasjonstesting, hvor vi tester forskjellige maskinvareenheter som skrivere, skannere, webkameraer osv. som støtter applikasjonen som testes.
Forutsetninger for konfigurasjonstesting
For ethvert prosjekt før vi starter med konfigurasjonstesten, må vi følge noen forutsetninger
- Oppretting av matrise som består av ulike kombinasjoner av programvare- og maskinvarekonfigurasjoner
- Å prioritere konfigurasjonene som det er vanskelig å teste alle konfigurasjonene
- Tester hver konfigurasjon basert på prioritering.
Mål for konfigurasjonstesting
Målet med konfigurasjonstesting er å
- Validerer applikasjonen for å finne ut om den oppfyller kravene til konfigurerbarhet
- Manuelt forårsaker feil som hjelper til med å identifisere defektene som ikke blir funnet effektivt under testing (Eks.: endre de regionale innstillingene til systemet som tidssone, språk, dato- og tidsformater, etc.)
- Bestem en optimal konfigurasjon av applikasjonen som testes.
- Analysere systemytelsen ved å legge til eller endre maskinvareressursene som belastningsbalansere, øke eller redusere minnestørrelsen, koble til ulike skrivermodeller osv.
- Analysere system Effektivitet basert på prioriteringen, hvor effektivt testene ble utført med tilgjengelige ressurser for å oppnå optimal systemkonfigurasjon.
- Verifikasjon 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 fint uavhengig av systeminnstillingene.
- Verifiserer hvor lett feilene er reproduserbare uavhengig av konfigurasjonsendringene.
- Sikre hvor sporbare applikasjonselementene er ved å dokumentere og vedlikeholde versjonene som er lett identifiserbare.
- Verifiserer hvor håndterbare applikasjonselementene er gjennom hele programvareutvikling livssyklus.
Slik utfører du konfigurasjonstesting
I denne delen vil vi diskutere strategien som må følges for konfigurasjonstestingstyper, og det er to typer konfigurasjonstesting som nevnt nedenfor
- Programvarekonfigurasjonstesting
- Maskinvarekonfigurasjonstesting
Programvarekonfigurasjonstesting
Programvarekonfigurasjonstesting er å teste applikasjonen som testes med flere OS, forskjellige programvareoppdateringer osv. Programvarekonfigurasjonstesting er svært tidkrevende da det tar tid å installere og avinstallere forskjellige programvarer som brukes til testingen.
En av tilnærmingene som følges for å teste programvarekonfigurasjonen er å teste på virtuelle maskiner. Virtuell maskin er et miljø som er installert på programvare og fungerer som en fysisk maskinvare, og brukere vil ha samme følelse som en fysisk maskin. Virtual Machines simulerer sanntidskonfigurasjoner.
I stedet for å installere og avinstallere programvaren på flere fysiske maskiner som er tidkrevende, er det alltid bedre å installere applikasjonen/programvaren i den virtuelle maskinen og fortsette å teste. Denne prosessen kan utføres ved å ha flere virtuelle maskiner, som forenkler jobben til en tester
Programvarekonfigurasjonstesting kan vanligvis begynne når
- Konfigurerbarhetskrav som skal testes er spesifisert
- Testmiljøet er klart
- Testing Team er godt trent i konfigurasjonstesting
- Bygg utgitt er enhets- 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 noen feil eller feil.
En annen strategi er å sikre at systemet fungerer bra ved å feile testsakene manuelt og kontrollere effektiviteten.
Eksempel:
La oss si at det er en bankapplikasjon som må testes for kompatibilitet på tvers av flere nettlesere når applikasjonen er vert i et miljø der alle forutsetningene er tilstede, kan den passere enheten og Integrasjonstesting i testlaboratoriet.
Men hvis den samme applikasjonen er installert på et klientsted og maskinene mangler noen 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, er det alltid foreslått å mislykkes i testene manuelt ved å fjerne noen av konfigurerbarhetskravene og deretter fortsette med testingen.
Maskinvarekonfigurasjonstesting
Maskinvarekonfigurasjonstesting utføres vanligvis i laboratorier, hvor vi finner fysiske maskiner med forskjellig maskinvare knyttet til seg.
Hver gang en build er utgitt, må programvaren installeres på alle de fysiske maskinene der maskinvaren er koblet til, og testpakken 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, koble til maskinvaren og kjøre manuelt eller til og med 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 maskinvare og periferiutstyr som gjør det ganske umulig å kjøre alt. Så det blir testerens plikt å analysere hvilken maskinvare som brukes mest av brukerne og prøve å gjøre testingen basert på prioriteringen.
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
- Verifiserer tilkoblingen av applikasjonen med Rolex-modellen når forutsetningene IKKE er installert
- Verifiserer tilkoblingen av applikasjonen med Rolex-modellen når forutsetningene er installert
- Kontroller om systemet teller sedlene riktig
- Kontroller om systemet teller sedlene feil
- Verifiserer de tuklede notatene
- Verifiserer responstidene
- Kontrollerer om de falske sedlene blir oppdaget og så videre
Testtilfellene ovenfor er for én modell, og den samme må testes med alle modellene som er tilgjengelige på markedet ved å sette dem opp i et testlaboratorium som er vanskelig. Derfor er det tilrådelig å sette ut testing av maskinvarekonfigurasjon til organisasjoner som spesialiserer dem.
Oppsummering
I programvareteknikk bør konfigurasjonstesting gis like viktig som andre testtyper. Uten konfigurasjonstesting er det vanskelig å analysere den optimale systemytelsen, og programvare kan også støte på kompatibilitetsproblemer som den skal kjøre på.