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.

  • 🔘 Også kalt: Samsvarstesting eller typetesting, en formell verifisering mot en publisert standard.
  • 📚 Dekning: Inkluderer samsvars-, belastnings-, belastnings- og volumtesting i ett samsvarsprogram.
  • 🧭 Delmengder: Spesifikasjoner grupperes i profiler, nivåer og moduler før testdesignet starter.
  • 🔄 Prosess: Analyser standarder, velg verktøy, utform prosedyrer, valider, og vedta deretter sertifiseringspolicyer.
  • 📱 Mobil: GSM- og CDMA-enheter legger til protokoll-, SIM-, RF-, lyd- og absorpsjonstester.
  • 🇧🇷 Forskjell: Samsvar er formell og full støtte; samsvar er uformell og delvis støtte.

Samsvarstesting og samsvarstestingsprosess i programvaretesting

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:

Diagrammet nedenfor viser hvordan disse testtypene fungerer sammen i et enkelt samsvarsprogram.

Typer samsvarstesting gruppert som samsvarstesting, belastningstesting, belastningstesting og volumtesting

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:

  1. Analysere standarder og spesifikasjoner
  2. Valg av testverktøy og testsuite
  3. Utforming av testprosedyrer
  4. Kontroller nødvendige valideringer
  5. Vedta relevante testpolicyer og sertifiseringer

Den diagrammatiske fremstillingen av samsvars- og samsvarstestingsprosessen nedenfor gjør sekvensen enklere å følge.

Femtrinns samsvarstestingsprosess fra analyse av standarder til sertifisering

Uttrykt som et brukstilfelle, viser den samme prosessen hvilken aktør som utfører hvert trinn.

Brukstilfellediagram for samsvarstestingsprosessen med tester- og sertifiseringsaktører

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

  1. Sikrer korrekt implementering av spesifikasjonene
  2. Sikrer portabilitet og interoperabilitet
  3. Gir hensiktsmessig bruk av standarder
  4. Gjør det mulig å sikre at grensesnitt og funksjoner fungerer som forventet
  5. 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:

  1. Effektiv samsvarstesting krever at klassen til systemet som testes identifiseres sammen med en passende metode.
  2. Kategorisering av spesifikasjoner i profiler, nivåer og moduler
  3. Forhåndsdefinerte verdier
  4. 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:

  1. Testmetoder som er best egnet
  2. Valg av et testverktøy som vil automatisere testprosessen
  3. Klar forståelse av at samsvarstesting kun viser avvik, aldri samsvar i seg selv
  4. Utforme og implementere samsvarstestingsprogrammet
  5. Definere hvor formelt det skal utføres
  6. 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:

Eksempel Bruk Case Diagram

Følgende brukstilfellediagram viser hvordan samsvarstesting utføres for distribuerte mobile systemer.

Brukstilfellediagram for samsvarstesting av et distribuert mobilt system

Dette kan utdypes for SIM-korttesting i to trinn. Det første trinnet er passordvalidering, Vist under.

Brukstilfelle for validering av SIM-kortpassord med riktige og feil PIN-baner

Den andre fasen er ringer, som har to utfall, samtalen var vellykket og samtalen mislyktes.

Å lage et brukseksempel på et anrop som viser resultater av vellykkede og mislykkede anrop

Protokolltesting følger samme mønster, som dette brukstilfellet viser.

Brukstilfelle for protokolltesting for et mobilt system under samsvarstest

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.

Spørsmål og svar

IEEE, W3C, ETSI og 3GPP er de som nevnes oftest, sammen med ISO. Hver av dem publiserer spesifikasjonen og, i mange tilfeller, en offisiell testpakke som et laboratorium kjører før sertifisering gis.

Modeller leser en lang spesifikasjon og tilordner hver klausul til et kandidattesttilfelle, noe som forkorter tracarbeidseffektivitet. En kvalifisert kontrollør signerer fortsatt, fordi sertifiseringsbevis må kunne forsvares av en revisor.

Ja, for den repeterende harness-koden og påstandene rundt en publisert testsuite. Agent-kjørere kan også kjøre pakken på nytt på hver build, selv om beståttkriteriene må komme fra standarden, ikke assistenten.

En akkreditert sertifiseringsmyndighet eller et testlaboratorium som er anerkjent av standardiseringsorganet, ikke utviklingsteamet. Egendeklarerte resultater beskrives vanligvis som en samsvarserklæring snarere enn et sertifikat.

Når standarden revideres eller implementeringen endres på en måte som berører et sertifisert grensesnitt, har mange sertifikater også en gyldighetsperiode, hvoretter pakken kjøres på nytt.

Samsvar beviser at én implementering samsvarer med spesifikasjonen. Interoperabilitetstesting beviser deretter at to uavhengig bygde implementeringer faktisk fungerer sammen. Å bestå den første garanterer ikke den andre.

Overveiende svart boks. Testpakken bruker det publiserte grensesnittet og sammenligner observert atferd med standarden, uten å være avhengig av hvordan implementeringen ble bygget internt.

A tracen gjennomførbarhetsmatrise som knytter hver klausul i standarden til et testtilfelle, de utførte resultatene og en erklæring om eventuell påstått profil eller nivå. Revisorer leser den pakken i stedet for koden.

Oppsummer dette innlegget med: