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.
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:
- Overholdelsestest
- Load Testing
- Stresstest
- Volumentestning
Diagrammet nedenfor viser, hvordan disse testtyper fungerer sammen i et enkelt overensstemmelsesprogram.
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:
- Analyse af standarder og specifikationer
- Valg af testværktøjer og testsuite
- Design af testprocedurer
- Kontrol af nødvendige valideringer
- 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.
Udtrykt som en use case viser den samme proces, hvilken aktør der udfører hvert trin.
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
- Sikrer korrekt implementering af specifikationerne
- Sikrer portabilitet og interoperabilitet
- Giver passende brug af standarder
- Gør det muligt at sikre, at grænseflader og funktioner fungerer som forventet
- 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:
- Effektiv overensstemmelsestest kræver, at klassen af det system, der testes, identificeres sammen med en passende metode.
- Kategorisering af specifikationer i profiler, niveauer og moduler
- Foruddefinerede værdier
- 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:
- Testmetoder, der er bedst egnede
- Valg af et testværktøj, der automatiserer testprocessen
- Klar forståelse af, at overensstemmelsestest kun viser manglende overensstemmelse, aldrig selve overensstemmelsen
- Design og implementering af overensstemmelsestestprogrammet
- Definerer, hvor formelt det skal udføres
- 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:
- Protokoltestning
- Sikkerhed og Sikkerhedstest
- SIM-kort test
- Radiofrekvens (RF) testning
- Lydprøver
- Specifikke absorptionstest
Eksempel Use Case Diagram
Følgende use case-diagram viser, hvordan overensstemmelsestestning udføres for implementerede mobile systemer.
Dette kan uddybes til SIM-korttest i to faser. Den første fase er validering af adgangskode, vist nedenfor.
Den anden fase er foretager et opkald, som har to udfald, opkaldet lykkedes og opkaldet mislykkedes.
Protokoltestning følger det samme mønster, som denne use case viser.
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.







