portability testing guide with practical examples
Introduzione al test di portabilità:
Il test di portabilità è una metodologia di test non funzionale che determina la facilità o la difficoltà con cui un componente software o un'applicazione può essere spostato da un ambiente all'altro.
I risultati dei test ottenuti da Portability Testing aiutano a scoprire con quanta facilità un componente software di un ambiente può essere utilizzato in un altro ambiente.
Il termine 'ambiente' si riferisce allo spostamento da un sistema operativo a un altro sistema operativo, da un browser a un altro browser o da una versione del database a un'altra versione del database.
Una delle principali regole del Portability Testing è che deve essere utilizzato solo se il componente software deve essere spostato da un ambiente a un altro.
Una misura della portabilità è lo sforzo richiesto per spostare il componente software da un ambiente a un altro ambiente. Un'unità di misura della portabilità è il costo per adottare un software nel nuovo ambiente rispetto al costo di riqualificazione del software.
Questo tutorial offre una panoramica completa del significato, degli obiettivi, degli attributi, della lista di controllo, dei vantaggi e degli svantaggi del test di portabilità insieme ad alcuni esempi pratici in termini semplici per una facile comprensione.
Cosa imparerai:
- Differenza tra portabilità e test di compatibilità
- Obiettivi
- Attributi
- Lista di controllo per test di portabilità
- Pro e contro
- Esempi di test di portabilità
- Conclusione
- Lettura consigliata
Differenza tra portabilità e test di compatibilità
I punti riportati di seguito distingueranno brevemente le differenze tra Portabilità e Compatibilità.
=> La compatibilità riguarda se due o più componenti possono essere eseguiti nello stesso ambiente contemporaneamente senza influire negativamente sul comportamento l'uno dell'altro.
Esempio: Si può dire che un elaboratore di testi e una calcolatrice in esecuzione sullo stesso sistema operativo come Windows 10 siano compatibili tra loro poiché l'esecuzione di un'applicazione non influirà sul comportamento dell'altra applicazione.
=> La portabilità si occupa di spostare il componente da un ambiente a un altro.
Esempio: Un gioco in esecuzione su Windows XP si dice che sia portatile se lo stesso gioco può essere eseguito su Windows 7 senza alcun cambiamento nel comportamento del gioco.
=> In breve, il test di portabilità si occupa di componenti software in più ambienti, mentre il test di compatibilità si occupa di testare due diverse applicazioni nello stesso ambiente.
Obiettivi
I seguenti sono gli obiettivi di questo test:
- Determina se un sistema può essere portato a ciascuna delle caratteristiche ambientali, come velocità del processore, spazio su disco e RAM, risoluzione del monitor, versioni del sistema operativo e del browser.
- Determina se l'aspetto dell'applicazione rispetto all'interfaccia utente e alle funzionalità funzionali è simile a più sistemi operativi e più browser.
- Questo test aiuta a determinare se il sistema può essere pronto per il rilascio, soprattutto quando vi è la consapevolezza che i clienti del prodotto utilizzeranno più sistemi operativi con più versioni di browser.
- Questo test viene solitamente eseguito in base a un set predefinito di requisiti di portabilità, che aiutano a trovare i difetti che vengono persi come parte dell'unità e del test di integrazione dell'applicazione.
- I difetti riscontrati in questo test devono essere corretti e forniti come parte del rilascio del prodotto dagli sviluppatori.
- Questo test viene generalmente eseguito in modo incrementale durante il ciclo di vita dello sviluppo del software.
Attributi
La scheda di test del software ha definito alcuni attributi principali di questo test.
Sono:
- Installabilità
- Adattabilità
- Sostituibilità
- Compatibilità o coesistenza
# 1) Installabilità:
L'installazione viene eseguita su un software che deve essere installato in un ambiente di destinazione.
Le seguenti caratteristiche sono convalidate come parte del test di installabilità:
quale programma apre un file json
- Requisiti del sistema operativo per l'installazione.
- Requisiti del browser per l'utilizzo di un'applicazione.
- Requisiti di memoria o RAM.
- Procedura d'installazione.
- Procedura di disinstallazione.
- Eccezioni di interruzione dell'installazione.
- Prerequisiti per l'installazione del software.
# 2) Adattabilità:
Il test di adattabilità è il processo di convalida se il sistema è adattabile a ciascuno degli ambienti di destinazione. L'utilizzo di standard di comunicazione comuni tra più sistemi può aiutare a migliorare l'adattabilità del sistema nel suo insieme.
Il test di adattabilità include le seguenti caratteristiche:
- Dipendenza dall'hardware.
- Dipendenza dal software.
- Lingua standard.
- Comunicazione del sistema con ciascuno degli ambienti target.
- Incapsulamento delle dipendenze.
- Rappresentazione delle dipendenze su più sistemi.
# 3) Sostituibilità:
La sostituibilità è la capacità di sostituire un componente software con un altro. Il componente che sostituisce il componente precedente deve produrre gli stessi risultati del componente precedente su tutti gli ambienti di destinazione. Idealmente, dovrebbe avere lo stesso scopo del componente che viene sostituito.
I prodotti competitivi dello stesso dominio saranno i candidati ideali per la sostituibilità poiché il prodotto che viene sostituito può essere molto più economico del prodotto esistente di un concorrente.
# 4) Compatibilità o coesistenza:
La compatibilità è la capacità di due o più componenti di quello esistente nello stesso ambiente senza influire negativamente sul comportamento l'uno dell'altro. Questo test è particolarmente utile in sistemi di grandi dimensioni che includono più sottosistemi come parte di esso.
I sottosistemi condividono idealmente un'area dello stack e una memoria comuni. Di conseguenza, un'eccezione su un sottosistema può propagarsi facilmente all'altro sottosistema provocando l'arresto anomalo dell'intera applicazione.
Cambiare il componente esistente, passare a un nuovo componente, adattare la nuova interfaccia al componente esistente sono tutti i problemi che i sistemi software devono affrontare con il passare del tempo.
Componenti che non riescono a test di compatibilità i requisiti hanno un effetto profondo sull'intero sistema e quindi ogni componente deve essere testato accuratamente per il suo effetto sulle risorse comuni.
Pochi altri sulla lista:
Oltre a questi attributi principali, il test di portabilità può includere anche molti altri attributi come il test di interoperabilità e il test di localizzazione.
(i) Interoperabilità: Il test di interoperabilità aiuta a determinare se due o più componenti possono interagire tra loro senza problemi di comunicazione.
Per esempio , il trasferimento dei dati tramite Bluetooth tra un PC Windows 10 e uno smartphone basato su Android può essere utilizzato per i test di interoperabilità.
(ii) Localizzazione: Il test di localizzazione viene eseguito per garantire se il software sviluppato può essere compreso nella lingua locale in cui viene utilizzato. Questo tipo di test è noto anche come test di internalizzazione.
Per esempio , il software deve essere testato in varie lingue internazionali come cinese, italiano, russo ecc.
Lista di controllo per test di portabilità
La lista di controllo include i requisiti che devono essere testati come parte del Portability Test.
Prima di procedere con la preparazione di una lista di controllo, è imperativo assicurarsi che tutti i singoli componenti del sistema siano accuratamente testati e integrati tra loro per formare un unico grande sistema.
Tutti gli obiettivi del Portability Testing dovrebbero essere tenuti presenti affinché la checklist sia efficace ed efficiente.
- Questo test deve soddisfare tutti i requisiti di portabilità.
- È necessario eseguire il test dell'applicazione su più sistemi operativi.
- È necessario eseguire il test dell'applicazione su più versioni del browser.
- Questo test può essere automatizzato per test di regressione continui.
- Questo test deve essere eseguito in modo incrementale e iterativo durante tutto il ciclo di vita dello sviluppo del software.
Pro e contro
Il test di portabilità ha i suoi meriti e demeriti come qualsiasi altro test. Diamo un'occhiata a loro.
Professionisti:
- Aiuta a identificare le dipendenze tra più componenti.
- Questo test è particolarmente utile nei sistemi di grandi dimensioni, che hanno diversi sottosistemi che interagiscono tra loro.
- Questo test è preferibile quando i clienti di un prodotto utilizzano più sistemi operativi con più versioni di browser.
- I bug che vengono persi durante i test di unità e integrazione possono essere scoperti utilizzando questo test.
- Anche l'installazione e la disinstallazione del software possono essere testate come parte di questo test.
- La reattività e le prestazioni di un'applicazione possono essere testate su più browser e più sistemi operativi.
- L'aspetto e lo stile dell'applicazione su più browser e più sistemi operativi possono essere convalidati utilizzando questo test.
- Questo test aiuta a determinare se la funzionalità dell'applicazione è quella prevista su più sistemi operativi e più browser.
- Aiuta anche a eliminare la propagazione di errori tra più sistemi.
Contro:
- Questo test non è generalmente preferito quando c'è un vincolo di tempo nel ciclo di test del software.
- Questo test richiede un sacco di budget da parte dell'organizzazione in quanto richiede più configurazioni per il test come più sistemi operativi e più browser.
- Tutte le configurazioni hardware di installazione devono essere disponibili per l'esecuzione del test di portabilità. Ciò significa che un'organizzazione deve pagare per fornire supporto per la manutenzione delle configurazioni hardware di installazione.
- Il test di portabilità è un processo ripetitivo, il che significa che i tester possono perdere la concentrazione durante i test.
- L'automazione del test di portabilità è un compito noioso e richiede abilità e pazienza dei tester per essere implementato con successo.
- L'esecuzione dei test di portabilità in un ambiente multiutente può essere molto complicata. Inoltre, perché il test abbia successo, richiede un carico di lavoro molto elevato.
- Lo spazio di archiviazione per gli ambienti di hosting può diventare costoso per un'organizzazione.
Esempi di test di portabilità
Di seguito sono riportati alcuni esempi classici:
- Software progettato per funzionare su sistemi operativi Windows 7 e Macintosh.
- Applicazioni progettate per funzionare su dispositivi Apple iOS e Google Android.
- Software progettato per essere compatibile con il browser Microsoft Edge e il browser Google Chrome.
- Videogiochi progettati per funzionare su sistemi operativi Windows 10 e Apple Macintosh.
- Software progettato per funzionare su server MySQL di Windows 7 e database Oracle Macintosh.
- Installazione del software su sistemi operativi Windows 10 e Windows XP.
- Disinstallazione di software su sistemi operativi Macintosh e Linux.
Conclusione
Il test di portabilità è generalmente preferito quando è necessario spostare il componente software da un ambiente a un altro. Questo test aiuta a scoprire i difetti che non vengono identificati come parte del test di unità e del test di integrazione del sistema.
Uno dei principali svantaggi del test di portabilità è la quantità di budget da destinare a questo test poiché richiede l'uso di più configurazioni hardware. La manutenzione e la fornitura di supporto per queste configurazioni hardware possono essere un'attività molto noiosa e dispendiosa in termini di tempo.
Pertanto, i test di portabilità sono generalmente preferiti quando i vantaggi superano gli svantaggi.
Spero che tu abbia capito chiaramente il concetto di Portability Testing attraverso questo eccellente tutorial!
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Tipi di test del software: diversi tipi di test con dettagli
- Test funzionale vs test non funzionale
- Lavoro assistente QA test software
- Test pratico del software - Nuovo eBook GRATUITO (Download)
- Che cos'è il test di resistenza nel test del software (esempi)
- Alpha test e beta test (una guida completa)
- Pensare fuori dagli schemi durante il test del software!