Överensstämmelsetestning (Conformance Testing) i mjukvarutestning
⚡ Smart sammanfattning
Överensstämmelsetestning intygar att ett programvarusystem uppfyller de standarder och föreskrifter som fastställts av organ som IEEE, W3C eller ETSI, vilka omfattar prestanda, funktioner, robusthet, interoperabilitet och övergripande systembeteende.
Överensstämmelsetestning
Överensstämmelsetestning är en mjukvarutestningsteknik som används för att certifiera att ett mjukvarusystem uppfyller de standarder och föreskrifter som definierats av organ som IEEE, W3C eller ETSI. Den avgör hur väl ett system som testas uppfyller de individuella kraven i en viss standard. Överensstämmelsetestning kallas även för compliancetestning.
Den kan behandla tekniska aspekter, men omfattar även utformningen:
- Prestanda
- Funktioner
- Robusthet
- Interoperabilitet
- Systemets beteende
Typer av överensstämmelsetestning
Överensstämmelsetestning kan vara logisk eller fysisk, och den omfattar följande typer av testning:
- Överensstämmelsetestning
- Lasttestning
- Stresstestning
- Volymtestning
Diagrammet nedan visar hur dessa testtyper samverkar i ett enda överensstämmelseprogram.
Varför behöver vi överensstämmelsetestning?
- För att kontrollera att systemkraven är uppfyllda
- För att kontrollera om systemdokumentationen är komplett
- För att kontrollera utveckling, design och utvärdering mot specifikationerna
Vad behöver vi testa?
- De standarder genom vilka implementeringen sker
- Uppmaningen av det system som ska utvecklas
- Specifikationernas omfattning
- Specifikationsmål
Överensstämmelsetestning initieras av ledningen, med försäkran om att teamet förstår tillämpliga standarder, specifikationer och procedurer.
Standarder och specifikationer bör anges tydligt för att undvika tvetydighet. Om de inte är det är överensstämmelsetestning i sig användbar för att identifiera de steg som behövs för att göra dem relevanta och tillförlitliga.
När och hur ska man utföra överensstämmelsetestning?
Överensstämmelsetestning utförs när systemets övergripande konsistens, fullständighet och korrekthet måste kontrolleras mot kravspecifikationerna. De metoder som används skiljer sig inte särskilt mycket från vanliga utvecklingslivscykelstadier:
- Analysera kravspecifikationer
- Förberedelse av testplanen
- Förbereda testfall och ange deras syfte
- Skapa dokumentation för de förberedda testdesignerna
Några ytterligare aspekter av specifikationerna behöver uppmärksammas, särskilt delmängder, som generellt sett är av tre typer – Profil, Nivå och Moduler:
- Profil är en delmängd av specifikationerna som inkluderar den systemfunktionalitet som krävs för att tillfredsställa en viss grupp användare
- Nivåer är kapslade delmängder av specifikationerna, där Nivå1 anger de grundläggande specifikationerna och Nivå2 anger Nivå1 plus ytterligare eller ny funktionalitet
- Moduler är samlingar av signifikant korrelerade standarder och specifikationer
Överensstämmelsetestningsprocess
Överensstämmelsetestprocessen, eller compliance testing process, är nödvändig för att säkerställa effektivitet och prestanda och för att undvika framtida risker för en programvaruapplikation. Ett effektivt överensstämmelsetest följer denna steg-för-steg-process:
- Analysera standarder och specifikationer
- Val av testverktyg och testsvit
- Utforma testprocedurer
- Kontrollera nödvändiga valideringar
- Anta relevanta testpolicyer och certifieringar
Den schematiska representationen av processen för överensstämmelse och efterlevnadstestning nedan gör sekvensen lättare att följa.
Uttryckt som ett användningsfall visar samma process vilken aktör som utför varje steg.
Överensstämmelsetestning kontra efterlevnadstestning
Överensstämmelsetestning kallas ibland för efterlevnadstestning, men det finns några grundläggande fakta som skiljer de två åt. Tabellen nedan jämför dem.
| Överensstämmelsetestning | Överensstämmelsetestning |
| Ett formellt och precist sätt att testa mot standarder | Ett informellt och mindre precist sätt att testa mot standarder |
| Certifiering om överensstämmelse gäller endast för ett operativsystem som har officiellt godkännande från certifieringsmyndigheten | Ett operativsystem som tillhandahåller ett enda API av POSIX (Portable OperaSystemgränssnitt) sägs vara kompatibelt |
| Används för att testa ett system som ger fullt stöd för de givna standarderna | Används för att testa ett system som endast stöder vissa av de givna standarderna |
Fördelar med överensstämmelsetestning
- Säkerställer korrekt implementering av specifikationerna
- Säkerställer portabilitet och interoperabilitet
- Ger lämplig användning av standarder
- Gör det möjligt att säkerställa att gränssnitt och funktioner fungerar som förväntat
- Hjälper till att identifiera de områden som måste överensstämma och de som inte behöver det, såsom syntax och semantik
Nackdelar med överensstämmelsetestning
Liksom andra typer av testning medför överensstämmelsetestning uppgifter som är svåra att utföra och kan bli en utmaning. Några av dem listas nedan:
- Effektiv överensstämmelsetestning kräver att den systemklass som testas identifieras tillsammans med en lämplig metod.
- Kategorisering av specifikationer i profiler, nivåer och moduler
- Fördefiniera värden
- Utforma de tillägg, alternativ och metoder som behövs för att genomföra testprocessen framgångsrikt
Överensstämmelsetestning: Kritiska synpunkter
Överensstämmelsetestning har områden som behöver extra uppmärksamhet och kunskap för framgångsrik implementering:
- Testmetoder som är bäst lämpade
- Val av ett testverktyg som automatiserar testprocessen
- Tydlig förståelse för att överensstämmelsetestning endast visar avvikelser, aldrig överensstämmelsen i sig
- Utforma och implementera programmet för överensstämmelsetestning
- Definierar hur formellt det ska utföras
- Policyer och reglering
Överensstämmelsetestning för mobilt system
Precis som andra typer av mjukvarutestning kan överensstämmelsetestning även utföras för mobila system. När systemet är monterat kontrolleras det för användning innan driftsättning genom ett överensstämmelsetest.
Beroende på nätverkstyp, såsom GSM eller CDMA, utförs testerna för att uppnå överensstämmelse och interoperabilitet. Dessa tester kan innefatta:
- Protokolltestning
- Säkerhet och Säkerhetstestning
- SIM-kort testning
- Radiofrekvenstestning (RF)
- Ljudtest
- Specifika absorptionstester
Exempel Användningsfallsdiagram
Följande användningsfallsdiagram visar hur överensstämmelsetestning utförs för distribuerade mobila system.
Detta kan utföras för SIM-kortstestning i två steg. Det första steget är lösenordsvalidering, visas nedan.
Det andra steget är ringer ett samtal, vilket har två resultat, samtalet lyckades och samtalet misslyckades.
Protokolltestning följer samma mönster, som detta användningsfall visar.
Testfallsmallen nedan visar hur testfall skrivs för protokolltestning.
| Test-ID | Testscenario | Teststeg | Testdata | Förväntat resultat | Faktiskt resultat | Status | Anmärkningar |
| PT001 | Protokollet har inget dödläge | Börja med kommunikationsprocessen | _ | Bör etablera kommunikation framgångsrikt | Kommunikation etablerad framgångsrikt | Pass | _ |
| PT002 | "Ping”-kommandot fungerar korrekt för timeout | ange Ping kommando som 'Ping -w' i kommandotolken | Ping 1000 | Borde visa meddelandet "Transmit Framgångsrik." | Meddelandet visar "Transmit Framgångsrik." | Pass | _ |
| PT003 | Räkna antalet 'eko'-förfrågningar | ange Ping kommando som 'Ping -n' i kommandotolken | Ping 4 | Borde börja ping0.0.0.4 med 32 byte data och visa meddelandet "Transmit Framgångsrik." | Startar ping0.0.0.4 med 32 byte data men visar meddelandet "Transmit Misslyckades." | Underkänd | Semantiskt eller funktionellt fel |
| PT004 | Vilken stat som helst kan nås från vilken stat som helst | Lämna ett tillstånd och återgå till föregående eller nästa | _ | Bör framgångsrikt ändra tillståndet | Ändrar tillståndet framgångsrikt | Pass | _ |
Mallar som denna ger enhetlighet i testprocessen. Beroende på nätverkstyp kan hundratals testfall definieras och köras för att bekräfta att mobilsystemet fungerar enligt kravspecifikationen.







