Componenti SQA
Software Quality Assurance(SQA) è un insieme di attività per garantire la qualità nei processi di ingegneria del software. Assicura che il software sviluppato soddisfi e rispetti le specifiche di qualità definite o standardizzate. SQA è un processo continuo all'interno del ciclo di vita dello sviluppo del software (SDLC) che controlla regolarmente il software sviluppato per garantire che soddisfi le misure di qualità desiderate.
Le pratiche SQA sono implementate nella maggior parte dei tipi di sviluppo software, indipendentemente dal modello di sviluppo software sottostante utilizzato. SQA incorpora e implementa metodologie di test del software per testare il software. Piuttosto che controllare la qualità dopo il completamento, i processi SQA testano la qualità in ogni fase dello sviluppo, fino al completamento del software. Con SQA, il processo di sviluppo del software passa alla fase successiva solo quando la fase corrente / precedente è conforme agli standard di qualità richiesti. SQA generalmente funziona su uno o più standard di settore che aiutano nella creazione di linee guida sulla qualità del software e strategie di implementazione.
Comprende le seguenti attività:
- Definizione e implementazione del processo
- Auditing
- Training
I processi potrebbero essere -
- Metodologia di sviluppo del software
- Gestione di progetto
- Gestione della configurazione
- Sviluppo / gestione dei requisiti
- Estimation
- Progettazione software
- Test, ecc.
Una volta che i processi sono stati definiti e implementati, Quality Assurance ha le seguenti responsabilità:
- Identifica i punti deboli nei processi
- Correggi questi punti deboli per migliorare continuamente il processo
Componenti del sistema SQA
Un sistema SQA combina sempre un'ampia gamma di componenti SQA. Questi componenti possono essere classificati nelle seguenti sei classi:
Componenti pre-progetto
Ciò garantisce che gli impegni del progetto siano stati chiaramente definiti considerando le risorse richieste, la tempistica e il budget; e i piani di sviluppo e qualità sono stati determinati correttamente.
Componenti della valutazione delle attività del ciclo di vita del progetto
Il ciclo di vita del progetto si compone di due fasi: la fase del ciclo di vita di sviluppo e la fase di funzionamento – manutenzione.
I componenti della fase del ciclo di vita dello sviluppo rilevano gli errori di progettazione e programmazione. I suoi componenti sono suddivisi nelle seguenti sottoclassi: Recensioni, Opinioni di esperti e Test del software.
I componenti SQA utilizzati durante la fase di funzionamento – manutenzione includono componenti di manutenzione specializzati e componenti del ciclo di vita di sviluppo, che vengono applicati principalmente per funzionalità per migliorare le attività di manutenzione.
Componenti di prevenzione e miglioramento degli errori infrastrutturali
L'obiettivo principale di questi componenti, che viene applicato all'intera organizzazione, è eliminare o almeno ridurre il tasso di errori, in base all'esperienza SQA accumulata dall'organizzazione.
Componenti della gestione della qualità del software
Questa classe di componenti si occupa di diversi obiettivi, come il controllo delle attività di sviluppo e manutenzione e l'introduzione di azioni precoci di supporto manageriale che principalmente prevengono o riducono al minimo gli errori di pianificazione e budget ei loro risultati.
Componenti di standardizzazione, certificazione e valutazione del sistema SQA
Questi componenti implementano standard professionali e manageriali internazionali all'interno dell'organizzazione. Gli obiettivi principali di questa classe sono l'utilizzo delle conoscenze professionali internazionali, il miglioramento del coordinamento dei sistemi di qualità organizzativa con altre organizzazioni e la valutazione dei risultati dei sistemi di qualità secondo una scala comune. I vari standard possono essere classificati in due gruppi principali: standard di gestione della qualità e standard di processo del progetto.
Organizzare per SQA - i componenti umani
La base organizzativa SQA comprende manager, personale addetto ai test, l'unità SQA e le persone interessate alla qualità del software come i trustee SQA, i membri del comitato SQA e i membri del forum SQA. I loro obiettivi principali sono avviare e supportare l'implementazione dei componenti SQA, rilevare deviazioni dalle procedure e metodologie SQA e suggerire miglioramenti.
Componenti di qualità del software pre-progetto
Questi componenti aiutano a migliorare le fasi preliminari intraprese prima di iniziare un progetto. Include:
- Revisione del contratto
- Piani di sviluppo e qualità
Revisione del contratto
Normalmente, un software viene sviluppato per un contratto negoziato con un cliente o per un ordine interno per sviluppare un firmware da incorporare all'interno di un prodotto hardware. In tutti questi casi, l'unità di sviluppo è impegnata in una specifica funzionale, un budget e un programma concordati. Pertanto, le attività di revisione del contratto devono includere un esame dettagliato della bozza della proposta di progetto e delle bozze del contratto.
Nello specifico, le attività di revisione del contratto includono:
Chiarimento delle esigenze del cliente
Revisione della pianificazione del progetto e delle stime del fabbisogno di risorse
Valutazione della capacità del personale professionale di realizzare il progetto proposto
Valutazione della capacità del cliente di adempiere ai propri obblighi
Valutazione dei rischi di sviluppo
Piani di sviluppo e qualità
Dopo aver firmato il contratto di sviluppo software con un'organizzazione o un dipartimento interno della stessa organizzazione, viene preparato un piano di sviluppo del progetto e le sue attività integrate di garanzia della qualità. Questi piani includono dettagli aggiuntivi e revisioni necessarie sulla base di piani precedenti che hanno fornito la base per l'attuale proposta e contratto.
Il più delle volte, sono necessari diversi mesi tra la presentazione dell'offerta e la firma del contratto. Durante questo periodo, le risorse come la disponibilità del personale e le capacità professionali possono essere modificate. I piani vengono quindi rivisti per riflettere i cambiamenti avvenuti nel frattempo.
Le principali questioni trattate nel piano di sviluppo del progetto sono:
- Schedules
- Manodopera e risorse hardware richieste
- Valutazioni dei rischi
- Questioni organizzative: membri del team, subappaltatori e partnership
- Metodologia del progetto, strumenti di sviluppo, ecc.
- Piani di riutilizzo del software
Le principali questioni trattate nel piano di qualità del progetto sono:
Obiettivi di qualità, espressi nei termini misurabili appropriati
Criteri per l'inizio e la fine di ogni fase del progetto
Elenchi di revisioni, test e altre attività di verifica e convalida programmate