Samsvarstesting (Conformance Testing) i programvaretesting
⚡ Smart oppsummering
Samsvarstesting bekrefter at et programvaresystem oppfyller standarder og forskrifter fastsatt av organer som IEEE, W3C eller ETSI, som dekker ytelse, funksjoner, robusthet, interoperabilitet og generell systemoppførsel.

Samsvarstesting
Samsvarstesting er en programvaretestingsteknikk som brukes til å bekrefte at et programvaresystem overholder standarder og forskrifter definert av organer som IEEE, W3C eller ETSI. Den bestemmer hvor godt et system som testes overholder de individuelle kravene i en bestemt standard. Samsvarstesting kalles også samsvarstesting.
Den kan omhandle tekniske aspekter, men den dekker også utformingen av:
- Ytelse
- Funksjoner
- Robusthet
- Interoperabilitet
- Systemets oppførsel
Typer samsvarstesting
Samsvarstesting kan være logisk eller fysisk, og den omfatter følgende typer testing:
- Testing av samsvar
- Load Testing
- Stresstesting
- Volumtesting
Diagrammet nedenfor viser hvordan disse testtypene fungerer sammen i et enkelt samsvarsprogram.
Hvorfor trenger vi samsvarstesting?
- For å sjekke oppfyllelsen av systemkravene
- For å sjekke om systemdokumentasjonen er fullstendig
- For å kontrollere utvikling, design og evaluering mot spesifikasjonene
Hva trenger vi å teste?
- Standardene som implementeringen skjer gjennom
- Oppfordringen til systemet som skal utvikles
- Omfang av spesifikasjoner
- Spesifikasjonsmål
Samsvarstesting initieres av ledelsen, med forsikring om at teamet forstår gjeldende standarder, spesifikasjoner og prosedyrer.
Standarder og spesifikasjoner bør angis tydelig for å unngå tvetydighet. Der de ikke er det, er samsvarstesting i seg selv nyttig for å identifisere trinnene som trengs for å gjøre dem relevante og pålitelige.
Når og hvordan utfører man samsvarstesting?
Samsvarstesting utføres når systemets overordnede konsistens, fullstendighet og korrekthet må kontrolleres mot kravspesifikasjonene. Metodene som brukes er ikke veldig forskjellige fra vanlige stadier i utviklingslivssyklusen:
- Analysere kravspesifikasjoner
- Utarbeidelse av testplanen
- Utarbeidelse av testtilfeller og angivelse av formålet med dem
- Opprette dokumentasjon for de utarbeidede testdesignene
Noen tilleggsaspekter ved spesifikasjonene trenger oppmerksomhet, spesielt delsett, som vanligvis er av tre typer – Profil, Nivå og Moduler:
- Profil er et delsett av spesifikasjonene som inkluderer systemfunksjonaliteten som kreves for å tilfredsstille en bestemt brukergruppe
- Nivåer er nestede delsett av spesifikasjonene, der Nivå1 indikerer de grunnleggende spesifikasjonene og Nivå2 indikerer Nivå1 pluss tilleggs- eller ny funksjonalitet
- Moduler er samlinger av betydelig korrelerte standarder og spesifikasjoner
Prosess for samsvarstesting
Samsvarstestingsprosessen, eller samsvarstestingsprosessen, er nødvendig for å sikre effektivitet og ytelse og for å unngå fremtidig risiko for et program. En effektiv samsvarstest følger denne trinnvise prosessen:
- Analysere standarder og spesifikasjoner
- Valg av testverktøy og testsuite
- Utforming av testprosedyrer
- Kontroller nødvendige valideringer
- Vedta relevante testpolicyer og sertifiseringer
Den diagrammatiske fremstillingen av samsvars- og samsvarstestingsprosessen nedenfor gjør sekvensen enklere å følge.
Uttrykt som et brukstilfelle, viser den samme prosessen hvilken aktør som utfører hvert trinn.
Samsvarstesting vs. samsvarstesting
Samsvarstesting kalles av og til samsvarstesting, men det er noen få grunnleggende fakta som skiller de to. Tabellen nedenfor sammenligner dem.
| Samsvarstesting | Testing av samsvar |
| En formell og presis måte å teste mot standarder på | En uformell og mindre presis måte å teste mot standarder på |
| Samsvarssertifisering gjelder kun for et operativsystem som har offisiell godkjenning fra sertifiseringsmyndigheten | Et operativsystem som gir en enkelt API av POSIX (Portable OperaSystemgrensesnitt) sies å være kompatibelt |
| Brukes til å teste et system som gir full støtte for de gitte standardene | Brukes til å teste et system som bare støtter noen av de gitte standardene |
Fordeler med samsvarstesting
- Sikrer korrekt implementering av spesifikasjonene
- Sikrer portabilitet og interoperabilitet
- Gir hensiktsmessig bruk av standarder
- Gjør det mulig å sikre at grensesnitt og funksjoner fungerer som forventet
- Hjelper med å identifisere områdene som må være i samsvar med regelverket og de som ikke trenger det, for eksempel syntaks og semantikk
Ulemper med samsvarstesting
I likhet med andre typer testing, innebærer samsvarstesting oppgaver som er vanskelige å utføre og kan bli en utfordring. Noen av dem er listet opp nedenfor:
- Effektiv samsvarstesting krever at klassen til systemet som testes identifiseres sammen med en passende metode.
- Kategorisering av spesifikasjoner i profiler, nivåer og moduler
- Forhåndsdefinerte verdier
- Utforme utvidelsene, alternativene og tilnærmingene som trengs for å kjøre testprosessen på en vellykket måte
Samsvarstesting: Kritiske synspunkter
Samsvarstesting har områder som trenger ekstra oppmerksomhet og kunnskap for vellykket implementering:
- Testmetoder som er best egnet
- Valg av et testverktøy som vil automatisere testprosessen
- Klar forståelse av at samsvarstesting kun viser avvik, aldri samsvar i seg selv
- Utforme og implementere samsvarstestingsprogrammet
- Definere hvor formelt det skal utføres
- Retningslinjer og regulering
Samsvarstesting for mobilt system
Som andre typer programvaretesting kan samsvarstesting også utføres for mobile systemer. Når systemet er satt sammen, kontrolleres det for bruk før utrulling gjennom en samsvarstest.
Avhengig av nettverkstypen, for eksempel GSM eller CDMA, utføres testene for å oppnå samsvar og interoperabilitet. Disse testene kan omfatte:
- Protokolltesting
- Sikkerhet og Sikkerhetstesting
- SIM-kort testing
- Radiofrekvenstesting (RF)
- Lydprøver
- Spesifikke absorpsjonstester
Eksempel Bruk Case Diagram
Følgende brukstilfellediagram viser hvordan samsvarstesting utføres for distribuerte mobile systemer.
Dette kan utdypes for SIM-korttesting i to trinn. Det første trinnet er passordvalidering, Vist under.
Den andre fasen er ringer, som har to utfall, samtalen var vellykket og samtalen mislyktes.
Protokolltesting følger samme mønster, som dette brukstilfellet viser.
Testmalen nedenfor viser hvordan testtilfeller skrives for protokolltesting.
| Test-ID | Testscenario | Teststrinn | Testdata | forventet resultat | Egentlige resultatet | status | Merknader |
| PT001 | Protokollen har ingen vranglås | Start med kommunikasjonsprosessen | _ | Bør etablere kommunikasjon vellykket | Kommunikasjon etablert vellykket | Pass | _ |
| PT002 | "Ping"kommandoen fungerer riktig for tidsavbrudd | Enter Ping kommando som 'Ping -w' i ledeteksten | Ping 1000 | Skal vise meldingen «Transmit Vellykket." | Meldingen viser «Transmit Vellykket." | Pass | _ |
| PT003 | Tell antall «ekko»-forespørsler | Enter Ping kommando som 'Ping -n' i ledeteksten | Ping 4 | Bør starte pinging 0.0.0.4 med 32 byte data og vis meldingen "Transmit Vellykket." | Starter pinging 0.0.0.4 med 32 byte data, men viser meldingen "Transmit Mislyktes. | Fail | Semantisk eller funksjonell feil |
| PT004 | Enhver stat kan nås fra hvilken som helst stat | Gå ut av en tilstand og gå tilbake til forrige eller neste | _ | Bør endre tilstanden | Endret tilstanden vellykket | Pass | _ |
Maler som denne gir ensartethet i testprosessen. Avhengig av nettverkstypen kan hundrevis av testtilfeller defineres og kjøres for å bekrefte at mobilsystemet fungerer som kravspesifikasjonen krever.







