Che cos’è l’assicurazione della qualità del software?

La qualità del software si valuta in base alle sue caratteristiche esterne e interne. La qualità esterna riguarda il funzionamento in condizioni reali e l’utilità per chi lo usa. La qualità interna riguarda il codice sottostante. Gli utenti percepiscono soprattutto il comportamento esterno, la cui qualità nel tempo dipende da un codice chiaro e ben scritto.

External and Internal Software QualityTest External Quality(Visible)ReliabilityEfficiencyMaintenanceCostReview Internal Quality (Invisible)ComplexityProgramStructureFlexibilityReadabilityReusabilityTestabilityCodingPractices
Apri il diagramma a grandezza naturale

Qualità del software

Che cos’è l’assicurazione della qualità del software?

Due approcci importanti per valutare la qualità del software sono illustrati di seguito.

  1. Approccio basato sulla gestione dei difetti
  2. Approccio basato sugli attributi di qualità
Tutto ciò che non soddisfa i requisiti del cliente può essere considerato un difetto. Requisiti fraintesi possono causare errori di progettazione. Anche una logica funzionale inadeguata, codice errato e una gestione impropria dei dati possono provocare difetti. La gestione dei difetti li registra, li classifica per gravità e ne tiene il conto. Il team interviene poi in base alla gravità assegnata. Le carte di controllo possono aiutare a misurare la capacità del processo di sviluppo.

Defect Management ApproachMetricsDevelopmentProcessQAProcessQA1. RiskAnalysis2. DefectDetection3. AnalysisSoftwareDevelopmentAssign Severityand PrioritySoftwareDevelopmentConductImpactAnalysisfor HighPriorityDefect Management Approach
Apri il diagramma a grandezza naturale

Approccio basato sulla gestione dei difetti


Un precedente modello di qualità del prodotto software, ISO/IEC 9126-1, raggruppa gli attributi di qualità in sei caratteristiche.

Quality Attribute ApproachFunctionalitySuitabilityAccuracyInteroperabilityComplianceSecurityReliabilityMaturityRecoverabilityUsabilityUnderstandabilityLearnabilityEfficiencyTime Behavior(Time Taken)Resource UtilizationMaintainabilityAnalyzabilityChangeabilityStabilityTestabilityPortabilityAdaptabilityInstallabilityConformanceReplaceability
Apri il diagramma a grandezza naturale

Approccio basato sugli attributi di qualità

1. Funzionalità Insieme delle funzioni essenziali offerte dal software.

  • Adeguatezza. Le funzioni del software sono adatte allo scopo?
  • Accuratezza. Le funzioni sono implementate correttamente?
  • Interoperabilità. Come interagisce il software con gli altri componenti del sistema?
  • Conformità. Il software rispetta le leggi e le linee guida applicabili?
  • Sicurezza. Il software gestisce le transazioni di dati in modo sicuro?
2. Affidabilità Capacità del software di funzionare in condizioni specifiche per un periodo definito e di resistere anche al guasto di singoli componenti.
  • Maturità. Con quale frequenza si verificano malfunzionamenti?
  • Ripristinabilità. Quanto bene il sistema riesce a tornare pienamente operativo dopo un guasto?
3. Usabilità Facilità d’uso di una funzione.
  • Comprensibilità. Con quale facilità gli utenti comprendono le funzioni?
  • Apprendibilità. Quanto impegno occorre agli utenti con diversi livelli di esperienza per capire le funzioni?
4. Efficienza Dipende in genere dall’architettura e dalle pratiche di programmazione adottate durante lo sviluppo.

5. Manutenibilità Chiamata anche supportabilità, dipende in gran parte dalla leggibilità e dalla complessità del codice. Riguarda la capacità di individuare e correggere i difetti.
  • Analizzabilità. Con quale facilità si individua la causa principale di un guasto?
  • Modificabilità. Quanto lavoro serve per modificare il codice e rimuovere un difetto?
  • Stabilità. Quanto rimane stabile il comportamento del sistema dopo una modifica?
  • Testabilità. Quanto impegno richiede il collaudo del sistema?
6. Portabilità Capacità del sistema di adattarsi ai cambiamenti del proprio ambiente.
  • Adattabilità. Con quale facilità il sistema si adatta alle modifiche delle specifiche?
  • Installabilità. Quanto è semplice installare il sistema?
  • Conformità. Equivale alla conformità nella categoria della funzionalità.
  • Sostituibilità. Con quale facilità si può sostituire un componente del sistema in un dato ambiente?

Costo della qualità del software I test richiedono tempo, denaro e lavoro. Analizzare il costo della qualità del software aiuta a capire il ritorno sull’investimento (ROI).

Cost of Software QualityCost ofSoftwareQualityPreventionCostsTestabilityAutomation Testing(Unit and Integration)ContinuousIntegrationAppraisal CostsQA Test PlansUATManual TestingInternal FailureCostsOperationalDowntimeExternal FailureCostsFinancial LossesLoss of Business
Apri il diagramma a grandezza naturale

Costo della qualità del software

Il costo della qualità comprende costi di conformità e di non conformità. I costi di conformità includono le voci seguenti.
  1. Costi di prevenzione. Comprendono l’applicazione corretta delle pratiche di assicurazione della qualità, come la formazione del team, le revisioni del codice e le altre attività di assicurazione della qualità.
  2. Costi di valutazione. Comprendono la pianificazione e lo svolgimento dei test, inclusi lo sviluppo e l’esecuzione dei casi di test.
I costi di non conformità derivano dai seguenti tipi di problemi.
  1. Problemi interni. I costi sorgono quando i primi test interni non vanno a buon fine. Includono il lavoro degli sviluppatori per correggere i difetti emersi nei test di unità o di componente.
  2. Problemi esterni. I costi sorgono quando i clienti trovano difetti sfuggiti ai tester. Sono molto più elevati dei costi dei problemi interni, soprattutto quando i clienti sono insoddisfatti o segnalano un guasto che richiede un intervento di livello superiore.
Costo dei guasti del software Diversi fattori possono contribuire ai guasti del software.
  1. Difficoltà a stare al passo. Con l’invecchiare del software, aggiungere funzionalità senza rivedere il codice esistente può farlo crescere e renderne più difficile la manutenzione. Nel tempo diventa difficile identificare le parti da modificare.
  2. Le prestazioni possono calare se cambiano il software, il carico di lavoro o i dati. Per esempio, una perdita di memoria può aumentare il consumo di memoria durante il funzionamento. Misura il problema e indagane la causa prima di decidere se correggere, aggiornare o sostituire il software.
  3. Una correzione può introdurre una regressione, soprattutto se altri componenti dipendono dal codice modificato. Verifica che la correzione risolva il problema originale e testa il comportamento interessato. Valuta i risultati, il costo della manutenzione e l’impatto sull’attività per decidere come procedere.
Test del software e assicurazione della qualità Nel settore informatico è frequente confondere l’assicurazione della qualità e i test del software. I tester a volte vengono chiamati professionisti dell’assicurazione della qualità perché entrambe le attività puntano a ottenere software di alta qualità.
L’assicurazione della qualità sviluppa e attua i processi necessari per soddisfare i requisiti qualitativi del cliente e seguire le procedure del ciclo di vita del software. È proattiva e si concentra sulle attività seguenti.
  1. Prevenzione dei difetti
  2. Processi
  3. Miglioramento continuo di questi processi
I test sottopongono il software a un esame rigoroso per individuare difetti ed errori. Verificano gli scostamenti dai requisiti del cliente che devono essere corretti. I test sono un’attività del controllo qualità orientata al prodotto. Individuano i difetti, la cui correzione rientra nel debugging.

Assicurazione della qualità e controllo qualità L’assicurazione della qualità e il controllo qualità sono strettamente collegati e hanno ruoli diversi. L’assicurazione della qualità punta alla prevenzione attraverso i processi. Il controllo qualità individua e affronta i problemi di qualità del prodotto.
I test fanno parte del controllo qualità. L’assicurazione della qualità e il controllo qualità contribuiscono entrambi alla gestione della qualità. L’assicurazione della qualità definisce e migliora i processi che aiutano i team a soddisfare i requisiti del cliente.

Quality Management, Assurance and ControlQuality ManagementQuality AssuranceQuality Control
Apri il diagramma a grandezza naturale

Assicurazione della qualità e controllo qualità

Il controllo qualità comprende le attività per verificare e controllare le caratteristiche del prodotto e accertare che lo sviluppo soddisfi i requisiti definiti. Esaminare e testare il prodotto sono le sue attività principali.

Un team di controllo qualità identifica i prodotti o i servizi che non rispettano gli standard aziendali. Se trova un problema, può interrompere la produzione fino alla sua risoluzione.

Importanza di audit e ispezioni

Un audit esamina in modo sistematico come un’organizzazione esegue i test del software. Gli auditor esaminano i processi documentati e verificano se l’organizzazione o il team rispetta gli standard definiti.

Un’ispezione è una revisione formale di un prodotto del lavoro, come requisiti, progettazione o codice. I revisori, diversi dall’autore, cercano difetti e scostamenti dagli standard concordati. Una tipica ispezione comprende le attività seguenti.

  1. Pianificazione
  2. Panoramica e preparazione individuale
  3. Riunione di ispezione
  4. Rielaborazione
  5. Verifica successiva




Ti garantiamo che, con la tua formazione online gratuita, supererai l’esame di certificazione in test del software!

  1. 01

    Iscriviti online

    Scegli la tua certificazione accreditata e completa l’iscrizione.

  2. 02

    Ricevi il codice di accesso

    Riceverai subito via email il tuo codice personale di accesso all’esame.

  3. 03

    Preparati e sostieni l’esame

    Studia con la formazione gratuita e rispondi online a 50 domande a scelta multipla.

  4. 04

    Ottieni la certificazione a vita

    Ricevi il tuo certificato valido in tutto il mondo e il badge digitale verificabile.

Esempio di certificato Accredited Software Test Manager Certification™
Iscriviti alla certificazione

LA TUA FORMAZIONE PREMIUM ONLINE GRATUITA

La seconda edizione di Software Testing Revealed è pronta per te.

Abbiamo creato la tua formazione con un gruppo di dirigenti e responsabili di team di spicco, coach di test del software, mentori, esperti e figure autorevoli dei principali settori. Chiunque visiti International Software Test Institute™ può accedervi. Trovi i materiali nelle sezioni Il tuo libro gratuito sui test software e La tua formazione premium gratuita sui test software del menu principale.

Questi materiali sono proprietà intellettuale di International Software Test Institute™ e sono protetti dal diritto d’autore. Li condividiamo gratuitamente con tutti perché mettere a disposizione le nostre competenze sostiene i professionisti del test del software e contribuisce allo sviluppo della disciplina.

L’esame di certificazione prevede domande a scelta multipla. Studia con la formazione online per acquisire le conoscenze necessarie a superare l’esame e ottenere la certificazione in test del software.

Ti garantiamo che, con la tua formazione premium online gratuita, supererai l’esame di certificazione in test del software!