Overholdelsestest (Conformance Testing) i softwaretest

⚡ Smart opsummering

Overensstest bekræfter, at et softwaresystem opfylder de standarder og regler, der er fastsat af organer som IEEE, W3C eller ETSI, og som dækker ydeevne, funktioner, robusthed, interoperabilitet og den samlede systemadfærd.

  • 🔘 Også kaldet: Overensstemmelsestest eller typetest, en formel verifikation i forhold til en offentliggjort standard.
  • 📚 Dækning: Omfatter compliance-, belastnings-, stress- og volumentestning i ét compliance-program.
  • 🧭 Delmængder: Specifikationer grupperes i Profiler, Niveauer og Moduler, før testdesignet starter.
  • 🔄 Proces: Analysér standarder, vælg værktøjer, design procedurer, valider, og vedtag derefter certificeringspolitikker.
  • ???? Mobil: GSM- og CDMA-enheder tilføjer protokol-, SIM-, RF-, lyd- og absorptionstests.
  • ⚖️ Forskel: Overholdelse er formel og fuld støtte; overholdelse er uformel og delvis støtte.

Overholdelsestest og compliance-testproces i softwaretest

Overensstemmelsestest

Overensstemmelsestest er en softwaretestteknik, der bruges til at certificere, at et softwaresystem overholder de standarder og regler, der er defineret af organer som IEEE, W3C eller ETSI. Den bestemmer, hvor godt et system under test overholder de individuelle krav i en bestemt standard. Overholdelsestest kaldes også compliance testing.

Det kan omhandle tekniske aspekter, men dækker designmæssigt også:

  • Ydeevne
  • Funktioner
  • Robusthed
  • Interoperabilitet
  • Systemets opførsel

Typer af overensstemmelsestest

Overensstemmelsestest kan være logisk eller fysisk, og den omfatter følgende typer test:

Diagrammet nedenfor viser, hvordan disse testtyper fungerer sammen i et enkelt overensstemmelsesprogram.

Typer af overensstemmelsestest grupperet som overensstemmelsestest, belastningstest, stresstest og volumentest

Hvorfor har vi brug for overensstemmelsestest?

  • For at kontrollere opfyldelsen af ​​systemkravene
  • For at kontrollere, om systemdokumentationen er fuldstændig
  • At kontrollere udvikling, design og evaluering i forhold til specifikationerne

Hvad skal vi teste?

  • De standarder, hvorigennem implementeringen finder sted
  • Opfordringen til det system, der skal udvikles
  • Specifikationernes omfang
  • Specifikationsmål

Overensstemmelsestest initieres af ledelsen med sikkerhed for, at teamet forstår de gældende standarder, specifikationer og procedurer.

Standarder og specifikationer bør angives tydeligt for at undgå tvetydighed. Hvor de ikke er det, er overensstemmelsestestning i sig selv nyttig til at identificere de trin, der er nødvendige for at gøre dem relevante og pålidelige.

Hvornår og hvordan udfører man overensstemmelsestest?

Overensstestning udføres, når systemets overordnede konsistens, fuldstændighed og korrekthed skal kontrolleres i forhold til kravspecifikationerne. De anvendte metoder adskiller sig ikke meget fra de almindelige udviklingsfaser i livscyklussen:

  • Analyse af kravspecifikationer
  • Udarbejdelse af testplanen
  • Udarbejdelse af testcases og angivelse af deres formål
  • Udarbejdelse af dokumentation til de udarbejdede testdesigns

Nogle yderligere aspekter af specifikationerne kræver opmærksomhed, især delmængder, som generelt er af tre typer — Profil, Niveau og Moduler:

  • Profil er en delmængde af specifikationerne, der inkluderer den systemfunktionalitet, der kræves for at tilfredsstille en bestemt brugergruppe
  • Niveauer er indlejrede delmængder af specifikationerne, hvor Niveau 1 angiver de grundlæggende specifikationer, og Niveau 2 angiver Niveau 1 plus yderligere eller ny funktionalitet
  • Moduler er samlinger af signifikant korrelerede standarder og specifikationer

Overensstemmelsestestproces

Overholdelsestestprocessen, eller compliance testprocessen, er nødvendig for at sikre effektivitet og ydeevne og for at undgå fremtidig risiko for en softwareapplikation. En effektiv overholdelsestest følger denne trinvise proces:

  1. Analyse af standarder og specifikationer
  2. Valg af testværktøjer og testsuite
  3. Design af testprocedurer
  4. Kontrol af nødvendige valideringer
  5. Vedtagelse af relevante testpolitikker og certificeringer

Den diagrammatiske repræsentation af overensstemmelses- og compliance-testprocessen nedenfor gør rækkefølgen lettere at følge.

Femtrinsproces til overensstemmelsestest fra analyse af standarder til certificering

Udtrykt som en use case viser den samme proces, hvilken aktør der udfører hvert trin.

Use case-diagram over overensstemmelsestestprocessen med tester- og certificeringsaktører

Overholdelsestest vs. overensstemmelsestest

Overholdelsestest kaldes lejlighedsvis for compliance-test, men der er et par grundlæggende fakta, der adskiller de to. Tabellen nedenfor sammenligner dem.

Overensstemmelsestest Overholdelsestest
En formel og præcis metode til at teste i forhold til standarder En uformel og mindre præcis måde at teste i forhold til standarder
Overensstemmelsescertificering gælder kun for et operativsystem, der har en officiel godkendelse fra en certificeringsmyndighed Et operativsystem, der giver en enkelt API af POSIX (Portable OperaSystem Interface) siges at være kompatibel
Bruges til test af et system, der yder fuld understøttelse af de givne standarder Bruges til at teste et system, der kun understøtter nogle af de givne standarder

Fordele ved overensstemmelsestest

  1. Sikrer korrekt implementering af specifikationerne
  2. Sikrer portabilitet og interoperabilitet
  3. Giver passende brug af standarder
  4. Gør det muligt at sikre, at grænseflader og funktioner fungerer som forventet
  5. Hjælper med at identificere de områder, der skal overholde reglerne, og dem, der ikke behøver det, såsom syntaks og semantik

Ulemper ved overensstemmelsestest

Ligesom andre typer testning indebærer overensstemmelsestestning opgaver, der er vanskelige at udføre og kan blive en udfordring. Nogle af dem er anført nedenfor:

  1. Effektiv overensstemmelsestest kræver, at klassen af ​​det system, der testes, identificeres sammen med en passende metode.
  2. Kategorisering af specifikationer i profiler, niveauer og moduler
  3. Foruddefinerede værdier
  4. Design af de udvidelser, muligheder og tilgange, der er nødvendige for at køre testprocessen med succes

Overholdelsestest: Kritiske synspunkter

Overholdelsestestning har områder, der kræver ekstra opmærksomhed og viden for en vellykket implementering:

  1. Testmetoder, der er bedst egnede
  2. Valg af et testværktøj, der automatiserer testprocessen
  3. Klar forståelse af, at overensstemmelsestest kun viser manglende overensstemmelse, aldrig selve overensstemmelsen
  4. Design og implementering af overensstemmelsestestprogrammet
  5. Definerer, hvor formelt det skal udføres
  6. Politikker og regulering

Overensstemmelsestest for mobilt system

Ligesom andre typer softwaretest kan overensstemmelsestest også udføres for mobile systemer. Når systemet er samlet, kontrolleres det for brug inden implementering via en overensstemmelsestest.

Afhængigt af netværkstypen, såsom GSM eller CDMA, udføres testene for at opnå overensstemmelse og interoperabilitet. Disse tests kan omfatte:

Eksempel Use Case Diagram

Følgende use case-diagram viser, hvordan overensstemmelsestestning udføres for implementerede mobile systemer.

Brugsscenarie til overensstemmelsestest af et implementeret mobilt system

Dette kan uddybes til SIM-korttest i to faser. Den første fase er validering af adgangskode, vist nedenfor.

Brugsscenarie for validering af SIM-kortadgangskode med korrekte og forkerte PIN-stier

Den anden fase er foretager et opkald, som har to udfald, opkaldet lykkedes og opkaldet mislykkedes.

Oprettelse af et use case-opkald, der viser resultater af gennemførte og mislykkede opkald

Protokoltestning følger det samme mønster, som denne use case viser.

Brugsscenarie for protokoltestning af et mobilt system under overensstemmelsestest

Testcaseskabelonen nedenfor viser, hvordan testcases skrives til protokoltestning.

Test-id Testscenarie Test trin Testdata forventet resultat Faktisk resultat Status Bemærkninger
PT001 Protokol har ingen dødvande Start med kommunikationsprocessen _ Bør etablere kommunikation med succes Kommunikation etableret med succes Pass _
PT002 "Ping"kommandoen fungerer korrekt for timeout Indtast Ping kommando som 'Ping -w' i kommandoprompten Ping 1000 Skal vise beskeden "Transmit Vellykket." Beskeden viser "Transmit Vellykket." Pass _
PT003 Tæl antallet af 'ekko'-anmodninger Indtast Ping kommando som 'Ping -n' i kommandoprompten Ping 4 Bør starte pinging 0.0.0.4 med 32 bytes data og vis meddelelsen "Transmit Vellykket." Starter pinging 0.0.0.4 med 32 bytes data, men viser meddelelsen "Transmit Mislykkedes." Fail Semantisk eller funktionel fejl
PT004 Enhver stat kan nås fra enhver stat Forlad en tilstand og vend tilbage til den forrige eller næste _ Bør med succes ændre tilstanden Det lykkedes at ændre tilstanden Pass _

Skabeloner som denne bringer ensartethed i testprocessen. Afhængigt af netværkstypen kan hundredvis af testcases defineres og udføres for at bekræfte, at mobilsystemet fungerer som kravspecifikationen kræver.

Ofte Stillede Spørgsmål

IEEE, W3C, ETSI og 3GPP er dem, der nævnes oftest, sammen med ISO. Hver især udgiver de specifikationen og i mange tilfælde en officiel testpakke, som et laboratorium kører, før certificering tildeles.

Modeller læser en lang specifikation og knytter hver klausul til en kandidattestcase, hvilket forkorter tracbæredygtighedsarbejde. En kvalificeret korrekturlæser underskriver stadig, fordi certificeringsdokumentation skal kunne forsvares af en revisor.

Ja, for den gentagne harness-kode og assertions omkring en publiceret testsuite. Agentic-brugere kan også genudføre pakken på hver build, selvom beståelseskriterierne skal komme fra standarden, ikke assistenten.

En akkrediteret certificeringsmyndighed eller et testlaboratorium, der er anerkendt af standardiseringsorganet, ikke udviklingsteamet. Selvdeklarerede resultater beskrives normalt som en overensstemmelseserklæring snarere end et certifikat.

Når standarden revideres, eller implementeringen ændres på en måde, der berører en certificeret grænseflade, har mange certifikater også en gyldighedsperiode, hvorefter pakken genudføres.

Overholdelse af reglerne beviser, at én implementering overholder specifikationen. Interoperabilitetstest beviser derefter, at to uafhængigt byggede implementeringer rent faktisk fungerer sammen. At bestå den første garanterer ikke den anden.

Overvejende black box. Testpakken bruger den publicerede grænseflade og sammenligner observeret adfærd med standarden uden at være afhængig af, hvordan implementeringen blev bygget internt.

A tracEn eability-matrix, der forbinder hver klausul i standarden med en testcase, de udførte resultater og en erklæring om enhver påstået profil eller niveau. Auditorer læser den pakke i stedet for koden.

Opsummer dette indlæg med: