Conformiteitstesten (conformiteitstesten) bij het testen van software

โšก Slimme samenvatting

Conformiteitstesten certificeren dat een softwaresysteem voldoet aan de normen en voorschriften van instanties zoals IEEE, W3C of ETSI, met betrekking tot prestaties, functionaliteit, robuustheid, interoperabiliteit en het algehele systeemgedrag.

  • ๐Ÿ”˜ Ook wel genoemd: Conformiteitstesten of typekeuringen, een formele verificatie aan de hand van een gepubliceerde norm.
  • ๐Ÿ“š dekking: Dit omvat conformiteits-, belasting-, spannings- en volumeberekeningen binnen รฉรฉn conformiteitsprogramma.
  • ๐Ÿงญ Deelverzamelingen: Voordat met het testontwerp wordt begonnen, worden de specificaties gegroepeerd in profielen, niveaus en modules.
  • ๐Ÿ”„ Werkwijze: Analyseer normen, selecteer hulpmiddelen, ontwerp procedures, valideer en neem vervolgens certificeringsbeleid aan.
  • ๐Ÿ“ฑ Mobile: GSM- en CDMA-apparaten voegen protocol-, SIM-, RF-, audio- en absorptietests toe.
  • โ€‹ Onderscheid: Conformiteit is formeel en omvat volledige ondersteuning; naleving is informeel en omvat gedeeltelijke ondersteuning.

Het proces van conformiteitstesten en nalevingstesten in softwaretesten.

Conformiteitstesten

Conformiteitstesten Conformiteitstesten zijn een softwaretesttechniek die wordt gebruikt om te certificeren dat een softwaresysteem voldoet aan de normen en voorschriften die zijn vastgesteld door instanties zoals IEEE, W3C of ETSI. Het bepaalt in hoeverre een te testen systeem voldoet aan de individuele eisen van een bepaalde standaard. Conformiteitstesten worden ook wel compliance-testen genoemd.

Het behandelt wellicht technische aspecten, maar het is zo ontworpen dat het ook de volgende onderwerpen omvat:

  • Prestaties
  • Functies
  • robuustheid
  • Interoperabiliteit
  • Gedrag van het systeem

Soorten conformiteitstesten

Conformiteitstesten kunnen logisch of fysiek van aard zijn en omvatten de volgende soorten testen:

Het onderstaande diagram laat zien hoe deze testtypen binnen รฉรฉn conformiteitsprogramma samenwerken.

Soorten conformiteitstesten worden onderverdeeld in nalevingstesten, belastingstesten, spanningstesten en volumetesten.

Waarom hebben we conformiteitstesten nodig?

  • Om te controleren of aan de systeemvereisten is voldaan.
  • Om te controleren of de systeemdocumentatie compleet is.
  • Om de ontwikkeling, het ontwerp en de evaluatie te toetsen aan de specificaties.

Wat moeten we testen?

  • De standaarden waarmee de implementatie plaatsvindt
  • De roep van het te ontwikkelen systeem
  • Reikwijdte van specificaties
  • Specificatie doelstellingen

Conformiteitstesten worden door het management geรฏnitieerd, met de zekerheid dat het team de toepasselijke normen, specificaties en procedures begrijpt.

Normen en specificaties moeten duidelijk worden geformuleerd om dubbelzinnigheid te voorkomen. Indien dit niet het geval is, is conformiteitsonderzoek zelf nuttig om de stappen te identificeren die nodig zijn om ze relevant en betrouwbaar te maken.

Wanneer en hoe conformiteitstesten uitvoeren?

Conformiteitstesten worden uitgevoerd wanneer de algehele consistentie, volledigheid en correctheid van het systeem moet worden gecontroleerd aan de hand van de specificaties. De gebruikte methoden verschillen niet veel van de gebruikelijke fasen in de ontwikkelingslevenscyclus:

  • Analyseren van eisenspecificaties
  • Het testplan opstellen
  • Het voorbereiden van testgevallen en het formuleren van hun doel.
  • Het opstellen van documentatie voor de voorbereide testontwerpen.

Enkele aanvullende aspecten van de specificaties verdienen aandacht, met name subsets, die over het algemeen van drie typen zijn: profiel, niveau en modules.

  • Profiel is een subset van de specificaties die de systeemfunctionaliteit omvat die nodig is om aan de behoeften van een bepaalde groep gebruikers te voldoen.
  • Niveaus zijn geneste subsets van de specificaties, waarbij Level1 de basisspecificaties aangeeft en Level2 Level1 plus aanvullende of nieuwe functionaliteit.
  • Modules zijn verzamelingen van significant gecorreleerde normen en specificaties

Conformiteitstestproces

Het conformiteitstestproces, ofwel het nalevingstestproces, is noodzakelijk om de efficiรซntie en prestaties te waarborgen en toekomstige risico's voor een softwareapplicatie te voorkomen. Een effectieve conformiteitstest volgt dit stapsgewijze proces:

  1. Het analyseren van normen en specificaties
  2. Het selecteren van testtools en de testsuite
  3. Het ontwerpen van testprocedures
  4. Het controleren van noodzakelijke validaties
  5. Het invoeren van relevant testbeleid en certificeringen

De onderstaande schematische weergave van het conformiteits- en nalevingstestproces maakt de volgorde gemakkelijker te volgen.

Een conformiteitstestproces in vijf fasen, van analyse van normen tot certificering.

Uitgedrukt als een praktijkvoorbeeld, laat hetzelfde proces zien welke actor elke fase uitvoert.

Gebruiksscenariodiagram van het conformiteitstestproces met tester en certificeringsactoren

Conformiteitstesten versus nalevingstesten

Conformiteitstesten worden soms ook wel nalevingstesten genoemd, maar er zijn een paar fundamentele verschillen tussen de twee. De onderstaande tabel vergelijkt ze.

Conformiteitstesten Nalevingstests
Een formele en nauwkeurige manier om te testen aan de hand van normen. Een informele en minder precieze manier om te toetsen aan de hand van standaarden.
De conformiteitscertificering is alleen van toepassing op een besturingssysteem dat officieel is goedgekeurd door een certificeringsinstantie. Een besturingssysteem dat รฉรฉn enkele API van POSIX (Portable) biedt OperaDe systeeminterface (Ting System Interface) zou voldoen aan de eisen.
Wordt gebruikt voor het testen van een systeem dat volledige ondersteuning biedt voor de gegeven standaarden. Wordt gebruikt voor het testen van een systeem dat slechts een deel van de gegeven standaarden ondersteunt.

Voordelen van conformiteitstesten

  1. Garandeert de correcte implementatie van de specificaties.
  2. Zorgt voor draagbaarheid en interoperabiliteit
  3. Zorgt voor een passend gebruik van standaarden
  4. Maakt het mogelijk om te garanderen dat interfaces en functies naar behoren werken.
  5. Helpt bij het identificeren van de gebieden die wel en niet aan de regels moeten voldoen, zoals syntaxis en semantiek.

Nadelen van conformiteitstesten

Net als andere soorten testen, omvat conformiteitstesten taken die moeilijk uitvoerbaar zijn en een uitdaging kunnen vormen. Enkele daarvan worden hieronder opgesomd:

  1. Voor een efficiรซnte conformiteitstest is het noodzakelijk om de klasse van het te testen systeem te bepalen, samen met een geschikte methodologie.
  2. Specificaties categoriseren in profielen, niveaus en modules.
  3. Waarden vooraf definiรซren
  4. Het ontwerpen van de uitbreidingen, opties en methoden die nodig zijn om het testproces succesvol te laten verlopen.

Conformiteitstesten: kritische perspectieven

Conformiteitstesten kennen aspecten die extra aandacht en kennis vereisen voor een succesvolle implementatie:

  1. Testmethoden die het meest geschikt zijn
  2. Selectie van een testtool die het testproces automatiseert.
  3. Duidelijk begrip van het feit dat conformiteitstesten alleen non-conformiteit aantonen, nooit conformiteit zelf.
  4. Het ontwerpen en implementeren van het conformiteitstestprogramma.
  5. Bepalen hoe formeel het moet worden uitgevoerd
  6. Beleid en regelgeving

Conformiteitstesten voor mobiel systeem

Net als andere soorten softwaretesten kan conformiteitstesten ook worden uitgevoerd voor mobiele systemen. Nadat het systeem is geassembleerd, wordt het vรณรณr de implementatie gecontroleerd op bruikbaarheid door middel van een conformiteitstest.

Afhankelijk van het netwerktype, zoals GSM of CDMA, worden tests uitgevoerd om conformiteit en interoperabiliteit te garanderen. Deze tests kunnen onder andere het volgende omvatten:

Voorbeeld van een use-casediagram

Het volgende gebruiksscenariodiagram laat zien hoe conformiteitstesten worden uitgevoerd voor geรฏmplementeerde systemen. mobiele systemen.

Gebruiksscenariodiagram voor conformiteitstesten van een geรฏmplementeerd mobiel systeem

Dit kan voor het testen van simkaarten in twee fasen worden uitgewerkt. De eerste fase is wachtwoordvalidatie, hieronder weergegeven.

Validatie van het SIM-kaartwachtwoord met correcte en incorrecte PIN-paden.

De tweede fase is een telefoongesprek voeren, wat twee mogelijke uitkomsten heeft: gesprek geslaagd en gesprek mislukt.

Een use case maken voor een telefoongesprek, waarbij de uitkomsten 'gesprek geslaagd' en 'gesprek mislukt' worden weergegeven.

Protocoltesten volgen hetzelfde patroon, zoals dit voorbeeld laat zien.

Gebruiksscenario voor protocoltesten van een mobiel systeem tijdens een conformiteitstest.

Het onderstaande testcase-sjabloon laat zien hoe testcases worden geschreven voor protocoltesten.

Test-ID Testscenario Teststappen Testgegevens verwacht resultaat Werkelijke resultaat Status Opmerkingen
PT001 Protocol kent geen patstelling Begin met het communicatieproces _ Moet de communicatie met succes tot stand brengen Communicatie succesvol tot stand gebracht Passeren _
PT002 "PingHet commando werkt correct bij een time-out. Enter Ping commando als 'Ping -w' in de opdrachtprompt Ping 1000 Zou het bericht "Transmit Succesvol." Het bericht toont โ€œTransmit Succesvol." Passeren _
PT003 Tel het aantal 'echo'-verzoeken. Enter Ping commando als 'Ping -n' in de opdrachtprompt Ping 4 Zou moeten beginnen pinging 0.0.0.4 met 32 โ€‹โ€‹bytes aan gegevens en toon het bericht โ€œTransmit Succesvol." Begint pinging 0.0.0.4 met 32 โ€‹โ€‹bytes aan gegevens, maar toont de melding "Transmit Mislukt.โ€ Mislukken Semantische of functionele fout
PT004 Elke staat kan vanuit elke staat worden bereikt Verlaat een status en keer terug naar de vorige of volgende. _ Zou de staat met succes moeten veranderen Verandert de status met succes Passeren _

Sjablonen zoals deze zorgen voor uniformiteit in het testproces. Afhankelijk van het type netwerk kunnen honderden testgevallen worden gedefinieerd en uitgevoerd om te bevestigen dat het mobiele systeem werkt zoals de specificaties vereisen.

Veelgestelde vragen

IEEE, W3C, ETSI en 3GPP worden, naast ISO, het vaakst genoemd. Elk van deze organisaties publiceert de specificaties en in veel gevallen ook een officiรซle testsuite die een laboratorium uitvoert voordat certificering wordt verleend.

Modellen lezen een lange specificatie en koppelen elke clausule aan een kandidaat-testgeval, wat de specificatie verkort. tracgeschiktheidsonderzoek. Een gekwalificeerde beoordelaar geeft nog steeds zijn goedkeuring, omdat het certificeringsbewijs verdedigbaar moet zijn tegenover een auditor.

Ja, voor de herhalende testcode en beweringen rondom een โ€‹โ€‹gepubliceerde testsuite. Agentic-runners kunnen de suite ook bij elke build opnieuw uitvoeren, maar de slaagcriteria moeten afkomstig zijn van de standaardtest, niet van de assistent.

Een geaccrediteerde certificeringsinstantie of testlaboratorium dat erkend wordt door de normeringsorganisatie, niet door het ontwikkelingsteam. Zelfverklaarde resultaten worden doorgaans omschreven als een conformiteitsverklaring in plaats van een certificaat.

Telkens wanneer de standaard wordt herzien of de implementatie verandert op een manier die een gecertificeerde interface raakt. Veel certificaten hebben ook een geldigheidsperiode, waarna de suite opnieuw moet worden uitgevoerd.

Conformiteit bewijst dat een implementatie aan de specificatie voldoet. Interoperabiliteitstesten Dit bewijst vervolgens dat twee onafhankelijk ontwikkelde implementaties daadwerkelijk samenwerken. Het slagen van de eerste test garandeert niet dat de tweede ook werkt.

Voornamelijk een black box-test. De testsuite test de gepubliceerde interface en vergelijkt het waargenomen gedrag met de standaard, zonder afhankelijk te zijn van de interne opbouw van de implementatie.

A tracEen geschiktheidsmatrix die elke clausule van de norm koppelt aan een testgeval, de uitgevoerde resultaten en een verklaring van elk geclaimd profiel of niveau. Auditors lezen dit pakket in plaats van de code.

Vat dit bericht samen met: