Överensstämmelsetestning (Conformance Testing) i mjukvarutestning
Överensstämmelsetestning
Överensstämmelsetestning är en mjukvarutestteknik som används för att certifiera att mjukvarusystemet överensstämmer med standarderna och reglerna som definieras av IEEE, W3C eller ETSI. Syftet med överensstämmelsetestning är att fastställa hur ett system som testas bekräftar att det uppfyller de individuella kraven i en viss standard. Överensstämmelsetestning kallas även Compliance Testing.
Det kan handla om någon teknisk aspekt men avsiktligt inkluderar det:
- Prestation
- 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
Varför behöver vi överensstämmelsetestning?
- För att kontrollera om systemets krav uppfylls
- För att kontrollera om systemdokumentationen är komplett med nödvändig
- För att kontrollera utveckling, design och utvärdering enligt 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 total säkerhet om teamet och deras förståelse för standarder, specifikationer och procedurer.
För att bygga en effektiv tillämpning bör standarder och specifikationer tydligt nämnas för att undvika oklarheter. Om inte så är överensstämmelsetestning i sig användbart för att vidta nödvändiga åtgärder för att göra det relevant och tillförlitligt.
När och hur ska man utföra överensstämmelsetestning?
- När vi behöver kontrollera systemets övergripande överensstämmelse, fullständighet och korrekthet med avseende på kravspecifikationer vid den tidpunkten utförs överensstämmelsetestning
- Det finns flera metoder för att utföra det som inte skiljer sig mycket från våra utvecklingslivscykelstadier som;
- Analysera kravspecifikationer
- Förbereder testplan
- Förbereda testfall och dess syfte
- Skapa dokumentation för förberedda testdesigner
- Vi måste fokusera på några ytterligare aspekter av specifikationer som delmängder, som vanligtvis är av tre typer som "Profil", "Level" och "Moduler".
- Profil är en delmängd av specifikationer som inkluderar systemets funktionalitet för att tillfredsställa krav och dedikerad till en viss grupp av användare
- Nivåer är kapslade delmängder av specifikationer där Level1 indikerar grundläggande specifikationer och Level2 indikerar Nivå1 + ytterligare/nya funktioner
- Moduler är en samling av signifikant korrelerade standarder och specifikationer
Överensstämmelsetestningsprocess
Överensstämmelsetestningsprocess eller Compliance Testing Process är nödvändig för att säkerställa effektivitet, prestanda och för att undvika framtida risker för en mjukvaruapplikation. En effektiv överensstämmelsetestning inkluderar följande steg för steg process:
- Analysera standarder och specifikationer
- Välja Testverktyg och Testsvit
- Utformning av testprocedurer
- Kontrollera nödvändiga valideringar
- Anpassa relevanta testpolicyer och certifieringar
Låt oss ta en snabb titt på en schematisk representation av testprocessen för överensstämmelse/efterlevnad för bättre förståelse:
Med hjälp av Use Case blir denna process lättare att förstå;
Det nämns ovan att överensstämmelsetestning ibland kallas för överensstämmelsetestning, men ändå finns det några grundläggande fakta som gör att överensstämmelsetestning skiljer sig från efterlevnadstestning.
Vi kommer att granska jämförelsen och kontrasten mellan båda;
Överensstämmelsetestning | Överensstämmelsetestning |
---|---|
Överensstämmelsetestning är ett formellt och exakt sätt att testa standarder | Efterlevnadstestning är ett informellt och mindre exakt sätt att testa standarder |
Certifiering av överensstämmelse är endast tillämplig på det operativsystem som har en officiell certifikatutfärdare | Ett operativsystem som tillhandahåller ett enda API av POSIX (Portable Operating System Interface) sägs vara kompatibla |
Överensstämmelsetestning används för att testa systemet som ger fullt stöd till givna standarder | Compliance Testing används för att testa systemet som ger stöd för några av de givna standarderna |
Fördelar med överensstämmelsetestning
- Säkerställer korrekt implementering av specifikationer
- 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 ska anpassas till de som inte ska anpassas såsom syntax och semantik
Nackdelar med överensstämmelsetestning
Liksom andra typer av testning har Conformance Testing också vissa uppgifter som är ganska svåra att utföra och kan bli en utmaning. Några av dem är listade nedan;
- För att utföra testning för överensstämmelse effektivt måste den identifiera vilken klass av systemet som måste testas tillsammans med lämplig metod
- Kategorisering av specifikationer i profiler, nivåer och moduler
- Fördefiniera värden
- Designa tillägg, alternativ och tillvägagångssätt för att köra testprocessen framgångsrikt.
Överensstämmelsetestning: Kritiska synpunkter:
Överensstämmelsetestning har några områden som behöver extra uppmärksamhet och kunskap för framgångsrik implementering;
- Testmetoder som är bäst lämpade
- Val av testverktyg som kommer att automatisera testprocessen
- Tydlig förståelse för överensstämmelsetestning som endast visar avvikelse istället för överensstämmelse
- Utforma och implementera program 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 också göras för Mobil system. När systemet väl är monterat kontrolleras det för användning innan det distribueras genom överensstämmelsetest.
Beroende på typen av nätverk som GSM eller CDMA utförs testerna för att uppnå överensstämmelse och interoperabilitet.
Dessa tester kan inkludera;
- Protokolltestning
- Säkerhet/Säkerhetstestning
- SIM-kort testning
- Radiofrekvenstestning (RF).
- Ljudtest
- Specifika absorptionstester
Exempel Användningsfallsdiagram
Följande användningsfallsdiagram visar hur överensstämmelsetestningen utförs för distribuerade mobila system;
Dessutom kan detta utvecklas på följande sätt för SIM-korttestning i två steg;
- Lösenordsvalidering
- Ringer
Det kan finnas två fall för ett system som t.ex
1. Ring lyckas
2. Samtalet misslyckades
På samma sätt, för protokolltestning, överväg följande användningsfall;
Efter Testfallsmall hjälper dig att förstå hur vi kan skriva testfall 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-kommandot som 'Ping -w' i kommandotolken | Ping 1000 | Bör visa meddelandet "Sändning lyckad." | Meddelandet visar "Sändning lyckad." | Pass | _ |
PT003 | Räkna nej. av "eko"-förfrågningar | Ange Ping-kommandot som 'Ping -n' i kommandotolken | Ping 4 | Bör börja pinga 0.0.0.4 med 32 byte data och Bör visa meddelandet "Sändning lyckad." | Börjar pinga 0.0.0.4 med 32 byte data men visar meddelandet "Transmit Failed." | Underkänd | Semantiskt/funktionellt fel |
PT004 | Vilken stat som helst kan nås från vilken stat som helst | Gå ur 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 | _ |
Dessa termer visar att överensstämmelsetestning också är användbar för att testa implementeringen av tekniska standarder.
För att få enhetlighet i testprocessen håller man på att definiera testfallen. Beroende på typen av nätverk kan hundratals testfall definieras och utföras för att säkerställa att mobilsystemet fungerar enligt kravspecifikationen.
Sammanfattning
- Överensstämmelsetestning kallas också för typtestning vilket är ett formellt sätt att testa
- Den används för att avgöra om systemet följer kravspecifikationen
- Det inkluderar stresstestning, belastningstestning, volymtestning och efterlevnadstestning
- Det betraktas också som efterlevnadstestning men det finns grundläggande skillnader mellan båda
- Program för överensstämmelsetestning, testmetoder och testverktyg är några av de mest kritiska områdena för överensstämmelsetestning
- Säkerhet för standardanvändning och interoperabilitet uppnås genom överensstämmelsetestning i mjukvaruteknik.
- Överensstämmelsetestning utförs också för mobila system.