Analisi dell'impatto nel test del software
โก Riepilogo intelligente
L'analisi d'impatto nel test del software valuta come una modifica proposta si propaga attraverso i requisiti, la progettazione, il codice, i test e la pianificazione della consegna, aiutandoping I team stimano l'impegno necessario, danno prioritร alla copertura dei test di regressione e prevengono i difetti indesiderati prima del rilascio.
Che cos'รจ l'analisi dell'impatto?
L'analisi d'impatto รจ il processo di analisi delle conseguenze delle modifiche apportate a un prodotto o un'applicazione giร in uso. Identifica le aree del sistema che potrebbero essere interessate da una modifica a una specifica sezione o funzionalitร dell'applicazione.
L'impatto viene valutato in relazione a Requisiti, Progettazione e ArchiStruttura, test e programma di consegna.
Ogni volta che vengono aggiunte nuove funzionalitร a un'applicazione o a un prodotto, รจ fondamentale verificare in che modo tali modifiche influiranno sulle prestazioni e sulla stabilitร del sistema. L'analisi d'impatto viene eseguita proprio per questo motivo.
Perchรฉ si effettua un'analisi dell'impatto del cambiamento?
- Per comprendere il possibile esito dell'implementazione della modifica. Aggiungere troppe funzionalitร a un prodotto puรฒ ridurne le prestazioni complessive.
- Identificare ogni file, documento e modello che potrebbe dover essere modificato qualora il team decidesse di implementare la modifica.
- Per stimare lo sforzo necessario per implementare la modifica.
- Identificare le attivitร necessarie per implementare il cambiamento.
- Per elencare le dipendenze dall'elemento specifico che viene modificato.
Che cos'รจ un documento di analisi d'impatto?
Un documento di analisi d'impatto puรฒ essere utilizzato come una checklist per valutare una richiesta di modifica prima che il team inizi a lavorarci. Il documento dovrebbe includere dettagli quali:
- Una breve descrizione del problema.
- Una spiegazione o un esempio di come il difetto causi un guasto o un'inefficienza.
- Una stima della complessitร .
- Una stima dei costi e dei tempi necessari per la riparazione.
- La funzionalitร da testare.
- I nuovi casi di test creati per la modifica.
- Documenti di riferimento come le specifiche tecniche o le relative note di progettazione.
Esempio:
Documento di analisi di impatto.
- Modifica ID richiesta:
- Titolo:
- Descrizione:
- Data di preparazione:
- Stima della prioritร :
- Vantaggio relativo
- Penalitร relativa
- Costo relativo
- Rischio relativo
- Impegno totale stimato: ______ ore
- Tempo perso stimato: ______ ore
- Impatto stimato sulla programmazione: ______ giorni
- Qualitร compromessa:
- Altri requisiti interessati:
- Altre attivitร interessate:
- Problemi di integrazione:
Come presentare il livello di influenza dell'analisi d'impatto
L'analisi d'impatto puรฒ essere rappresentata con un codice colore che indica la criticitร delle modifiche apportate al sistema. Un esempio comune di codice colore รจ mostrato di seguito:
- Rosso: impatto forte
- Giallo โ Impatto moderato
- Verde โ Impatto debole
La tabella sopra riportata illustra l'impatto delle modifiche implementate:
- Le caratteristiche contrassegnate in rosso sono le principali che vengono modificate. Le caratteristiche in giallo sono meno influenzate dalla modifica. Le caratteristiche in verde sono quelle meno influenzate in assoluto.
- Le funzionalitร elencate verticalmente sono quelle che vengono modificate. Le funzionalitร elencate orizzontalmente sono quelle che possono essere influenzate dalla modifica. Nell'esempio precedente, una modifica alla Funzionalitร 1 influenza la Funzionalitร 3.
- In un progetto piรน ampio, con numerose caratteristiche e funzionalitร , la tabella sopra riportata potrebbe non essere pratica. In tal caso, si adotta un approccio diverso, in cui lo sviluppatore indica direttamente il livello di influenza causato dalle modifiche alle funzionalitร principali, come mostrato di seguito, dove l'impatto della funzionalitร principale รจ indicato per ciascuna sotto-funzionalitร .
Esempi di domande da porsi durante l'analisi d'impatto:
- Quali sono gli effetti collaterali negativi o i rischi legati alla modifica proposta?
- ร necessario acquisire nuovi strumenti per implementare e testare la modifica?
- Se la modifica verrร accettata, quanto del lavoro giร investito andrร perduto?
- Le modifiche proposte influiscono negativamente sui requisiti di prestazione?
- ร necessario un ulteriore input da parte dell'utente per verificare la modifica proposta?
- La modifica aumenta il costo del prodotto?
- Il personale attualmente in servizio possiede le conoscenze e le competenze necessarie per attuare il cambiamento proposto?
- Il cambiamento proposto comporta un carico inaccettabile su qualche risorsa informatica?
Migliori pratiche per l'analisi dell'impatto del cambiamento
- Prima di iniziare l'analisi d'impatto, assicurarsi che la richiesta di test identifichi ogni parte del progetto che verrร influenzata dalle modifiche.
- Una comunicazione continua tra sviluppatore e tester รจ fondamentale per evitare che vengano trascurate modifiche necessarie al prodotto finale.
- Individuare se sono necessarie modifiche, eliminazioni o aggiunte all'interfaccia utente.
- Stimare il numero di casi di test di accettazione, di sistema e di integrazione che saranno necessari.
- Identificare l'impatto della modifica proposta sul piano di progetto, sul piano di gestione della configurazione o sul piano di garanzia della qualitร .
Tipologie di analisi d'impatto nei test del software
L'analisi dell'impatto del cambiamento non รจ una tecnica unica. In genere, i professionisti utilizzano uno dei tre tipi complementari per rispondere a diverse domande relative a un cambiamento proposto.
- TracAnalisi dell'impatto sulla capacitร : Utilizza i requisiti TracMatrice di fattibilitร e collegamenti di progettazione per mappare ogni requisito ai moduli, ai test e ai documenti che lo implementano. Quando un requisito cambia, la matrice rivela ogni artefatto a valle che deve essere aggiornato o ritestato.
- Analisi dell'impatto della dipendenza: Studia i grafici delle chiamate, i flussi di dati e le interfaccetracts all'interno del codice sorgente. Una modifica a un modulo รจ tracattraverso chiamanti diretti, chiamanti indiretti e strutture dati condivise, in modo che gli effetti a catena nascosti vengano alla luce prima che la modifica venga implementata.
- Analisi d'impatto sperimentale (storica): Analizza i dati storici relativi alle modifiche (difetti passati, sprint falliti e regressioni non riuscite) per prevedere il comportamento della modifica corrente. Gli strumenti moderni combinano l'analisi della cronologia del controllo di versione con modelli statistici o di apprendimento automatico per valutare il rischio di ogni modifica.
La maggior parte delle squadre combina almeno due di queste tipologie. TracL'analisi di fattibilitร ti dice quali documenti sono interessati, l'analisi delle dipendenze ti dice quale codice รจ interessato e l'analisi storica ti dice quanto รจ probabile che la modifica sia rischiosa.
Strumenti popolari per l'analisi dell'impatto del cambiamento
L'analisi moderna dell'impatto delle modifiche raramente viene eseguita in un foglio di calcolo. I team abbinano uno strumento di gestione dei requisiti con uno strumento di analisi del codice e uno strumento di gestione dei test che condividono un obiettivo comune. traccapacitร della colonna vertebrale.
- Jama Connect, IBM PORTE, Modern Requirementse requisiti per il visto: Acquisire i requisiti, mantenere le baseline e generare report di impatto su requisiti, test e rischi collegati quando viene proposta una modifica.
- Atlassian Jira con Xray o Zefiro: Track storie utente, difetti e casi di test. I report di impatto mostrano ogni storia e test che una modifica proposta interessa all'interno di uno sprint o di una release train.
- SonarQubeComprendere con SciTools e Structure101: Analizza le dipendenze del codice sorgente e genera grafici delle chiamate e report di accoppiamento in modo che l'ingegnere possa visualizzare il codice a valle interessato da una modifica.
- Lanciabile, Testim Auto-riparazione e TestGrid: Utilizza l'apprendimento automatico per prevedere quali test hanno maggiori probabilitร di individuare i difetti introdotti da una modifica, consentendo una selezione intelligente dei test e cicli di regressione piรน rapidi.
- Microsoft Excel o Google fogli: ร ancora ampiamente utilizzato per il documento iniziale di analisi d'impatto, la tabella di influenza con codifica a colori e il registro delle richieste di modifica nei progetti di dimensioni ridotte.
La combinazione giusta dipende dalle dimensioni del codebase, dall'ambiente normativo e dal metodo di consegna. I settori regolamentati si affidano a Jama o DOORS per la verificabilitร . tracfacilitร , mentre i team di prodotto agili si affidano a Jira, SonarQubee uno strumento per la valutazione dell'impatto dei test.



