Panoramica del workshop di revisione della strategia di test
L'obiettivo di Success by Design è garantire un risultato positivo al cliente durante l'implementazione di Microsoft Dynamics 365. Lo scopo della revisione della strategia di test è:
- Promuovere la comunicazione e la comprensione: il workshop sulla revisione della strategia di test è progettato per condurre una conversazione sulla strategia di test che promuova la comprensione generale nel team di implementazione relativamente agli obiettivi, alla tipologia, alla copertura e alla pianificazione dei test nonché l'approccio alla convalida della soluzione.
- Identificare i rischi e i problemi: una panoramica ampia ma di alto livello sulla strategia di test consente di identificare i problemi e i rischi dell'approccio che potrebbero compromettere il risultato.
- Fornire consigli: in base ai rischi identificati, questo workshop fornisce consigli utili per gestire e mitigare al meglio i rischi.
In caso di progetti complessi, il workshop sulla revisione della strategia di test può essere svolto di persona. In questo caso viene organizzato come singolo workshop in grado di coprire tutti gli argomenti necessari. Tuttavia, il workshop viene solitamente condotto a distanza.
Le sezioni seguenti trattano aspetti di alto livello del workshop sulla revisione della strategia di test e forniscono esempi dei tipi di domande trattate in ciascuna sezione.
Strategia di test globale
La strategia di test copre l'approccio di alto livello e intende confermare l'idoneità della soluzione all'uso in produzione. Questo argomento mira a rispondere a domande come le seguenti:
- È in atto una strategia di test documentata?
- La strategia di test riflette le esigenze e le circostanze di questo progetto?
- La strategia di test è espressa in un linguaggio correlato al progetto e comprensibile dalle parti interessate dal progetto in questione e dall'azienda?
Mapping dell'ambito del progetto all'ambito del test
L'ambito del test dipende chiaramente dall'ambito del progetto. Questa sezione prende in esame il modo in cui l'ambito del progetto è coperto dall'ambito del test.
Questo argomento risponde alla domanda: "Come e in quale fase o quale tipo di test devono essere testate le aree dell'ambito funzionale del progetto?
Ad esempio, considerare le seguenti aree di applicazione:
- Processi aziendali
- Requisiti aziendali
- Requisiti di progettazione
- Dati (per uso funzionale, migrazione, interfacce, reporting/BI e così via)
- Geografia
- Aree personalizzate
- Modifiche del processo
- Sicurezza
- Requisiti normativi
- Obiettivi del progetto
Un'altra domanda a cui risponde questo argomento è: "Come e in quale fase o quale tipo di test devono essere testate le aree dell'ambito non funzionale del progetto?
Ad esempio, considerare le seguenti aree di applicazione:
- Prestazioni
- Usabilità
- Operabilità
- Manutenibilità
- Ripristino di emergenza
- Continuità aziendale
- Altre aree, rilevanti per questo progetto
Piano di test di alto livello
I test verranno condotti durante tutto il progetto e il piano di test di alto livello fornisce la struttura per mostrare come i vari tipi e fasi di test si basino l'uno sull'altro per fornire una convalida incrementale e completa della soluzione. Questo argomento mira a rispondere a domande come le seguenti:
- Come si integra il piano di test di alto livello all'interno del piano di progetto?
- La pianificazione del test riflette la strategia del test?
- Tutti i tipi e le fasi di test si riflettono in modo accurato nel piano di test?
- Il piano di test prevede tempo e risorse sufficienti per condurre test in funzione della dimensione e della complessità del progetto?
- Il piano di test mostra che il tempo e le risorse assegnati alle varie aree di test sono proporzionali al rischio rappresentato per l'azienda?
Fasi e tipologie di prova
Il test in un'applicazione aziendale come Dynamics 365 è multiforme e le fasi e i tipi di test rappresentano la convalida di diversi livelli e dimensioni della soluzione. Questa sezione esamina la completezza di alcune importanti definizioni di test e attributi di gestione dei test delle fasi e dei tipi di test chiave.
Le tabelle seguenti mostrano una vista delle aree che ogni tipo di test dovrebbe definire.
Test - Definizioni chiave
Fase di test/Tipo di test | Obiettivi chiave | Documenti di origine | Copertura del test | Criteri di inserimento | Criteri di uscita |
---|---|---|---|---|---|
Immettere il titolo della fase di test (come Test di integrazione o Test di accettazione utente) o immettere i tipi di test chiave (come Test delle prestazioni o Mock Cutover). | Immettere gli obiettivi chiave che si prevede di raggiungere a ogni fase di test. | Elencare l'area del tipo di documento/requisito usata per definire il contenuto dei casi di test e i criteri di accettazione (in altre parole, ciò che server come definizione per convalidare il risultato del test). | Determinare quali aree dell'ambito del progetto dovrebbero essere convalidate da questa fase, ad esempio: - Processo aziendale end-to-end e relativa configurazione - Funzioni specifiche - Dati migrati | Definire i criteri di inserimento che devono essere soddisfatti affinché questa fase di test possa essere considerata pronta per iniziare l'implementazione formale. | Definire i criteri di uscita che i risultati del test devono soddisfare affinché questa fase di test sia considerata conforme al suo obiettivo e possa essere conclusa formalmente. |
Gestione del test
Fase di test/Tipo di test | Preparazione del test | Implementazione del test | Report del test | Strumenti di amministrazione del test | Proprietà del test |
---|---|---|---|---|---|
Immettere il titolo della fase di test (come Test di integrazione o Test di accettazione utente) o immettere i tipi di test chiave (come Test delle prestazioni o Mock Cutover). | Breve descrizione della preparazione del test che dovrebbe soddisfare i criteri di accesso al test (ad esempio, scrittura di script di test, requisiti dei dati o ambienti). | Breve descrizione di come verrà implementato questo test (quali ruoli eseguiranno i test o quale sarà il ciclo di vita di un difetto). | Definire come verrà segnalato l'avanzamento del test e come verranno analizzati e segnalati i risultati/la qualità, ad esempio: - Reporting per uso interno del progetto - Reporting alle parti interessate aziendali senior. | Determinare gli strumenti che verranno usati per archiviare, rivedere e gestire il framework di test, i casi di test e i risultati dei test. Inoltre, considerare quali strumenti verranno usati per mappare i casi di test a requisito/ambito, come Azure DevOps, Kira o Microsoft Excel. | Definire chi è responsabile dell'esito di questo test. |
Le informazioni delle tabelle precedenti si applicano a tutti i tipi di test. I tipi e le fasi di test chiave che possono essere trattati includono:
- Unit test
- Test funzionali/di processo
- Test di integrazione del sistema
- Test end-to-end
- Test di accettazione utente (UAT)
- Test di regressione
I tipi di test chiave non funzionali che possono essere trattati includono:
- Test delle prestazioni
- Convalida dei dati
- Test della sicurezza
Questo elenco non è esaustivo e, a seconda della natura del progetto, è possibile che siano rilevanti altri tipi di test, come il test del POS per i negozi al dettaglio o il test del dispositivo di scansione per le applicazioni di magazzino.
Altre domande che sono particolarmente rilevanti per un dato tipo/fase di test che potrebbero non essere adeguatamente coperte dalle categorie precedenti includono:
- I casi di test funzionali sono stati definiti dai requisiti e/o dagli scenari di business?
- Il test funzionale copre tutti i moduli funzionali?
- Gli script di test funzionali sono convalidati con gli utenti aziendali?
- La strategia di test di integrazione del sistema descrive la creazione di un ambiente di test simile alla produzione per condurre test di integrazione del sistema?
- È stato definito un metodo per sincronizzare/risincronizzare tutti i sistemi partecipanti nei test di integrazione del sistema?
- I casi di test end-to-end sono stati convalidati con il proprietario di ciascun modulo funzionale?
- La strategia di test end-to-end considera i test di usabilità?
- Sono state identificate le principali parti interessante per l'UAT?
- Il piano UAT documenta chiaramente il ruolo di ogni parte interessata nella fase dell'UAT?
- È stato stabilito un piano di comunicazione chiaro durante i test UAT con tutte le parti interessate necessarie?
- Ogni processo principale è stato scomposto per includere i processi secondari?
- Gli scenari di test hanno la priorità nell'UAT?
- Il piano di test dell'UAT include il provisioning dell'ambiente di test UAT appropriato?
- È stata pianificata la formazione degli utenti prima del test UAT per i tester?
- È stata stabilita una definizione adeguata per il set di test che costituirebbe una suite di test di regressione?
- È in atto un processo per identificare i cambiamenti recenti (ad alto livello) per i test di regressione?
- Il piano di test include l'automazione dei test di regressione?
- È stato definito un processo per il test di convalida dei dati?
- Sono state identificate le parti interessate aziendali corrette per condurre i test di convalida dei dati?
- È in atto un piano per condurre test end-to-end sui dati migrati?
- I test di convalida dei dati includono report e piani di riconciliazione dei dati?
- Sono state identificate le aree chiave per i test di sicurezza?
- Il piano di test richiede che tutti i ruoli e i privilegi di sicurezza necessari siano definiti e popolati prima dell'UAT o del test di integrazione del sistema?
- La strategia di test di sicurezza include i requisiti di sicurezza dell'organizzazione?
Strumenti
La pianificazione, la preparazione, la conduzione e la rendicontazione dei test richiedono una gestione significativa. Per i progetti più semplici, questo processo può essere gestito tramite fogli di calcolo, ma questa soluzione può diventare problematica e difficile da monitorare per qualcosa di più complesso. La maggior parte dei progetti userà una qualche forma di software di gestione delle attività. Inoltre, molte organizzazioni usano strumenti di automazione per pianificare, creare ed eseguire test nonché per comunicare i risultati dei test. Questo argomento mira a rispondere a domande come le seguenti:
- Quali strumenti di amministrazione dei test vengono usati, e in che modo, per eseguire il mapping dei test ai requisiti di origine (matrice di tracciabilità)?
- Quali strumenti di amministrazione dei test vengono usati per gestire l'identificazione e l'archiviazione dei casi di test?
- Quali strumenti di amministrazione dei test vengono usati per gestire l'allocazione delle risorse e per tenere traccia dell'intero ciclo di vita di un test (creazione ed esecuzione del test, confronto dei risultati del test, registrazione dei difetti e risoluzione e nuovo tentativo)?
- Quali strumenti vengono usati per automatizzare l'esecuzione dei tipi di test e la raccolta dei risultati?