how test software requirements specification
Ne sei consapevole 'La maggior parte del Bug nel software sono dovuti a requisiti funzionali incompleti o imprecisi? ' Per quanto sia scritto bene, il codice del software non ha importanza e nulla può essere fatto se ci sono ambiguità nei requisiti.
Questo articolo sulla specifica dei requisiti software (SRS) afferma che i requisiti devono essere chiari, specifici, misurabili e completi senza contraddizioni.
È meglio cogliere le ambiguità dei requisiti e risolverle nel primo ciclo di vita dello sviluppo stesso.
Il costo della correzione del bug dopo il completamento dello sviluppo o del rilascio del prodotto è troppo alto. Quindi è importante avere un'analisi dei requisiti e rilevare questi requisiti errati prima delle specifiche di progettazione e delle fasi di implementazione del progetto di SDLC.
Cosa imparerai:
Come misurare i documenti SRS funzionali?
Bene, abbiamo bisogno di definire alcuni test standard per misurare i requisiti. Una volta che ogni requisito è passato attraverso questi test, è possibile valutare e congelare i requisiti funzionali.
Prendiamo un esempio, stai lavorando a un'applicazione basata sul web. Il requisito è il seguente: 'L'applicazione web deve essere in grado di servire le query degli utenti il prima possibile'
Come congelerai il requisito in questo caso?
Quali saranno i tuoi criteri di soddisfazione dei requisiti? Per ottenere la risposta, poni questa domanda agli stakeholder: quanto tempo di risposta va bene per te? Se dicono, accetteremo la risposta se è entro 2 secondi, questa è la misura dei tuoi requisiti. Blocca questo requisito e segui la stessa procedura anche per il requisito successivo.
Abbiamo appena imparato come misurare i requisiti e congelarli nelle fasi di progettazione, implementazione e test.
Ora facciamo un altro esempio: Stavo lavorando a un progetto basato sul Web. Il cliente (stakeholder) ha specificato i requisiti del progetto nella fase iniziale dello sviluppo del progetto. Il mio manager ha fatto circolare tutti i requisiti nel team per la revisione. Quando abbiamo iniziato la discussione su questi requisiti, siamo rimasti semplicemente scioccati!
Ognuno aveva la propria concezione dei requisiti. Abbiamo riscontrato molte ambiguità nei 'termini' specificati nei documenti dei requisiti, che in seguito sono stati inviati al cliente per revisione / chiarimento.
Il cliente ha utilizzato molti termini ambigui, che avevano molti significati diversi, rendendo difficile per noi analizzare il significato esatto. La versione successiva del documento sui requisiti del cliente era abbastanza chiara da essere congelata per la fase di progettazione.
Da questo esempio, abbiamo appreso che 'i requisiti devono essere chiari e coerenti'
Il prossimo criterio per testare la specifica dei requisiti è 'Scopri i requisiti mancanti', diamo un'occhiata a questo.
Scopri i requisiti mancanti
Molte volte i progettisti non hanno un'idea chiara di ogni modulo specifico e si limitano ad assumere alcuni requisiti in fase di progettazione. Qualsiasi requisito non dovrebbe essere basato su ipotesi. I requisiti dovrebbero essere completi, coprendo ogni aspetto del sistema in fase di sviluppo.
Le specifiche dovrebbero indicare entrambi i tipi di requisito, ovvero quale sistema dovrebbe fare e cosa non dovrebbe.
In genere, utilizzo il mio metodo per scoprire i requisiti non specificati. Quando ho letto il file Documento di specifica dei requisiti software (SRS) , Annoto la mia comprensione dei requisiti specificati, oltre ad altri requisiti che il documento SRS dovrebbe coprire.
Questo mi aiuta a porre le domande sui requisiti non specificati rendendolo così più chiaro.
Per verificare la completezza dei requisiti, dividere i requisiti in tre sezioni, 'Requisiti da implementare', requisiti che non sono specificati ma 'presunti' e il terzo tipo è il tipo di requisiti 'immaginazione'. Verificare se tutti i tipi di requisiti sono stati affrontati prima della fase di progettazione del software.
Verificare se i requisiti sono correlati all'obiettivo del progetto
A volte le parti interessate hanno la propria esperienza, che si aspettano venga inserita nel sistema in fase di sviluppo. Non pensano nemmeno se quel requisito sarebbe rilevante per il progetto in mano. Assicurati di identificare tali requisiti. Cerca di evitare tutti i requisiti irrilevanti durante la prima fase del ciclo di sviluppo del progetto.
Se non è possibile, poni le domande agli stakeholder, ad esempio perché vuoi implementare questo requisito specifico? Questo descriverà il particolare requisito in dettaglio, rendendo così più facile la progettazione del sistema considerando l'ambito futuro.
qual è il miglior programma di aggiornamento del driver
Ma come decidere se i requisiti sono rilevanti o meno?
Risposta semplice: impostare l'obiettivo del progetto e porre questa domanda: se la mancata implementazione di questo requisito causerà problemi nel raggiungimento dell'obiettivo specificato? In caso contrario, questo è un requisito irrilevante. Chiedere agli stakeholder se vogliono davvero implementare questi tipi di requisiti.
In breve, il documento SRS (Requirements Specification) dovrebbe affrontare quanto segue:
- Funzionalità del progetto (cosa dovrebbe essere fatto e cosa non dovrebbe essere fatto).
- Software, interfacce hardware e interfaccia utente.
- Correttezza del sistema, sicurezza e criteri di prestazione.
- Eventuali problemi di implementazione (rischi).
Conclusione
Ho coperto quasi tutti gli aspetti della misurazione dei requisiti. Per essere specifico sui requisiti, riassumerò i test dei requisiti in una frase:
'I requisiti dovrebbero essere chiari e specifici senza incertezze, i requisiti dovrebbero essere misurabili in termini di valori specifici, i requisiti dovrebbero essere testabili con alcuni criteri di valutazione per ogni requisito ei requisiti dovrebbero essere completi, senza contraddizioni'
Il test dovrebbe iniziare nella fase dei requisiti per evitare ulteriori bug relativi ai requisiti. Comunicare sempre di più con i tuoi stakeholder per chiarire tutti i requisiti prima di iniziare la progettazione e l'implementazione del progetto.
Hai esperienza nel testare i requisiti software?
Sentiti libero di condividerli nei commenti qui sotto.
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Lavoro assistente QA test software
- Tutorial sui test distruttivi e non distruttivi
- Mappe mentali nei test del software: modi per rendere i test più divertenti!
- Come testare un'applicazione senza requisiti?
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro di freelance di scrittore di contenuti tecnici di test del software