Che cos'รจ il test parallelo? Metodo, approccio ed esempio.

โšก Riepilogo intelligente

Il test parallelo esegue un sistema legacy e un sistema di nuova concezione contemporaneamente, utilizzando gli stessi dati di input, in modo che i tester possano verificare che i dati migrati, i calcoli e i flussi aziendali producano ancora risultati identici.

  • ๐ŸŽฏ Scopo: Dimostra che la nuova versione si comporta allo stesso modo della precedente, o meglio.
  • ๐Ÿ—“๏ธ Trigger: Sostituzione dei sistemi, migrazione dei dati e finestre di sincronizzazione tra due sistemi.
  • ๐Ÿšช criteri: I criteri di ingresso aprono il ciclo; i criteri di uscita lo chiudono.
  • ๐Ÿ” Metodo: Confronta entrambi gli output riga per riga e classifica ogni differenza.
  • โš ๏ธ Costo: รˆ richiesta una conoscenza approfondita del prodotto e una copertura completa dei risultati.

Test in parallelo: definizione, approccio ed esempio

Che cosa sono i test paralleli?

Test in parallelo Il test parallelo รจ una tipologia di test software in cui piรน versioni o sottocomponenti di un'applicazione vengono testati simultaneamente con gli stessi input su sistemi diversi, al fine di ridurre i tempi di esecuzione del test. Lo scopo del test parallelo รจ quello di verificare se la versione precedente e la nuova versione si comportano allo stesso modo o in modo diverso, e di stabilire se la nuova versione รจ piรน efficiente.

L'immagine sottostante illustra il test in parallelo.

Flusso di test parallelo con sistema vecchio e nuovo che condividono un unico input

Esempio di test parallelo

Quando un'organizzazione migra a un nuovo sistema, i dati preesistenti rappresentano una parte importante del processo di migrazione, e il loro trasferimento รจ complesso.

Nel collaudo del software, la verifica della compatibilitร  del sistema appena sviluppato con il sistema preesistente viene effettuata tramite test in parallelo, come illustrato nel diagramma seguente.

Esempio di test parallelo che confronta l'output del sistema precedente con l'output del nuovo sistema.

Perchรฉ eseguire test paralleli

I test paralleli vengono eseguiti per questi motivi.

  • Per assicurarsi che la nuova versione dell'applicazione funzioni correttamente
  • Per garantire la coerenza dei risultati tra la nuova e la vecchia versione
  • Per verificare se il formato dei dati รจ cambiato tra le due versioni
  • Per verificare l'integritร  della nuova applicazione

Ad esempio, gli utenti attualmente utilizzano la versione 1.0 di un'applicazione e da marzo passeranno alla versione 1.1, come illustrato di seguito.

Le versioni 1.0 e 1.1 sono state testate in parallelo durante la migrazione.

In questi casi, i tester eseguono test paralleli per confermare che la migrazione dei dati sia stata completata con successo e che le modifiche nella nuova versione non influiscano nรฉ sul funzionamento del sistema nรฉ sull'output previsto dall'utente.

Quando eseguire i test paralleli

Il test parallelo viene ampiamente utilizzato quando:

  • L'azienda sta passando da un vecchio sistema a un nuovo sistema
  • SyncLa cronizzazione viene eseguita tra due sistemi
  • I dati preesistenti vengono importati da un sistema all'altro.
  • Tutti i risultati devono essere definiti con precisione, ad esempio nel settore finanziario o assicurativo, dove il calcolo รจ una funzionalitร  fondamentale del sistema.

Come eseguire test paralleli: approccio completo

Per i test paralleli si creano diversi progetti, ognuno dei quali testa una parte diversa dell'applicazione (progetti slave), e un progetto (il progetto master) che li esegue.

Il test parallelo prevede due livelli di criteri.

  1. Criteri di ammissione al test parallelo โ€” definire i compiti che devono essere soddisfatti prima che i test paralleli possano essere eseguiti in modo efficiente.
  2. Criteri di uscita del test parallelo โ€” definire la conclusione positiva della fase di test parallelo.

Prima di procedere, รจ necessario soddisfare alcune condizioni preliminari.

  • I test paralleli non possono iniziare fino a quando ambiente di test La configurazione รจ completata
  • Tutte le precondizioni e gli scenari dovrebbero essere definiti per primi
  • La migrazione dei dati legacy e dei nuovi dati deve essere eseguita correttamente
  • Il test parallelo non รจ completo finchรฉ non sono stati soddisfatti tutti i criteri di uscita.

Eseguire test paralleli in cinque fasi.

  1. Eseguire un test comparativo tra il vecchio sistema e il sistema appena sviluppato.
  2. Comprendere le differenze tra i due sistemi.
  3. Eseguire un ciclo completo utilizzando lo stesso input.
  4. Confrontare l'output del sistema di nuova concezione con l'output del vecchio sistema.
  5. Segnala la causa di qualsiasi bug riscontrato.

Buone pratiche per i test paralleli

Ecco alcuni consigli utili.

Bug tipici identificati nei test paralleli

  • La logica interna รจ cambiata
  • Il flusso del prodotto viene modificato
  • Le funzionalitร  principali sono state modificate

Quanti cicli dovrebbero essere necessari

Il numero di cicli di test dipende dalla complessitร  del modulo. Eseguire piรน cicli di scenario utilizzando quelli predefiniti. dati di test che รจ stato trasmesso dal sistema precedente.

Categorizzare le differenze

I risultati del nuovo sistema e di quello precedente devono essere misurati riga per riga, evidenziando le differenze e classificando ciascuna differenza in base al tipo di errore.

Tipo di errore verificatosi durante i cicli

Per ogni differenza, il collaudatore deve indicare quale si applica.

  • Errore di immissione
  • Errore causato dal vecchio sistema
  • Differenza spiegabile o accettabile
  • Errore inaspettato

Cosa non รจ un test parallelo

La tabella traccia il confine.

Si tratta di test paralleli Non รจ un test parallelo
Testare l'applicazione aggiornata rispetto all'applicazione precedente. Testare un solo software.
Esecuzione del vecchio scenario con il nuovo software nelle stesse condizioni di input. Test cross-browser o cross-platform.
Lo scopo รจ quello di scoprire il risultato secondo il sistema precedente. L'obiettivo รจ individuare un problema di progettazione.
รˆ necessaria la conoscenza sia del vecchio sistema che di quello di nuova concezione. Non รจ necessaria la conoscenza della differenza.

Sfide dei test paralleli

  • รˆ richiesta una conoscenza completa del prodotto.
  • Ogni risultato dovrebbe essere testato
  • L'inserimento dei dati e il flusso del prodotto richiedono costante attenzione

DOMANDE FREQUENTI

Test di regressione Confronta una build con i risultati attesi. Il test parallelo confronta due sistemi separati, utilizzando il piรน vecchio come riferimento.

I modelli possono confrontare due insiemi di risultati e raggruppare le discrepanze, separando le differenze di arrotondamento spiegabili dai difetti reali. Questa fase di triage รจ la parte manuale piรน lenta di ogni ciclo.

Sรฌ. Il confronto dei record e la formattazione dei report sono operazioni ripetitive che un assistente puรฒ gestire senza problemi. Le regole di tolleranza, invece, richiedono ancora l'intervento umano, perchรฉ una differenza accettabile รจ una decisione aziendale.

I tester eseguono i cicli; gli utenti aziendali valutano le differenze. Nel settore finanziario e assicurativo, l'esperto del settore decide quali discrepanze sono accettabili.

Dati di produzione reali provenienti dal sistema legacy, mascherati dove necessario. I dati sintetici nascondono i casi limite storici che la migrazione piรน spesso compromette.

Il termine viene utilizzato in entrambi i modi. Correre molti automatizzato. Eseguire piรน suite contemporaneamente su una griglia riduce i tempi di esecuzione, ma non confronta nulla tra due sistemi.

Quando tutti i criteri di uscita sono soddisfatti: tutti i cicli eseguiti, ogni differenza classificata, nessuna discrepanza inspiegabile aperta. La firma di solito precede test di accettazione dell'utente.

Due ambienti di produzione, dati duplicati e personale che conosce entrambi i sistemi. Il costo รจ accettato laddove un calcolo errato comporta conseguenze normative.

Riassumi questo post con: