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.



