fbpx

I test di compatibilità sono una componente integrante di molte strategie di garanzia della qualità, che consentono alle aziende di verificare se il loro software funziona correttamente su piattaforme diverse. Anche per un programma esclusivo per desktop, ci sono diversi sistemi operativi principali da tenere in considerazione e centinaia, se non migliaia, di differenze hardware che possono influire sulla stabilità. La comprensione del processo di test di compatibilità e dei suoi vantaggi abituali può contribuire a garantire un lancio efficace del prodotto, in grado di raggiungere il maggior numero possibile di utenti.

Sebbene i test di compatibilità possano offrire una serie di vantaggi, esistono anche numerose sfide significative che un team di test del software deve superare per massimizzare il potenziale di questa tecnica. Esistono anche pratiche specifiche che questi dipartimenti dovrebbero adottare per ottenere i migliori risultati e garantire una copertura di test completa.

In questo articolo esaminiamo da vicino i test di compatibilità, compresi i passaggi essenziali che i team devono seguire e gli strumenti di test più utili attualmente disponibili.

Che cos’è il test di compatibilità in

test e ingegneria del software?

Stress test - Tipi, processo, strumenti, liste di controllo e altro ancora

I test di compatibilità esaminano il software su diversi dispositivi, hardware e firmware per assicurarsi che funzioni secondo le aspettative del team. Ogni utente potrebbe utilizzare il proprio programma su un nuovo dispositivo e per questo è importante che l’azienda possa garantire a tutti un’esperienza simile. I test di compatibilità, ad esempio, possono comportare la verifica di ogni funzione di un’applicazione per assicurarsi che funzioni su tutti i principali sistemi operativi.

Senza un’accurata verifica della compatibilità, è del tutto possibile che un’azienda rilasci un’applicazione che non funziona per alcuni dispositivi popolari. Questi controlli devono essere completi, perché il problema potrebbe presentarsi in molti modi: ad esempio, questa applicazione potrebbe non funzionare con un tipo specifico di scheda grafica. Se abbinati ad altre forme di test del software, i team di garanzia della qualità possono assicurarsi che il loro programma sia pronto per il rilascio.

 

1. Quando e perché è necessario effettuare test di compatibilità per applicazioni mobili, siti web, sistemi e cross-browser?

alpha testing vs beta testing

Le aziende eseguono i test di compatibilità nella fase di collaudo del software, in particolare quando dispongono di una versione “stabile” del programma che riflette accuratamente il comportamento dei clienti. Questo continua dopo l’alfa, l’accettazione e le altre forme di test che spesso cercano la stabilità generale e i problemi legati alle funzionalità. Se un’applicazione incontra problemi durante la fase di test di compatibilità, di solito ciò è dovuto a problemi specifici legati alla compatibilità. L’esecuzione di questi controlli troppo presto può renderli di fatto superflui, in quanto piccole modifiche successive nel ciclo di sviluppo del programma possono influenzare radicalmente la compatibilità.

I test di compatibilità per browser e software sono importanti perché aiutano le aziende a rilasciare un’applicazione che sappiano funzionare adeguatamente su quasi tutti i dispositivi possibili. Ad esempio, i test di compatibilità cross-browser aiutano a garantire che chi utilizza Opera abbia la stessa esperienza di chi utilizza Firefox e altri browser principali. Il team di solito testa tutte le varianti hardware/software che il tempo e il budget gli consentono. Ciò significa che devono dare priorità in modo intelligente ai sistemi o ai browser che i clienti hanno maggiori probabilità di utilizzare, in modo da garantire un’ampia copertura di test e un prodotto valido.

 

2. Quando non è necessario eseguire test di compatibilità del software

lista di controllo dei processi di collaudo del software

Le aziende potrebbero creare un’applicazione su misura per un sistema operativo o un modello specifico, limitando notevolmente il numero di controlli necessari. Il test di compatibilità cross-browser nel test del software potrebbe essere superfluo se il programma non richiede un browser, ad esempio. Anche il tempo potrebbe essere un fattore importante per la capacità di un’azienda di eseguire questi test, anche se i team di test dovrebbero comunque lavorare per garantire che i principali sistemi e browser siano compatibili con il software. Ci sono anche alcuni progetti che non possono beneficiare di test di compatibilità di base.

 

3. Chi è coinvolto nei test di compatibilità?

che dovrebbe essere coinvolto negli strumenti di automazione dei test del software e nella loro pianificazione

Ecco le principali figure che conducono i test di compatibilità nel collaudo del software:

 

1. Sviluppatori

Il team di sviluppo verifica le prestazioni dell’applicazione su una piattaforma durante lo sviluppo e questo potrebbe anche essere l’unico dispositivo su cui l’azienda intende rilasciare il programma.

 

2. Tester

I team di garanzia della qualità, interni all’azienda o ingaggiati dall’esterno, controllano molte configurazioni possibili come parte della fase di test di compatibilità dell’applicazione, compresi tutti i principali sistemi operativi e browser.

 

3. I clienti

I clienti dell’azienda potrebbero avere hardware o configurazioni che il team non è stato in grado di testare a fondo, rendendo potenzialmente la loro esperienza utente il primo vero controllo di quella specifica configurazione.

 

Vantaggi dei test di compatibilità

Che cos'è il test del software?

I vantaggi abituali dei test di compatibilità del software includono:

 

1. Un pubblico più ampio

Quanto più accuratamente un team testa il proprio software, tanto più dispositivi può rilasciarlo con fiducia, assicurando che un vasto pubblico su più piattaforme sia in grado di godere della sua applicazione. Ciò consente alle aziende di ottenere un maggior numero di vendite di prodotti sul programma e può anche migliorare il numero di recensioni positive che questo software riceve dagli utenti.

 

2. Migliora la stabilità

I test di compatibilità nel collaudo del software sono essenziali per evidenziare i problemi di stabilità e di prestazioni, che spesso possono essere più marcati su dispositivi diversi, soprattutto se gli sviluppatori hanno progettato l’applicazione per una sola piattaforma. Un test di compatibilità di sistema mostra all’azienda cosa gli utenti (su un’ampia gamma di dispositivi) possono aspettarsi dalle prestazioni complessive del software.

 

3. Affina lo sviluppo

Questi test hanno anche un impatto significativo a lungo termine su un team di sviluppo. Ad esempio, i test di compatibilità con i dispositivi mobili possono fornire informazioni preziose sullo sviluppo delle app, di cui le aziende potrebbero tenere conto quando creano ulteriori programmi. Questo può ridurre significativamente le spese per i test di compatibilità per i progetti futuri, consentendo loro di riutilizzare le lezioni apprese da questo processo.

 

4. Verifica altri test

La maggior parte dei test condotti fino a questo punto sono di portata limitata e non testano tutte le possibili combinazioni di hardware o software: questi test potrebbero effettivamente verificare due volte questi risultati. I test di compatibilità cross-browser, ad esempio, convalidano le fasi di garanzia della qualità preesistenti dimostrando che i risultati sono gli stessi quando l’utente utilizza un browser diverso.

 

5. Riduzione dei costi

I test di compatibilità possono anche ridurre i costi del programma in corso, aiutando i team a identificare i problemi prima che un’applicazione venga rilasciata pubblicamente: a questo punto, correggere gli errori diventa più costoso. Quanto più variegati sono i test di un team (e quanto più alto è il loro tasso di copertura dei test), tanto più economico è eliminare gli errori quando emergono.

 

Le sfide dei test di compatibilità

Confronto tra i test UAT e i test di regressione e altri test

Ecco le sfide comuni che le aziende possono affrontare quando implementano i test di compatibilità nel collaudo del software:

 

1. Tempo limitato

Sebbene gli strumenti di automazione e altre soluzioni possano accelerare notevolmente i test di compatibilità simulando una serie di dispositivi, questo processo deve comunque rispettare i tempi di sviluppo dell’azienda. Ciò significa che il team di test deve dare priorità ai dispositivi e ai browser più comuni per garantire che ricevano il pubblico più ampio (e più popoloso).

 

2. Mancanza di dispositivi reali

Questi controlli coinvolgono comunemente macchine virtuali che simulano i componenti e le condizioni dei dispositivi reali; ciò è molto più economico (e veloce) rispetto all’acquisizione indipendente delle parti e delle piattaforme pertinenti. Tuttavia, ciò può influire sull’accuratezza dei risultati, soprattutto perché le prestazioni dipendono spesso dal modo in cui gli utenti utilizzano un dispositivo reale.

 

3. Difficile da proteggere in futuro

I test di compatibilità possono riguardare solo le piattaforme già esistenti; ciò significa che non possono garantire che l’applicazione funzionerà come previsto sulle future versioni di Windows e Google Chrome. Le organizzazioni sono in grado di risolvere questo problema solo dopo il lancio, il che è spesso più costoso e l’applicazione potrebbe risultare obsoleta.

 

4. Manutenzione dell’infrastruttura

Se un team decide di controllare internamente una quantità significativa di piattaforme, ciò può comportare costi di infrastruttura elevati. I test di compatibilità per le applicazioni mobili, ad esempio, potrebbero comportare l’approvvigionamento di una serie di dispositivi mobili reali. Pur essendo più accurati dei test di compatibilità hardware simulati, sono costosi e in genere richiedono una manutenzione regolare.

 

5. Alto numero di combinazioni

I test di compatibilità tengono conto di molti fattori intersecanti, come il sistema operativo, il browser, l’hardware, il firmware e persino la risoluzione dello schermo. Anche se il team di collaudo ha molto tempo a disposizione, sarebbe di fatto impossibile soddisfare ogni singola possibilità. I test di configurazione e compatibilità devono ancora una volta dare priorità alle combinazioni di dispositivi più probabili.

 

Caratteristiche dei test di compatibilità

Test alfa - Cos'è, tipi, processo, rispetto ai test beta, strumenti e altro ancora!

Le caratteristiche principali dei test di compatibilità comprendono:

 

1. Accurato

Questi controlli devono essere in grado di isolare ogni possibile problema di compatibilità tra i dispositivi, altrimenti il team potrebbe finire per rilasciare un programma difettoso. Ad esempio, questi controlli devono garantire che ogni singola funzione dell’applicazione venga visualizzata come previsto, indipendentemente dalla risoluzione dello schermo dell’utente.

 

2. Espansivo

I test devono mantenere un equilibrio tra profondità e ampiezza, aiutando i team a indagare una serie di problemi su molte configurazioni di dispositivi. I test di compatibilità cross-browser esaminano un’ampia gamma di combinazioni di sistemi operativi e browser, garantendo un elevato livello di copertura, talvolta con l’aiuto di una soluzione automatizzata.

 

3. Bidirezionale

Questo processo prevede test di compatibilità sia in avanti che all’indietro; il primo permette al team di vedere come funzionerà la propria applicazione su hardware più vecchi. Quest’ultima consente al team di accedere a piattaforme all’avanguardia, aiutandolo a garantire prestazioni di successo a lungo termine, anche se le sue capacità di future-proofing sono piuttosto limitate.

 

4. Ripetibile

I problemi che questi controlli evidenziano devono essere facilmente ripetibili da altri tester e dipartimenti, dimostrando che riflettono gli errori che gli utenti possono incontrare. Se il test di compatibilità di un sito web indica che determinate funzionalità non funzionano su un determinato browser, la ripetibilità aiuta gli sviluppatori a risolvere il problema.

 

Tipi di test di compatibilità

test di automazione delle applicazioni web

I principali tipi di test di compatibilità sono i seguenti:

 

1. Test di compatibilità all’indietro

Il test di retrocompatibilità prevede la verifica dell’applicazione con versioni precedenti dell’hardware attuale: questo è essenziale perché limitare questi controlli ai dispositivi moderni può limitare significativamente il numero di utenti. Molte persone utilizzano ancora i sistemi operativi più vecchi, come ad esempio Windows 8.

 

2. Test di compatibilità in avanti

Il test di compatibilità è simile, ma prende in considerazione le tecnologie moderne o in fase di sviluppo per verificare se l’applicazione continuerà a funzionare per anni nonostante i progressi e gli aggiornamenti. Senza questi test, il software potrebbe addirittura smettere di funzionare con il prossimo aggiornamento del browser, ad esempio.

 

3. Test di compatibilità con i browser

I test di compatibilità dei browser dei siti web assicurano che un’applicazione o un sito web possano funzionare su vari browser; questo è fondamentale in quanto questi utilizzano motori di layout diversi. I team di garanzia della qualità testano anche la compatibilità cross-browser, ovvero verificano che ogni browser sia in grado di gestire l’applicazione su sistemi operativi diversi.

 

4. Test di compatibilità mobile

Il test delle applicazioni mobili è un processo simile a quello delle applicazioni desktop e web, soprattutto perché il sistema operativo del telefono è un’altra considerazione fondamentale. Le applicazioni per Android e iOS, ad esempio, sono disponibili in formati completamente diversi e richiedono un processo di sviluppo e test completamente separato per adattarsi a entrambi.

 

5. Test di compatibilità hardware

Questi controlli esaminano i componenti specifici che compongono la macchina e il modo in cui potrebbero influenzare un programma; si tratta di un aspetto critico per qualsiasi tipo di dispositivo. Ad esempio, un computer potrebbe avere una scheda grafica che non è in grado di eseguire il rendering dell’interfaccia di un’applicazione Web.

 

6. Test di compatibilità dei dispositivi

Alcune applicazioni si collegano a dispositivi esterni tramite Bluetooth, banda larga o connessione cablata. Un’applicazione potrebbe avere bisogno di connettersi con una stampante, ad esempio. Questi test mirano a verificare che il programma si impegni con le connessioni della piattaforma e con tutti i dispositivi a cui può accedere.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

7. Test di compatibilità di rete

Se un’applicazione richiede una funzionalità di rete per funzionare, ad esempio collegandosi a un database online attraverso il server dell’azienda, sono necessari numerosi controlli di compatibilità. Questo assicura che il programma sia in grado di funzionare a una velocità adeguata con una connessione di rete Wi-Fi, 4G o 3G.

 

Cosa verifichiamo nei test di compatibilità?

Chiarire alcune confusioni nell'automazione del test del software

I tester di compatibilità di solito controllano quanto segue:

 

1. Prestazioni

Uno degli scopi principali dei test di compatibilità è quello di garantire la stabilità, poiché alcuni aspetti dell’applicazione possono essere del tutto incompatibili con le piattaforme comuni. Osservando la reattività complessiva del programma, il team di test si assicura che non si verifichino crash gravi su determinati dispositivi.

 

2. Funzionalità

I test di compatibilità verificano anche le caratteristiche e le funzioni generali di un’applicazione per garantire che il software sia in grado di fornire i risultati corretti. Ad esempio, un sistema di gestione delle relazioni con i clienti potrebbe non essere in grado di offrire dati sulle vendite o analisi generali agli utenti con un sistema operativo obsoleto.

 

3. Grafica

Alcuni browser o dispositivi possono avere difficoltà a riprodurre determinati elementi grafici per una serie di motivi e i controlli di compatibilità possono essere d’aiuto. Un programma potrebbe essere in grado di funzionare solo a determinate risoluzioni dello schermo, a meno che gli sviluppatori non modifichino il modo in cui il programma visualizza il suo contenuto.

 

4. Connettività

I test di compatibilità esaminano anche il modo in cui il programma si integra specificamente con il dispositivo dell’utente e con il proprio database, consentendogli di rilevare dispositivi come le stampanti. Questi controlli potrebbero, ad esempio, rivelare che l’applicazione non è in grado di connettersi al proprio database sulle reti 3G.

 

5. Versatilità

Questi controlli assicurano che l’applicazione dell’azienda sia sufficientemente versatile da poter funzionare su versioni vecchie e nuove dello stesso sistema operativo, attraverso test di compatibilità con il passato e con il futuro. In questo modo si garantisce che gli utenti non siano esclusi dal programma se il loro software non è aggiornato da qualche anno.

 

Tipi di risultati dei test di compatibilità

I tre principali risultati dei test di compatibilità sono:

 

1. Risultati del test

L’output più comune per questi controlli sono i risultati stessi, che possono assumere diverse forme. Ad esempio, i test di compatibilità dei browser possono rivelare che un’applicazione web provoca una perdita di memoria su Microsoft Edge, mentre la stessa applicazione non ha effetti negativi sui browser basati su Chrome. In alternativa, l’applicazione potrebbe funzionare esattamente come il team si aspetta sulle piattaforme pertinenti.

 

2. Registri di prova

I risultati dei test si manifestano anche sotto forma di registri dell’applicazione, che evidenziano eventuali problemi software rilevati attraverso messaggi di errore. Questi registri possono persino identificare la parte specifica di un programma che sta causando l’errore. Per i test di compatibilità, in particolare, i tester devono avere familiarità con il modo in cui i log si manifestano e presentano questi problemi sulle diverse piattaforme.

 

3. Casi di test

I casi di test di compatibilità definiscono i test che il team eseguirà e offrono uno spazio per registrare i risultati in un formato semplice. I tester devono utilizzare la loro conoscenza del software, insieme ai risultati e ai registri, per identificare la causa di un problema. Più informazioni vengono fornite, più velocemente gli sviluppatori possono iniziare a correggere i bug.

Tipi di difetti rilevati

attraverso i test di compatibilità

test api e automazione

Ecco gli errori più comuni che i test di compatibilità possono identificare:

 

1. Scalatura del layout

Un test di compatibilità del sito web può mostrare se gli elementi che compongono un’applicazione web, o anche le pagine web, si adattano al dispositivo dell’utente, in particolare alla risoluzione e alle dimensioni dello schermo. Di conseguenza, alcuni elementi grafici potrebbero risultare difficili da visualizzare su determinati browser.

 

2. Arresto anomalo del software

I test di compatibilità consentono di verificare se un’applicazione è in grado di funzionare su alcune piattaforme. Ad esempio, uno sviluppatore di giochi potrebbe scoprire i requisiti minimi di sistema del proprio prodotto verificando quali dispositivi si bloccano a causa di RAM e velocità del processore insufficienti quando i tester lo lanciano.

 

3. Problemi di validazione HTML/CSS

I diversi browser e dispositivi leggono il codice in modi diversi: alcuni correggono automaticamente semplici errori di codifica, come la mancata chiusura di un tag HTML. I test di compatibilità dei browser possono identificare casi di CSS non validi che impediscono all’applicazione di generare i suoi contenuti e persino le funzioni di base.

 

4. Errori di riproduzione video

Molti lettori video moderni utilizzano l’HTML5 per lo streaming di video online, e questo potrebbe essere un elemento chiave dell’applicazione web di un’azienda. Tuttavia, i team che verificano la compatibilità dei browser dei siti web potrebbero scoprire che le funzioni video della loro applicazione non sono compatibili con i browser obsoleti.

 

5. Sicurezza dei file

I test di compatibilità nell’ambito dell’ingegneria del software possono anche individuare problemi di sicurezza dei file e come questi variano da un dispositivo all’altro. Ad esempio, le versioni più recenti di Windows dispongono di una sicurezza di input/output più solida. Questo può far sì che l’applicazione (ad esempio il software antivirus) abbia difficoltà ad accedere ai file del dispositivo.

 

Processo di test di compatibilità

Cos'è l'automazione dei test del software

Le fasi consuete del test di compatibilità sono:

 

1. Compilazione di un piano di test

Un piano di test completo è fondamentale per i test di compatibilità; il team di garanzia della qualità può farvi riferimento se necessario durante i controlli. Ad esempio, deve specificare i dispositivi che verranno testati e i criteri di superamento o meno; deve inoltre stabilire se utilizzerà l’automazione robotica dei processi.

 

2. Configurare i casi di test

I casi di test sono altrettanto importanti in quanto elaborano i controlli di compatibilità specifici che i team eseguono e i dispositivi specifici con cui lavorano. Questo contiene anche i passi esatti che i tester dovranno compiere e un ampio spazio per registrare i risultati e qualsiasi informazione che possa aiutare gli sviluppatori a rafforzare la compatibilità.

 

3. Stabilire l’ambiente di test

Un ambiente di test isolato e indipendente, privo di influenze esterne, è necessario per garantire l’accuratezza dei test, consentendo inoltre al team di assicurazione della qualità di identificare l’origine dei problemi riscontrati. Inoltre, i tester possono effettuare i loro controlli sull’applicazione senza compromettere in alcun modo la versione “reale”.

 

4. Esecuzione dei test

Con i casi di test e l’ambiente completamente preparati, il team può iniziare i test di compatibilità: anche con una soluzione automatizzata, il tempo a disposizione è limitato. I tester dovranno dare priorità ai sistemi operativi e alle configurazioni di dispositivi più comuni per tenerne conto e garantire un’ampia copertura di test nonostante queste limitazioni.

 

5. Ripetizione del test

Una volta completati i test e ricevuti i casi di prova, gli sviluppatori modificheranno l’applicazione in modo da migliorarne la compatibilità, anche se ciò potrebbe non essere possibile per tutti i dispositivi. I tester ricontrollano quindi l’applicazione e verificano che i problemi precedentemente riscontrati non siano più presenti e che non vi siano nuovi errori gravi.

 

Metriche comuni di verifica della compatibilità

vantaggi della creazione di un centro di eccellenza per il testing (TCoE)

Ecco alcune metriche comuni utilizzate per i test di compatibilità:

 

1. Larghezza di banda

I test di compatibilità di rete misurano il modo in cui l’applicazione si interfaccia con le varie reti, comprese le reti di dati a banda larga e mobili. La larghezza di banda minima necessaria al programma per svolgere le sue funzioni abituali e connettersi al database aziendale potrebbe essere troppo elevata per una connessione media 3G, ad esempio.

 

2. Utilizzo della CPU

Uno dei modi in cui si manifestano i problemi di prestazioni è l’utilizzo sproporzionato della CPU: ciò può significare che il dispositivo non soddisfa i requisiti minimi del programma. I problemi della CPU possono anche influire sul tempo di risposta dell’applicazione, limitandone la funzionalità e causando un ritardo tale da disimpegnare gli utenti.

 

3. Scala di usabilità del sistema

La Scala di usabilità del sistema è un metodo comune per misurare i dettagli soggettivi di un programma, che comprende dieci domande di base sull’usabilità di un’applicazione. Il punteggio SUS risultante è su 100 e potrebbe differire da una piattaforma all’altra a causa di errori grafici.

 

4. Numero totale di difetti

Questa metrica è una costante per la maggior parte dei tipi di test e consente ai tester di capire lo stato di salute attuale del programma. È anche possibile per il team confrontare i totali dei difetti tra le varie piattaforme. In questo modo, i tester possono evidenziare gli errori dovuti all’incompatibilità.

 

5. Punteggio SUPRQ

Simile al punteggio SUS di un’applicazione, il questionario Standardized User Experience Percentile Rank è un modo per i tester di valutare un’applicazione su diversi fattori chiave, tra cui l’usabilità e l’aspetto. Questo li aiuta a identificare come i clienti potrebbero avere difficoltà a utilizzare l’applicazione su determinati dispositivi.

 

7 errori e insidie nell’implementazione dei test di compatibilità

sfide di test di carico

Ecco sette errori significativi da evitare quando si effettuano i test di compatibilità:

 

1. Mancanza di dispositivi reali

Sebbene sia impossibile eseguire i test su tutte le possibili combinazioni di dispositivi, un team di test può comunque trarre vantaggio dall’utilizzo del maggior numero possibile di dispositivi reali. Diverse piattaforme offrono dispositivi “reali” tramite soluzioni cloud per facilitare i test di compatibilità cross-browser in modo da riflettere le prestazioni native.

 

2. Evitare i dispositivi più vecchi

Molti utenti accedono ancora alle loro applicazioni su versioni precedenti di Windows o iOS; concentrarsi esclusivamente sulle nuove edizioni dei dispositivi e dei sistemi operativi più diffusi potrebbe limitare la portata di un prodotto. Se il team non estende i test ai dispositivi “obsoleti”, una parte significativa del pubblico potrebbe avere difficoltà a utilizzare il programma.

 

3. Cattiva gestione del tempo

Spesso c’è un alto numero di dispositivi e configurazioni che richiedono un test di compatibilità, il che significa che il team deve gestire il proprio tempo per controllarne il maggior numero possibile. Questo è importante perché i test sono in genere ancora in corso verso la fine dello sviluppo; una gestione errata potrebbe limitare in modo massiccio il numero di controlli.

 

4. Programmazione impropria

È altrettanto fondamentale che i team si assicurino di condurre questi test in una fase ragionevole dello sviluppo del programma, preferibilmente dopo i test alfa e la maggior parte delle forme di test funzionali. In questo modo è più facile capire se un problema è generale o specifico dei dispositivi che il team sta esaminando.

 

5. Non tiene conto della risoluzione dello schermo

La risoluzione dello schermo può essere un fattore di compatibilità molto più importante di quanto molti team di test riconoscano, soprattutto perché è personalizzabile e influisce sul modo in cui un dispositivo visualizza gli elementi grafici. Anche con l’avvicinarsi della scadenza per i test di compatibilità, è fondamentale che i team di test si impegnino a tenerne conto nella loro strategia.

 

Mancanza di competenze

I tester devono essere altamente qualificati per verificare la compatibilità di siti web, browser e software, oltre alle molte altre forme che questi test possono assumere. Se un responsabile dei test assegna a uno dei membri del suo team l’esecuzione dei controlli di compatibilità e questi non ha sufficiente esperienza, ciò potrebbe rallentare i test e limitarne l’accuratezza.

 

6. Nessuna discussione precedente

Poiché i test di compatibilità spesso richiedono molto tempo (e potenzialmente un’ampia gamma di dispositivi), i team devono stabilire con precisione l’ambito dei loro controlli fin dalle prime fasi del controllo qualità. Ad esempio, devono avere un’idea chiara di quali dispositivi o configurazioni specifiche intendono testare prima ancora di iniziare i controlli.

 

Migliori pratiche per i test di compatibilità

Lista di controllo per il test del software

I modi migliori per garantire test di compatibilità di alta qualità sono i seguenti:

 

1. Test durante tutto lo sviluppo

Il software cambia in modo significativo da una settimana all’altra e questo può influire sulla compatibilità del programma con i dispositivi a cui è destinato. I team devono eseguire ripetutamente test di compatibilità software e cross-browser per assicurarsi che l’applicazione funzioni ancora bene su queste piattaforme dopo le modifiche di sviluppo.

 

2. Utilizzare dispositivi reali

Alcuni strumenti di verifica della compatibilità offrono l’accesso a dispositivi “reali” simulati, in grado di riprodurre fedelmente l’esperienza dell’utente per quella piattaforma. In questo modo è possibile garantire la compatibilità con un maggior numero di dispositivi, mantenendo un elevato livello di precisione che non è presente in alcune soluzioni automatizzate.

 

3. Privilegiare i test

Avendo a disposizione una quantità limitata di tempo per effettuare questi controlli, i tester di compatibilità potrebbero dover dare priorità ai dispositivi, ai browser e ai sistemi operativi più comuni. Allo stesso modo, il team di collaudo dovrebbe ispezionare prima le caratteristiche più critiche del software per garantire la funzionalità di base su questi dispositivi.

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

4. Integrare le tecniche agili

Alcune aziende scelgono di adottare un approccio basato sugli sprint per i loro test di compatibilità, consentendo loro di raggiungere facilmente le pietre miliari del test, come il controllo di un numero specifico di dispositivi. L’approccio agile incoraggia la comunicazione tra i vari dipartimenti e fornisce una struttura di test che può garantire miglioramenti rapidi e costanti.

 

5. Limitare l’ambito di verifica

I team di garanzia della qualità devono sapere quando terminare i test e accettare anche un caso di incompatibilità. In questo caso, lo sviluppatore potrebbe non modificare il software e cambiare invece i requisiti minimi, se questo fosse troppo difficile da aggirare attraverso la correzione di bug.

 

Esempi di casi e scenari di test di compatibilità

Che cos'è il test unitario?

I casi di test di compatibilità stabiliscono gli input del team di test, la strategia di test e i risultati attesi; questi ultimi vengono confrontati con i risultati effettivi. Poiché i controlli coprono molti dispositivi e configurazioni, si tratta spesso di un processo esteso.

 

Questi casi di solito includono:

– Verificare che l’HTML dell’applicazione web venga visualizzato correttamente.
– Verificare che il codice JavaScript del software sia utilizzabile.
– Verificate se l’applicazione funziona con diverse risoluzioni.
– Verificare che il programma possa accedere alla directory dei file.
– Assicuratevi che l’app si connetta a tutte le reti possibili.

 

Ecco alcuni esempi specifici di test di compatibilità nel test del software per diversi programmi:

 

1. App di social networking

I social network si presentano comunemente sotto forma di applicazioni web sui browser e di applicazioni mobili per i dispositivi corrispondenti; entrambi i tipi richiedono test altrettanto approfonditi. Ad esempio, l’applicazione mobile deve essere pienamente operativa almeno sui dispositivi iOS e Android, con il team che controlla i dispositivi vecchi e nuovi su ogni sistema operativo. Se uno specifico modello di iPhone non è in grado di eseguire il rendering di file GIF animati, ad esempio, il team deve identificare la causa per garantire un’esperienza utente coerente.

 

2. Videogiochi

I videogiochi offrono generalmente opzioni grafiche personalizzabili che gli utenti possono modificare per adattarle alla propria macchina; ciò include il controllo della risoluzione dello schermo e la garanzia che l’interfaccia utente venga scalata in modo appropriato. Alcuni problemi possono emergere a seconda dell’hardware specifico del giocatore, con errori di antialiasing che portano a una grafica sgranata. Ciò potrebbe essere dovuto a una scheda grafica comune incompatibile con il rendering delle texture dell’azienda. A seconda del problema esatto, questo potrebbe anche manifestarsi come un arresto anomalo del sistema quando alcuni dispositivi avviano il gioco.

 

3. Sistema CRM in cloud

Le soluzioni di gestione delle relazioni con i clienti fanno largo uso di database per recuperare informazioni sulle transazioni, sui venditori e su altri aspetti importanti dell’attività, soprattutto con l’aiuto del cloud storage. I tester devono assicurarsi che questo database e i suoi servizi cloud funzionino su reti diverse, comprese le reti 3G e 4G se un utente deve accedervi senza connettività Internet. Il team deve anche ispezionare un’ampia gamma di sistemi operativi, poiché alcuni problemi potrebbero comparire solo su dispositivi Linux, ad esempio.

 

Test di compatibilità manuali o automatici?

visione artificiale per il collaudo del software

L’automazione potrebbe essere molto utile per i test di compatibilità, consentendo ai team di controllare un numero elevato di dispositivi in modo molto più rapido rispetto a un approccio manuale. Tuttavia, i test manuali potrebbero essere più appropriati quando si effettuano verifiche su un numero limitato di browser e dispositivi, ad esempio per un videogioco disponibile solo su due piattaforme. L’usabilità del software è spesso un fattore centrale nei test di compatibilità e di solito richiede una prospettiva umana che possa identificare meglio i problemi di rendering grafico. L’automazione robotica dei processi può essere d’aiuto in questo senso, implementando robot software in grado di imitare più facilmente l’approccio di un utente umano ai test di compatibilità.

Per i programmi progettati per un’ampia gamma di dispositivi, come le applicazioni mobili e web, l’automazione consente al team di garantire una copertura di test più ampia. Potrebbero anche utilizzare l ‘iperautomazione per esternalizzare in modo intelligente questi controlli in modo da garantire che i tester umani ispezionino queste piattaforme per verificare la funzionalità specifica dell’utente. I test di compatibilità nei test manuali sono ancora obbligatori per alcune attività, come la verifica della corretta visualizzazione dell’interfaccia utente su ogni dispositivo. Ciò significa che l’approccio migliore potrebbe essere una strategia mista in grado di testare un numero maggiore di dispositivi attraverso l’automazione, aumentando il ritmo e tenendo conto dell’importanza dell’usabilità.

 

Di cosa avete bisogno per iniziare i test di compatibilità?

Cosa sono i test di carico, i test delle applicazioni mobili e i test ad hoc?

I principali prerequisiti per il test di compatibilità includono in genere:

 

1. Personale qualificato per i test

I tester di compatibilità hanno in genere requisiti di competenza più elevati rispetto ad altre forme di assicurazione della qualità, perché controllano una gamma più ampia di dispositivi e spesso riscontrano più errori. Tra queste, la risoluzione dei problemi, la comunicazione e l’attenzione ai dettagli. I team leader dovrebbero assegnare ai tester che hanno esperienza nell’esaminare la stessa applicazione su molte piattaforme.

 

2. Forte emulazione del dispositivo

Può essere difficile reperire e testare tutti i dispositivi fisici che rientrano nel raggio d’azione del team, per cui l’emulazione è essenziale per vedere come le varie piattaforme rispondono allo stesso programma. Questo processo è raramente perfetto e i tester devono esaminare i numerosi emulatori e strumenti di test automatizzati disponibili per vedere quale offre la maggiore precisione.

 

3. Ambito di verifica chiaro

Prima dell’inizio dei controlli, il team deve avere una comprensione dell’ambito di applicazione, soprattutto perché questo potrebbe decidere il ritmo di lavoro. Sebbene il programma possa mirare a coprire molte piattaforme, i tester devono identificare un punto di separazione appropriato. Ad esempio, testare i sistemi operativi rilasciati prima di Windows 7 potrebbe portare a rendimenti decrescenti.

 

4. Gestione del tempo

I test di compatibilità possono essere eseguiti in qualsiasi momento della fase di garanzia della qualità, ma di solito vengono conservati per la fine dello sviluppo, quando il programma è stabile e completo di tutte le funzionalità. Tuttavia, i tester dovrebbero considerare la compatibilità molto prima, perché spesso richiede molto tempo. Una solida pianificazione in anticipo aiuta il team ad assicurarsi di avere tempo sufficiente per ogni controllo.

Test di compatibilità

lista di controllo, suggerimenti e trucchi

Ecco altri suggerimenti che i team di assicurazione della qualità devono tenere a mente quando eseguono i test di compatibilità:

 

1. Non puntare alla copertura assoluta

Sebbene tutte le strategie di test mirino a massimizzare la copertura dei test, in genere si fermano prima di raggiungere il 100% a causa dei rendimenti decrescenti con miglioramenti minimi per pochissimi utenti. Nel contesto della compatibilità, i team devono capire quando un numero troppo esiguo di clienti utilizzerebbe un dispositivo perché questi controlli siano utili.

 

2. Privilegiare le combinazioni cross-browser

I test di compatibilità cross-browser prevedono la verifica di ciascun browser con diversi sistemi operativi. I tester devono utilizzare un’analisi completa del proprio pubblico per determinare il più popolare di entrambi e utilizzarlo per guidare il proprio approccio. Potrebbero anche sviluppare una matrice di compatibilità dei browser, che stabilisca la portata di questi controlli e le loro diverse configurazioni.

 

3. Verificare il layout

Garantire un’esperienza coerente è il cuore dei test di compatibilità e questi controlli devono andare oltre l’identificazione del funzionamento delle funzioni del programma su dispositivi diversi. I team devono anche verificare il layout complessivo del software, compreso l’allineamento di eventuali moduli o tabelle, nonché l’integrità del CSS e dell’HTML del programma.

 

4. Controllare le API

Le interfacce di programmazione delle applicazioni sono una componente fondamentale del modo in cui i browser leggono le applicazioni, il che le rende vitali per i test di compatibilità cross-browser di un team. I diversi browser web hanno le proprie chiamate API e i loro aggiornamenti nel tempo potrebbero influire sulla compatibilità. I tester devono controllarli regolarmente, anche se l’azienda utilizza un’API simile per ogni programma.

 

5. Esaminare il certificato SSL

I certificati SSL aumentano la sicurezza di un browser, crittografando il traffico web e consentendo agli utenti di usufruire dei protocolli HTTPS. Un sito o un’applicazione web potrebbe avere un certificato incompatibile con alcuni browser. Ciò significa che i tester devono convalidare il certificato su tutte le principali piattaforme per assicurarsi che gli utenti si sentano sicuri sul loro sito web.

 

6. Convalidare i lettori video

I programmi che visualizzano video, come i servizi di streaming o i giochi mobili freemium supportati da annunci pubblicitari, devono essere sottoposti a test per garantire che questi video vengano visualizzati da tutti i dispositivi previsti. Per molte applicazioni, questi controlli riguarderanno sia i dispositivi desktop che quelli mobili e potrebbero esaminare la qualità, la velocità e il frame rate del video.

 

5 migliori strumenti e software per il test di compatibilità

Domande frequenti sull'automazione dei test funzionali

Gli strumenti gratuiti e a pagamento più efficaci per testare la compatibilità includono:

 

1. ZAPTEST Edizione gratuita e aziendale

ZAPTEST offre eccellenti funzionalità sia nell’edizione Free che in quella Enterprise (a pagamento), aiutando le aziende di qualsiasi dimensione (o budget) con i loro controlli di compatibilità. Le aziende che scelgono la versione Enterprise di ZAPTEST possono addirittura ottenere un ritorno fino a 10 volte l’investimento iniziale. La funzione 1SCRIPT della soluzione è specificamente adattata alle esigenze dei tester di compatibilità, consentendo loro di eseguire gli stessi test su più piattaforme senza modificare il codice. Aggiungendo funzionalità RPA all’avanguardia senza costi aggiuntivi, avrete una soluzione unica per l’automazione di qualsiasi attività.

 

2. LambdaTest

LambdaTest utilizza un approccio basato sul cloud per fornire 3.000 dispositivi automatizzati, anche se con un focus significativo sui browser web, che potrebbe limitare l’efficacia di questa soluzione per alcuni programmi. La piattaforma è specializzata in test continui, integrando maggiormente il processo di garanzia della qualità con lo sviluppo. I controlli di questa applicazione consentono inoltre agli utenti di impostare la propria risoluzione, rendendo molto più semplice il test di compatibilità cross-browser. Questa soluzione offre un modello freemium, che però prevede test limitati senza aggiornamenti e nessun dispositivo reale.

 

3. BrowserStack

Simile a LambdaTest, BrowserStack fornisce l’accesso a 3.000 dispositivi reali; il suo catalogo comprende anche opzioni legacy e beta per i browser. Sebbene sia più probabile che le persone aggiornino il proprio browser piuttosto che il proprio sistema operativo, è possibile che ci siano ancora molte persone che utilizzano versioni precedenti: BrowserStack tiene conto di questo aspetto. Gli utenti possono anche effettuare test di geolocalizzazione per vedere come appaiono i siti e le applicazioni web in diversi Paesi. Tuttavia, non esistono opzioni gratuite o freemium e i test sui dispositivi reali possono essere lenti.

 

4. Griglia di prova

TestGrid consente di eseguire test paralleli, permettendo ai team di verificare diverse combinazioni contemporaneamente per accelerare il processo. Questa soluzione si integra bene anche con il flusso di lavoro di test e sviluppo, facilitando eventualmente un approccio agile e costituendo una parte fondamentale degli sprint del reparto. Tuttavia, TestGrid a volte ha difficoltà a connettersi ai dispositivi e ai browser cloud. Inoltre, il programma è piuttosto limitato in termini di test di carico, documentazione e aggiunta di nuovi dispositivi alla configurazione aziendale.

 

5. Navigare

Browsera si occupa principalmente di testare i siti web per assicurarsi che vengano visualizzati correttamente su vari dispositivi, browser e sistemi operativi. Essendo un approccio basato sul cloud, i team di controllo qualità non hanno bisogno di installare questo laboratorio di test virtuale sui loro dispositivi. Browsera può anche confrontare gli output per individuare in modo intelligente i problemi di layout e gli errori JavaScript che potrebbero sfuggire anche a un tester umano. Tuttavia, Browsera non supporta diversi browser comuni, tra cui Opera, e offre gratuitamente solo le funzionalità di test di base.

 

Conclusione

I test di compatibilità sono fondamentali per il successo di una strategia di garanzia della qualità, in quanto consentono ai team di convalidare le loro applicazioni su un’ampia gamma di dispositivi. Se non adottano questa tecnica, le aziende possono ignorare che il loro software non funzionerà per gran parte del pubblico target fino a dopo il lancio. Questo costa molto tempo e denaro rispetto ai test di pre-rilascio e applicazioni come ZAPTEST possono snellire ulteriormente questo processo. Grazie a 1SCRIPT e a molte altre funzionalità disponibili gratuitamente, come i test in parallelo, la scelta di ZAPTEST come strumento di test può trasformare qualsiasi progetto e dare ai team una fiducia totale nella loro applicazione.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo