simple guide interoperability testing
Prima di capire la tecnica di 'Test di interoperabilità' , Comprendiamo innanzitutto il termine 'Interoperabilità'.
L'interoperabilità è la capacità di un sistema di interagire con un altro sistema. Questa interazione è tra 2 diversi sistemi o 2 diverse applicazioni tutte insieme.
Molte volte l'interoperabilità viene confusa con Integrazione , compatibilità e portabilità. Bene, ci sono differenze tra queste tecniche.
Vorrei prima iniziare spiegando le differenze.
Integrazione - È una tecnica quando i componenti dello stesso sistema interagiscono tra loro. Quindi, nel mondo dei test, quando eseguiamo i test di integrazione, stiamo effettivamente testando il comportamento dei 2 o più livelli più bassi di componenti dello stesso sistema.
Compatibilità - È una tecnica mediante la quale 2 o più applicazioni interagiscono nello stesso ambiente. Quindi nel mondo dei test, quando facciamo i test di compatibilità; convalidiamo se 2 o più applicazioni o sistemi si comportano come previsto nello stesso ambiente.
L'intenzione qui è di verificare che i due sistemi eseguano i compiti previsti, senza interferire a vicenda lavorando, nello stesso ambiente. Like - MS Word e Calculator sono 2 applicazioni diverse e svolgono il loro comportamento previsto in modo indipendente nello stesso sistema operativo. Quindi diciamo che queste 2 applicazioni sono compatibili tra loro.
Portabilità - È una tecnica quando un'applicazione o un sistema si comporta come previsto quando viene spostato in un altro ambiente. Quindi dentro Portabilità testing, esportiamo l'applicazione in un altro ambiente e ne testiamo il comportamento. Ad esempio, se esiste un'applicazione che funziona bene in Windows XP, dovrebbe funzionare bene anche in Windows 10.
Interoperabilità - È una tecnica con cui un'applicazione interagisce con un'altra applicazione. Pertanto, quando eseguiamo il test di interoperabilità, controlliamo come i dati di 1 applicazione vengono trasferiti in un'altra applicazione senza previa indicazione, in modo significativo, e ulteriormente elaborati per fornire l'output accettato.
Questo particolare documento si concentra sui test di interoperabilità (IOT), quindi concentriamoci sull'interoperabilità. :)
Cosa imparerai:
- Test di interoperabilità - Una breve introduzione
- Come eseguire il test di interoperabilità?
- I 5 passaggi e mezzo:
- Sfide:
- Test di interoperabilità sui cellulari:
- Conclusione:
- Lettura consigliata
Test di interoperabilità - Una breve introduzione
Interoperabilità = Inter + operabile
Inter - significa 'tra noi', 'l'uno nell'altro', 'reciproco'
Operabile - significa 'capace di svolgere il compito dato'
Quindi combinando i 2 termini insieme - Interoperabilità significa 2 (o più) sistemi, in grado di svolgere il compito assegnato in modo indipendente e in grado di comunicare tra loro come previsto senza influire sulla funzionalità assegnata individualmente.
Esempio 1:Facciamo un esempio di prenotazione del volo. Considera che devi viaggiare da New Delhi a New York. Ora non hai un volo diretto. Devi viaggiare da Nuova Delhi a Londra e poi prendere un volo in coincidenza da Londra a New York. Poiché hai dei limiti di tempo, prenoti il tuo volo da Nuova Delhi a Londra con le linee aeree 'Jet Airways' e da Londra a New York con 'Virgin Atlantic'. Ciò significa che tutti i dettagli dei tuoi passeggeri sono stati trasferiti da Jet Airways a Virgin Atlantic. Quindi qui, Jet Airways e Virgin Atlantic, sono entrambe applicazioni indipendenti insieme e durante la prenotazione del volo, i dettagli della prenotazione sono stati scambiati da Jet Airways a Virgin Atlantic in modo completo, senza preavviso.
Esempio n. 2:In modo simile, si pensi al sistema di amministrazione ospedaliera, in cui i record dei pazienti vengono scambiati tra un reparto e l'altro. Quindi qui il reparto può essere collegato a un'applicazione. I dettagli del paziente vengono scambiati tra un'applicazione e un'altra senza preavviso.
Allora perché dobbiamo fare l'IOT?
Dovremmo fare il test di interoperabilità per assicurarlo
- Le applicazioni nella rete eseguono il comportamento previsto in modo indipendente,
- Può scambiare informazioni senza preavviso
- Le informazioni / dati vengono scambiati senza interrompere il comportamento previsto dell'individuo
- I dati / informazioni scambiati non vengono modificati o cambiati
Come eseguire il test di interoperabilità?
Possiamo seguire la ruota Deeming (il ciclo PDCA) per eseguire il test di interoperabilità.
libri di test del software download gratuito pdf
# 1) Piano
La pianificazione è la fase più importante per determinare la strategia di fare quasi tutto nello sviluppo del software. Prima di pianificare effettivamente la determinazione della procedura per eseguire l'IOT, è imperiale comprendere ogni singola applicazione o sistema distribuito nella rete.
Dovremmo conoscere tutte le applicazioni: la sua funzionalità, comportamento, input che richiede e output che rivela.
Suggerirei inoltre che ogni singola applicazione sia completamente testata funzionalmente senza difetti, prima di prepararla per il test di interoperabilità. Quindi, quando pianifichi, non pensare solo a 1 o 2 applicazioni, pensa a tutta l'applicazione come a una singola unità. È necessario avere una vista a volo d'uccello quando si pianifica questa tecnica di test. Inutile dirlo: documenta il tuo piano.
Possiamo usare il nostro documento standard del piano di prova e adattarlo un po 'secondo il requisito per documentare la pianificazione dell'IOT. Dopo che il tuo piano di test è in atto, vai avanti per derivare le tue condizioni di test.
L'obiettivo di derivare la condizione del test non dovrebbe essere limitato alle singole applicazioni; invece dovrebbe essere basato sul flusso di dati attraverso tutte le applicazioni. Le condizioni dovrebbero essere progettate in modo tale che, se non tutte, ma la maggior parte delle applicazioni nella rete siano attraversate.
Una volta identificate le condizioni di test, passa alla progettazione o allo script (nel caso in cui prevedi di automatizzare) i tuoi casi di test. Puoi creare un RTM (Requirements Traceability Matrix) per mappare i test case con condizioni di test e le condizioni di test con condizioni / requisiti di test di accettazione.
Quando si lavora su una rete, è ancora importante pianificare anche le attività di test non funzionali. Questo potrebbe non essere scritto o documentato da nessuna parte, ma è obbligatorio verificare gli aspetti non funzionali del sistema nel suo complesso. Queste aree non funzionali includerebbero prestazioni e sicurezza. Se necessario, è possibile creare un piano separato per test funzionali, test delle prestazioni e test di sicurezza; oppure creare un unico piano e un documento diverso delle condizioni di test per ciascuno di questi tipi di test.
# 2) Fallo
Do - è l'intervallo di tempo in cui effettui effettivamente la tua esecuzione. Pianifica il tuo tempo di conseguenza per eseguire i test funzionali e non funzionali. Seguiamo il ciclo di test in questa fase di esecuzione dei casi, registrazione dei difetti, follow-up con il team di sviluppo per risolverli, facendo il re-test e il test di regressione del sistema nel suo complesso, riportando i risultati del test e spostandolo in chiusura.
# 3) Controlla
Verifica: è la fase in cui rivisitiamo i risultati dei nostri test e proviamo a mappare quelli con gli RTM e convalidare se tutti i requisiti previsti sono soddisfatti e se tutte le applicazioni sono state attraversate. Controlliamo che i dati siano attraversati e scambiati correttamente e senza intoppi tra le applicazioni / sistemi. Avremmo anche bisogno di convalidare che i dati che vengono attraversati non vengano modificati.
Considera anche di fare una retrospettiva dell'intero processo di test di interoperabilità. Identificare le aree che hanno funzionato bene, quelle che non sono andate bene e tutti gli elementi di azione di cui è necessario occuparsi.
# 4) Agisci
Agire - È agire sugli elementi retrospettivi. I punti che sono stati identificati come 'buone pratiche', continuano a eseguirli e quelli che potrebbero essere lavorati meglio, identificano i passaggi per rettificarli e agire di conseguenza. Tieni presente una cosa che le aree o i passaggi che non hanno funzionato bene, NON devono essere ripetuti. Dopo tutto dovremmo imparare dai nostri errori e non ripeterli.
I 5 passaggi e mezzo:
- Identifica tutte le applicazioni che fanno parte della rete.
- Identifica le rispettive funzionalità.
- Per ogni applicazione, identifica l'input che prende e l'output che restituisce.
- Identificare quei dati che attraverserebbero tutte / la maggior parte delle applicazioni.
- Identificare il comportamento previsto per ciascuna combinazione di applicazione e data che deve essere convalidata
½ Documentalo.
che aspetto ha un modem
Considera la figura seguente:
Sulla base della figura, proviamo a replicare i 5 passaggi e mezzo:
- Applicazione 1, Applicazione 2, Applicazione 3 e Applicazione 4 sono 4 sistemi diversi.
- Ciascuno di questi sistemi ha l'insieme definito di funzionalità che deve essere identificato.
- È necessario identificare gli input e gli output di ciascun sistema.
- In caso di Application1, rende 2 output. 1 output forma l'input dell'Applicazione 3 e 1 output forma l'input dell'Applicazione 2. L'output dell'Applicazione 2 forma l'input dell'Applicazione 3 e dell'Applicazione 4 e così via.
- Viene verificata la validità per ogni input e output. Il punto principale da considerare qui è che i dati che stanno attraversando sotto forma di input e output non vengono modificati E tutta l'applicazione è coperta.
½ Questa cifra nella vita reale potrebbe non sembrare così semplice. Ciò si traduce in realtà in una struttura più complessa con n numeri di condizioni di input e output.
Disegnare questo tipo di figura darebbe un'immagine migliore per identificare i dati e le informazioni che attraverserebbero sistemi diversi. Questo ci aiuterebbe a ricavare le condizioni di prova e i casi.
Un esempio:
Consideriamo un esempio di esecuzione di test di interoperabilità per un 'sistema di gestione ospedaliera'
Un ospedale è costituito dai seguenti dipartimenti e sotto-reparti;
Qui ogni reparto è un'applicazione a sé stante. Ogni reparto (applicazione) ha il proprio sottodipartimento (moduli) e ogni modulo ha le proprie unità.
Quindi, ora, per considerare l'ambito dell'IOT, ecco alcune condizioni di test:
- Un paziente che ha subito un incidente stradale (Dipartimento OPD - Infortunio), deve sottoporsi a un intervento chirurgico alla gamba (ORL - Chirurgia generale), quindi deve sottoporsi alla fisioterapia (Dipartimento di supporto - Fisioterapia) e quindi viene dimesso (Dipartimento di supporto - Chiusura)
- Un bambino ricoverato in terapia intensiva (Pediatria - Critical Care) deve sottoporsi a un intervento chirurgico (Pediatria / ORL - Chirurgia generale) e poi viene dimesso (Dipartimento di supporto - Chiusura / PR)
- Un paziente esterno consulta un medico generico (dipartimento OPD); prende le medicine prescritte (Reparto Assistenza - Farmacia) e si allontana.
- Una donna incinta viene per controlli regolari (Dipartimento di ginecologia - Madre e assistenza all'infanzia), prende il farmaco prescritto (Dipartimento di supporto - Farmacia) e se ne va.
- Un paziente odontoiatrico fa il trattamento canalare (dipartimento di odontoiatria), prende il farmaco prescritto (dipartimento di supporto - farmacia) e si allontana.
- Un paziente arriva in OPD (medico generico), si sottopone a un trattamento in (Reparto di ostetricia e ginecologia - Ostetricia ad alto rischio) prende il farmaco prescritto (Reparto di supporto - Farmacia) e viene dimesso
In questo modo identifichiamo tutte le condizioni di prova; tenendo presente che la maggior parte del dipartimento deve essere coperta.
Possiamo disegnare un RTM per mostrare la copertura come:
In questo modo possiamo identificare più condizioni di prova e disegnare l'RTM per vedere il nostro ambito esatto. Inoltre, possiamo determinare la profondità dei nostri sforzi di test sulla base dell'RTM.
Come in questo esempio, vediamo che il 'Reparto supporto' è l'applicazione che è il punto di uscita per tutte (la maggior parte) dell'applicazione, quindi lo sforzo di test per questa particolare applicazione è un po 'più rispetto ad altre applicazioni.
Sfide:
- Difficile testare tutta l'applicazione con tutte le permutazioni e combinazioni.
- Le applicazioni sono sviluppate in diverse combinazioni hardware / software e vengono installate in ambienti diversi, quindi se uno qualsiasi dell'ambiente è inattivo, influisce sul test.
- A causa dei diversi software e ambienti, determinare la strategia di test e eseguirla è di per sé un compito importante.
- Stimolare l'ambiente per condurre il test, è una grande sfida.
- In caso di qualsiasi difetto, fare l'analisi della causa principale è una grande sfida.
- Poiché le applicazioni sono in una rete, a volte la rete è inattiva. Per questo motivo, anche i test vengono influenzati.
Come posso mitigare queste sfide?
1) Prova a utilizzare le tecniche di test avanzato come:
- OATS (tecnica di test dell'array ortogonale)
- Diagrammi di transizione di stato,
- Grafici di causa ed effetto
- Porzionamento delle equivalenze e analisi dei valori limite.
Queste tecniche aiuterebbero a identificare l'interdipendenza tra le applicazioni e identificare i casi / condizioni di test che garantirebbero la massima copertura.
Due) Cerca di identificare alcuni dati storici come: in quali circostanze i sistemi erano inattivi, quanto tempo ci vuole per tornare in azione. In tal caso, provare a eseguire quegli scenari le cui applicazioni non sono interessate o utilizzare il tempo per documentare gli scenari e riportare i risultati. Inoltre, ogni volta che pianifichi o pianifichi il test, considera sempre questi dati storici come input per la tua stima e pianifica di conseguenza.
3) PIANO - Usa dati storici, esperienze passate, abilità del team, fattori ambientali per identificare la strategia del test. Migliore è il tuo piano, migliore sarà la tua esecuzione.
4) Inizia a lavorare sulla preparazione dell'ambiente molto prima dell'inizio della tua esecuzione effettiva. Inutile dire che pianifica i tuoi passi quando prepari l'ambiente. Assicurati che il tuo ambiente sia pronto, pronto e funzionante quando inizia l'esecuzione.
5) Prima di iniziare con l'IOT, assicurarsi che le singole applicazioni siano completamente testate funzionalmente senza difetti. Quindi, in caso di qualsiasi difetto, dovresti solo cercare i fattori ambientali che hanno portato a qualche errore.
6) Come discusso al punto 2, Pianifica la tua attività. Se si tratta di un'interruzione pianificata, dovresti considerare questo tempo di inattività quando pianifichi i test.
Test di interoperabilità sui cellulari:
Nei dispositivi mobili, eseguiamo test di interoperabilità ogni volta che una nuova app ( Applicazione mobile ) viene lanciato. Ci sono molte aree che dobbiamo considerare quando pianifichiamo questo test sui dispositivi mobili:
- I tipi di dispositivi mobili disponibili sul mercato sono enormi. Dovresti elencare quali sono tutti i tipi di dispositivi che prenderesti in considerazione per i tuoi test. Avresti bisogno di accoppiare un tipo di dispositivo con il sistema operativo che supporta.
- Tutti i sistemi operativi mobili sono sviluppati in diversi linguaggi di programmazione. Quindi, l'app deve essere testata contro tutte le varianti del sistema operativo.
- Comprensione dei fattori legali e dei contratti relativi alla regione.
- Le dimensioni / risoluzione dei diversi dispositivi sono diverse.
- Deve essere considerato anche l'impatto sulle app integrate mobili.
Quindi, per fare IOT su dispositivi mobili, è necessario pianificare e creare un RTM proprio come abbiamo fatto per un test dell'applicazione basato su computer.
L'intenzione, la strategia, i rischi e l'esecuzione sarebbero gli stessi ma il file strumenti e tecniche sarebbe diverso in caso di cellulari.
Conclusione:
Il test di interoperabilità è un compito enorme. Questa tecnica richiede una pianificazione adeguata che dovrebbe iniziare parallelamente all'avvio della pianificazione del test di sistema.
Ci sono molti fattori che devono essere considerati durante l'esecuzione di questa tecnica. Tieni presente di avere tempo sufficiente per correggere i bug e ripetere il test, poiché questo è uno sforzo enorme, dovrebbe essere previsto il follow-up dei difetti.
Può succedere che tu non raggiunga il 100% copertura , ma dovremmo essere abbastanza intelligenti da selezionare i nostri casi in modo tale che la maggior parte delle applicazioni siano coperte in un unico flusso utilizzando buone tecniche di scrittura di casi di test.
Spero che questo articolo sia stato utile per comprendere la tecnica di test di interoperabilità. Fateci sapere le vostre domande / commenti.
Lettura consigliata
- Test funzionale vs test non funzionale
- Guida al test di sicurezza delle applicazioni Web
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Guida ai test di portabilità con esempi pratici
- Alpha test e beta test (una guida completa)
- Tipi di test del software: diversi tipi di test con dettagli
- Che cos'è il test di localizzazione e il test di internazionalizzazione (Guida semplice)
- Download dell'eBook Testing Primer