Test di conformità (Test di conformità) in Test del software

⚡ Riepilogo intelligente

Il test di conformità certifica che un sistema software soddisfa gli standard e le normative stabiliti da enti come IEEE, W3C o ETSI, in termini di prestazioni, funzionalità, robustezza, interoperabilità e comportamento generale del sistema.

  • 🔘 Chiamato anche: Test di conformità o test di tipo, una verifica formale rispetto a uno standard pubblicato.
  • 📚 Copertura: Include test di conformità, carico, stress e volume all'interno di un unico programma di conformità.
  • 🧭 Sottoinsiemi: Prima di iniziare la progettazione dei test, le specifiche vengono raggruppate in profili, livelli e moduli.
  • 🔄 Processo: Analizzare gli standard, selezionare gli strumenti, progettare le procedure, convalidarle e infine adottare le politiche di certificazione.
  • ???? Cell: I dispositivi GSM e CDMA aggiungono test di protocollo, SIM, RF, audio e assorbimento.
  • Distinzione: La conformità è formale e prevede il pieno supporto; la compliance è informale e prevede un supporto parziale.

Test di conformità e test di compliance: processo di test del software

Test di conformità

Test di conformità Il test di conformità è una tecnica di verifica del software utilizzata per certificare che un sistema software sia conforme agli standard e alle normative definiti da enti come IEEE, W3C o ETSI. Determina il grado di conformità di un sistema in fase di test ai singoli requisiti di uno standard specifico. Il test di conformità è anche chiamato test di compliance.

Può trattare aspetti tecnici, ma per sua natura comprende anche:

  • Cookie di prestazione
  • funzioni
  • Robustezza
  • Interoperabilità
  • Comportamento del sistema

Tipi di test di conformità

I test di conformità possono essere logici o fisici e comprendono le seguenti tipologie di test:

Il diagramma seguente mostra come queste tipologie di test si integrano all'interno di un unico programma di conformità.

Tipologie di test di conformità raggruppate in test di conformità, di carico, di stress e di volume

Perché abbiamo bisogno dei test di conformità?

  • Per verificare il rispetto dei requisiti di sistema
  • Per verificare se la documentazione del sistema è completa
  • Per verificare lo sviluppo, la progettazione e la valutazione rispetto alle specifiche

Cosa dobbiamo testare?

  • Gli standard attraverso i quali avviene l’implementazione
  • Il richiamo del sistema che si vuole sviluppare
  • Ambito delle specifiche
  • Obiettivi di specifica

I test di conformità vengono avviati dalla direzione, previa verifica che il team comprenda gli standard, le specifiche e le procedure applicabili.

Per evitare ambiguità, è fondamentale definire chiaramente norme e specifiche. Laddove ciò non avvenga, i test di conformità si rivelano utili per individuare le misure necessarie a renderle pertinenti e affidabili.

Quando e come eseguire i test di conformità?

Il test di conformità viene eseguito quando è necessario verificare la coerenza, la completezza e la correttezza complessive del sistema rispetto alle specifiche dei requisiti. Le metodologie utilizzate non sono molto diverse dalle normali fasi del ciclo di vita dello sviluppo:

  • Analisi delle specifiche dei requisiti
  • Preparazione del piano di test
  • Preparazione dei casi di test e definizione del loro scopo
  • Creazione della documentazione per i progetti di test predisposti

Alcuni aspetti aggiuntivi delle specifiche richiedono attenzione, in particolare i sottoinsiemi, che sono generalmente di tre tipi: Profilo, Livello e Moduli:

  • Profile è un sottoinsieme delle specifiche che include le funzionalità di sistema necessarie per soddisfare un particolare gruppo di utenti
  • Livelli sono sottoinsiemi annidati delle specifiche, dove Livello1 indica le specifiche di base e Livello2 indica Livello1 più funzionalità aggiuntive o nuove
  • moduli sono raccolte di standard e specifiche significativamente correlati

Processo di test di conformità

Il processo di test di conformità, o test di compliance, è necessario per garantire efficienza e prestazioni e per evitare rischi futuri per un'applicazione software. Un test di conformità efficace segue questo processo passo dopo passo:

  1. Analisi di standard e specifiche
  2. Selezione degli strumenti di test e della suite di test
  3. Progettazione delle procedure di test
  4. Controllo delle convalide necessarie
  5. Adottare politiche di test e certificazioni pertinenti

La rappresentazione schematica del processo di test di conformità riportata di seguito facilita la comprensione della sequenza.

Processo di test di conformità in cinque fasi, dall'analisi degli standard alla certificazione.

Espresso come caso d'uso, lo stesso processo mostra quale attore esegue ciascuna fase.

Diagramma dei casi d'uso del processo di test di conformità con attori addetti al test e alla certificazione.

Test di conformità vs. test di compliance

Il test di conformità viene talvolta chiamato test di compliance, ma esistono alcune differenze fondamentali tra i due. La tabella seguente li confronta.

Test di conformità Test di conformità
Un metodo formale e preciso per effettuare test rispetto agli standard. Un metodo informale e meno preciso per verificare la conformità agli standard.
La certificazione di conformità si applica solo ai sistemi operativi che possiedono l'approvazione ufficiale di un'Autorità di Certificazione. Un sistema operativo che fornisce una singola API di POSIX (Portable OperaSi dice che l'interfaccia del sistema di ting sia conforme
Utilizzato per testare un sistema che fornisce il pieno supporto degli standard specificati. Utilizzato per testare un sistema che fornisce supporto solo per alcuni degli standard specificati.

Vantaggi del test di conformità

  1. Assicura la corretta implementazione delle specifiche
  2. Garantisce portabilità e interoperabilità
  3. Fornisce un utilizzo appropriato degli standard
  4. Consente di garantire che le interfacce e le funzioni funzionino come previsto
  5. Aiuta a identificare le aree che devono essere conformi e quelle che non lo sono, come la sintassi e la semantica.

Svantaggi dei test di conformità

Come altri tipi di test, il test di conformità prevede compiti complessi che possono rappresentare una sfida. Alcuni di questi sono elencati di seguito:

  1. Per un test di conformità efficace è necessario identificare la classe del sistema in esame e definire una metodologia adeguata.
  2. Classificazione delle specifiche in profili, livelli e moduli
  3. Predefinire i valori
  4. Progettare le estensioni, le opzioni e gli approcci necessari per eseguire con successo il processo di test.

Test di conformità: punti di vista critici

I test di conformità presentano aree che richiedono particolare attenzione e conoscenza per una corretta implementazione:

  1. Metodologie di test più adatte
  2. Selezione di uno strumento di test che automatizzi il processo di test
  3. È fondamentale comprendere che i test di conformità rilevano solo la non conformità, mai la conformità stessa.
  4. Progettazione e implementazione del programma di test di conformità
  5. Definire come formalmente dovrebbe essere eseguito
  6. Politiche e regolamentazione

Test di conformità per sistemi mobili

Come altri tipi di test del software, anche i test di conformità possono essere eseguiti su sistemi mobili. Una volta assemblato il sistema, prima della distribuzione, ne viene verificata la funzionalità tramite un test di conformità.

A seconda del tipo di rete, come GSM o CDMA, vengono eseguiti dei test per verificarne la conformità e l'interoperabilità. Questi test possono includere:

Esempio di diagramma dei casi d'uso

Il seguente diagramma dei casi d'uso mostra come vengono eseguiti i test di conformità per le applicazioni distribuite sistemi mobili.

Diagramma dei casi d'uso per il test di conformità di un sistema mobile distribuito

Questo può essere elaborato per il test della scheda SIM in due fasi. La prima fase è convalida della password, mostrato di seguito.

Caso d'uso per la convalida della password della scheda SIM con percorsi PIN corretti e non corretti.

Il secondo stadio è fare una chiamatache ha due esiti: chiamata riuscita e chiamata fallita.

Creazione di un caso d'uso per le chiamate che mostri gli esiti di una chiamata riuscita e di una chiamata fallita.

Il test dei protocolli segue lo stesso schema, come dimostra questo caso d'uso.

Caso d'uso per il test del protocollo di un sistema mobile sottoposto a test di conformità.

Il modello di caso di test riportato di seguito mostra come vengono scritti i casi di test per il collaudo dei protocolli.

ID di prova Scenario di prova Passaggi di prova Dati di test Risultato atteso Risultato attuale Stato Commento
PT001 Il protocollo non ha alcun punto morto Inizia con il processo di comunicazione _ Dovrebbe stabilire la comunicazione con successo Comunicazione stabilita con successo Passare _
PT002 "PingIl comando " funziona correttamente per il timeout" entra Ping comando come 'Ping -w' nel prompt dei comandi Ping 1000 Dovrebbe mostrare il messaggio “Transmit Riuscito." Il messaggio mostra “Transmit Riuscito." Passare _
PT003 Conta il numero di richieste 'echo' entra Ping comando come 'Ping -n' nel prompt dei comandi Ping 4 Dovrebbe iniziare pinginviando 0.0.0.4 con 32 byte di dati e mostrando il messaggio "Transmit Riuscito." Avvia pinging 0.0.0.4 con 32 byte di dati ma mostra il messaggio “Transmit Fallito. " Fallire Errore semantico o funzionale
PT004 Qualsiasi stato può essere raggiunto da qualsiasi stato Esci da uno stato e torna a quello precedente o successivo _ Dovrebbe cambiare con successo lo stato Modifica lo stato con successo Passare _

Modelli come questo uniformano il processo di test. A seconda del tipo di rete, è possibile definire ed eseguire centinaia di casi di test per confermare che il sistema mobile funzioni come richiesto dalle specifiche.

DOMANDE FREQUENTI

IEEE, W3C, ETSI e 3GPP sono gli enti più citati, insieme a ISO. Ciascuno pubblica le specifiche e, in molti casi, una serie di test ufficiali che un laboratorio esegue prima di rilasciare la certificazione.

I modelli leggono una specifica lunga e mappano ogni clausola a un caso di test candidato, il che riduce la traclavoro di verifica della fattibilità. Un revisore qualificato firma comunque, perché le prove di certificazione devono essere difendibili di fronte a un revisore.

Sì, per il codice ripetitivo del framework e le asserzioni relative a una suite di test pubblicata. Gli agenti possono anche rieseguire la suite a ogni build, sebbene i criteri di superamento debbano provenire dallo standard, non dall'assistente.

Un ente di certificazione accreditato o un laboratorio di prova riconosciuto dall'organismo di normazione, non dal team di sviluppo. I risultati autodichiarati vengono solitamente descritti come una dichiarazione di conformità piuttosto che come un certificato.

Ogni qualvolta lo standard viene rivisto o l'implementazione cambia in un modo che interessa un'interfaccia certificata. Molti certificati hanno anche un periodo di validità, trascorso il quale la suite deve essere rieseguita.

La conformità dimostra che un'implementazione corrisponde alle specifiche. Test di interoperabilità dimostra quindi che due implementazioni create in modo indipendente funzionano effettivamente insieme. Superare il primo test non garantisce il successo del secondo.

Si tratta prevalentemente di un sistema a scatola nera. La suite di test verifica l'interfaccia pubblicata e confronta il comportamento osservato con lo standard, senza dipendere da come l'implementazione è stata realizzata internamente.

A tracUna matrice di fattibilità che collega ogni clausola dello standard a un caso di test, ai risultati dell'esecuzione e a una dichiarazione di qualsiasi profilo o livello dichiarato. Gli auditor leggono questo pacchetto, non il codice.

Riassumi questo post con: