use case use case testing complete tutorial
Per cominciare, capiamo 'Che cos'è il caso d'uso?' e più tardi discuteremo 'Che cos'è il test dei casi d'uso?' .
Un caso d'uso è uno strumento per definire l'interazione dell'utente richiesta. Se stai tentando di creare una nuova applicazione o di apportare modifiche a un'applicazione esistente, vengono fatte diverse discussioni. Una delle discussioni critiche che devi fare è come rappresenterai il requisito per la soluzione software.
Gli esperti aziendali e gli sviluppatori devono avere una comprensione reciproca del requisito, poiché è molto difficile da raggiungere. Qualsiasi metodo standard per strutturare la comunicazione tra di loro sarà davvero un vantaggio. A sua volta, ridurrà i problemi di comunicazione ed è qui che entra in gioco il caso d'uso.
Questo tutorial ti darà un quadro chiaro del concetto di Use case e testing, coprendo così i vari aspetti coinvolti con esempi pratici per una facile comprensione di chiunque sia completamente nuovo al concetto.
Cosa imparerai:
- Caso d'uso
- Chi utilizza i documenti 'Caso d'uso'?
- Tipi di casi d'uso
- Elementi in casi d'uso
- Rappresentazione
- Come scrivere un caso d'uso?
- Usa diagramma dei casi
- Azioni dell'utente
- Che cos'è il test dei casi d'uso?
- Conclusione
- Lettura consigliata
Caso d'uso
Il caso d'uso gioca un ruolo significativo nelle fasi distinte del ciclo di vita dello sviluppo del software. Il caso d'uso dipende dalle 'azioni dell'utente' e dalla 'risposta del sistema' alle azioni dell'utente.
È la documentazione delle 'azioni' eseguite dall'attore / utente e il corrispondente 'comportamento' del sistema rispetto alle 'azioni' dell'utente. Casi d'uso può o meno portare al raggiungimento di un obiettivo da parte dell ''attore / utente' sulle interazioni con il sistema.
In Use Case, descriveremo 'Come risponderà un sistema a un determinato scenario?' . È 'orientato all'utente' non 'orientato al sistema'.
È 'orientato all'utente': Specificheremo 'quali sono le azioni compiute dall'utente?' E 'Cosa vedono gli attori in un sistema?'.
Non è 'orientato al sistema': Non specificheremo 'Quali sono gli input forniti al sistema?' E 'Quali sono gli output prodotti dal sistema?'.
Il team di sviluppo deve scrivere i 'casi d'uso', poiché la fase di sviluppo dipende molto da essi.
L'autore di casi d'uso, i membri del team e i clienti contribuiranno alla creazione di questi casi. Per crearli, abbiamo bisogno di avere un team di sviluppo assemblato e il team dovrebbe essere altamente consapevole dei concetti del progetto.
Dopo aver implementato il caso, il documento viene testato e il comportamento del sistema viene verificato di conseguenza. In un caso la lettera maiuscola 'A' denota 'attore', la lettera 'S' denota 'sistema'.
Chi utilizza i documenti 'Caso d'uso'?
Questa documentazione fornisce una panoramica completa dei diversi modi in cui l'utente interagisce con un sistema per raggiungere l'obiettivo. Una migliore documentazione può aiutare a identificare i requisiti per un sistema software in un modo molto più semplice.
Questa documentazione può essere utilizzata da sviluppatori di software, tester di software e parti interessate.
Usi dei documenti:
- Gli sviluppatori utilizzano i documenti per implementare il codice e progettarlo.
- I tester li usano per creare il file casi test .
- Gli stakeholder aziendali utilizzano il documento per comprendere i requisiti software.
Tipi di casi d'uso
Ci sono 2 tipi.
Sono:
- Giorno soleggiato
- Giorno di pioggia
# 1) Casi d'uso in una giornata di sole
Sono i casi principali che hanno più probabilità di accadere quando tutto va bene. A questi viene data la massima priorità rispetto agli altri casi. Una volta completati i casi, li consegniamo al team di progetto per la revisione e ci assicuriamo di aver coperto tutti i casi richiesti.
come aprire un file bin su pc
# 2) Casi d'uso in una giornata piovosa
Questi possono essere definiti come l'elenco dei casi limite. La priorità di tali casi verrà dopo i 'Sunny Use Case'. Possiamo cercare l'aiuto degli stakeholder e dei product manager per dare la priorità ai casi.
Elementi in casi d'uso
Di seguito sono riportati i vari elementi:
1) Breve descrizione : Una breve descrizione che spiega il caso.
2) Attore : Utenti coinvolti nelle azioni dei casi d'uso.
3) Presupposto : Condizioni da soddisfare prima dell'inizio del caso.
4) Di base Flusso : 'Flusso di base' o 'Scenario principale' è il normale flusso di lavoro nel sistema. È il flusso delle transazioni effettuate dagli attori per raggiungere i loro obiettivi. Quando gli attori interagiscono con il sistema, poiché è il normale flusso di lavoro, non ci saranno errori e gli attori otterranno l'output previsto.
5) Alternativo flusso : Oltre al normale flusso di lavoro, un sistema può anche avere un 'flusso di lavoro alternativo'. Questa è l'interazione meno comune eseguita da un utente con il sistema.
6) Eccezione flusso : Il flusso che impedisce a un utente di raggiungere l'obiettivo.
7) Posta Condizioni : Le condizioni che devono essere verificate dopo che il caso è stato completato.
Rappresentazione
Un caso è spesso rappresentato in un testo normale o in un diagramma. A causa della semplicità del diagramma dei casi d'uso, è considerato facoltativo da qualsiasi organizzazione
Esempio di caso d'uso:
Qui spiegherò il caso di 'Accesso' a un 'Sistema di gestione scolastica'.
Usa nome caso | Login | |
---|---|---|
3b | ID studente non valido inserito 4 volte. S: L'applicazione si chiude | |
Descrizione del caso d'uso | Un accesso utente al sistema per accedere alle funzionalità del sistema. | |
Attori | Genitori, studenti, insegnante, amministratore | |
Pre-condizione | Il sistema deve essere connesso alla rete. | |
Post-condizione | Dopo un accesso riuscito, viene inviata un'e-mail di notifica all'ID di posta dell'utente |
Scenari principali | Numero di serie | Passi |
---|---|---|
Attori / utenti | 1 | Inserire username Inserire la password |
Due | Convalida nome utente e password | |
3 | Consenti l'accesso a System | |
Estensioni | 1a | Nome utente non valido Il sistema mostra un messaggio di errore |
2b | Password non valida Il sistema mostra un messaggio di errore | |
3c | Password non valida per 4 volte Applicazione chiusa |
Punti da notare
- Gli errori comuni che i partecipanti fanno con Use Case è che contiene troppi dettagli su un caso particolare o non ci sono abbastanza dettagli.
- Questi sono modelli testuali, se necessario possiamo aggiungere o meno un diagramma visivo.
- Determinare la condizione preliminare applicabile.
- Scrivi le fasi del processo nell'ordine corretto.
- Specificare i requisiti di qualità per il processo.
Come scrivere un caso d'uso?
I punti riassunti di seguito ti aiuteranno a scrivere questi:
=> Quando proviamo a scrivere un caso, la prima domanda che dovrebbe sollevare è 'Qual è l'uso principale per il cliente?' Questa domanda ti farà scrivere i tuoi casi dal punto di vista dell'utente.
=> Dobbiamo aver ottenuto un modello per questi.
=> Deve essere produttivo, semplice e forte. Un caso d'uso forte può impressionare il pubblico anche se ha piccoli errori.
=> Dovremmo numerarlo.
=> Dovremmo scrivere la fase del processo nel suo ordine.
=> Dare un nome corretto agli scenari, la denominazione deve essere eseguita in base allo scopo.
=> Questo è un processo iterativo, il che significa che quando li scrivi per la prima volta non sarà perfetto.
=> Identifica gli attori nel sistema. Potresti trovare un gruppo di attori nel sistema.
Esempio ,se consideri un sito di e-commerce come Amazon, lì possiamo trovare attori come acquirenti, venditori, rivenditori all'ingrosso, revisori dei conti, fornitori, distributori, assistenza clienti ecc.
Inizialmente, consideriamo i primi attori. Possiamo avere più di un attore con lo stesso comportamento.
Per esempio , sia l'Acquirente che il Venditore possono 'Creare un Account'. Allo stesso modo, sia 'Acquirente che Venditore' possono 'Cerca articolo'. Quindi, questi sono comportamenti duplicati e devono essere eliminati. Oltre a utilizzare i casi duplicati, dobbiamo avere casi più generali. Quindi, dobbiamo generalizzare i casi per evitare duplicazioni.
=> Dobbiamo determinare la precondizione applicabile.
Usa diagramma dei casi
Use Case Diagram è una rappresentazione grafica delle azioni di un utente in un sistema. Fornisce un ottimo strumento in questo contesto, se il diagramma contiene molti attori, allora è molto facile da capire. Se è un diagramma di alto livello, non condividerà molti dettagli. Mostra idee complesse in modo abbastanza semplice.
Fig No: UC 01
Come mostrato in Fig No: UC 01 rappresenta un diagramma in cui il rettangolo rappresenta un 'sistema', l'ovale rappresenta un 'caso d'uso', la freccia rappresenta una 'relazione' e l'uomo rappresenta un 'utente / attore'. Mostra un sistema / un'applicazione, quindi mostra l'organizzazione / le persone che interagiscono con esso e mostra il flusso di base di 'Cosa fa il sistema?'
Fig No: UC 02
Fig No: UC 03 - Diagramma dei casi d'uso per il login
Questo è il diagramma dei casi d'uso del caso 'Accesso'. Qui abbiamo più di un attore, sono tutti collocati fuori dal sistema. Studenti, insegnanti e genitori sono considerati attori primari. Ecco perché sono tutti posizionati sul lato sinistro del rettangolo.
L'amministratore e il personale sono considerati attori secondari, quindi li posizioniamo sul lato destro del rettangolo. Gli attori possono accedere al sistema, quindi colleghiamo gli attori e il caso di accesso con un connettore.
Altre funzionalità trovate nel sistema sono Reimposta password e Password dimenticata. Sono tutti relativi al caso di accesso, quindi li colleghiamo al connettore.
Azioni dell'utente
Queste sono le azioni che vengono eseguite dall'utente in un sistema.
Per esempio: Ricerca sul posto, aggiunta di un elemento ai preferiti, tentativo di contatto, ecc.
Nota:
- Un sistema è 'qualunque cosa tu stia sviluppando'. Può essere un sito Web, un'app o qualsiasi altro componente software. È generalmente rappresentato da un rettangolo. Contiene casi d'uso. Gli utenti vengono posizionati all'esterno del 'rettangolo'.
- Casi d'uso sono generalmente rappresentati da forme ovali che specificano le azioni al suo interno.
- Attori / utenti sono le persone che usano il sistema. Ma a volte possono essere altri sistemi, persone o qualsiasi altra organizzazione.
Che cos'è il test dei casi d'uso?
Rientra nella tecnica di test Functional Black Box. Poiché si tratta di un test da scatola nera, non ci sarà alcuna ispezione dei codici. In questa sezione vengono riassunti diversi fatti interessanti su questo argomento.
Assicura se il percorso utilizzato dall'utente funziona come previsto o meno. Si assicura che l'utente possa eseguire correttamente l'attività.
Alcuni fatti
- Non è il test che viene eseguito per decidere la qualità del software.
- Anche se si tratta di un tipo di test end-to-end, non garantisce l'intera copertura dell'applicazione dell'utente.
- Sulla base del risultato del test noto dal test del caso d'uso non possiamo decidere la distribuzione dell'ambiente di produzione.
- Scoprirà i difetti nel test di integrazione.
Esempio di test del caso d'uso:
Considera uno scenario in cui un utente acquista un articolo da un sito di shopping online. L'utente accederà prima al sistema e inizierà a eseguire una ricerca. L'utente selezionerà uno o più articoli mostrati nei risultati di ricerca e li aggiungerà al carrello.
Dopo tutto questo, controllerà. Quindi questo è un esempio di serie di passaggi collegati logicamente che l'utente eseguirà in un sistema per eseguire l'attività.
Il flusso delle transazioni nell'intero sistema dall'inizio alla fine viene testato in questo test. I casi d'uso sono generalmente il percorso che è più probabile che gli utenti utilizzino per realizzare un'attività specifica.
Quindi, questo rende i casi d'uso facili da trovare i difetti in quanto include il percorso che è più probabile che gli utenti incontrino quando l'utente utilizza l'applicazione per la prima volta.
Passo 1: Il primo passo è la revisione dei documenti del caso d'uso.
Dobbiamo rivedere e assicurarci che i requisiti funzionali siano completi e corretti.
Passo 2: Dobbiamo assicurarci che i casi d'uso siano atomici.
Per esempio: Considera un 'Sistema di gestione della scuola con molte funzionalità come' Accesso ',' Mostra dettagli studente ',' Mostra voti ',' Mostra frequenza ',' Contatta il personale ',' Invia tariffe ', ecc. In questo caso, stiamo cercando di preparare i casi d'uso per la funzionalità 'Accesso'.
Dobbiamo assicurarci che nessuna delle normali esigenze del flusso di lavoro debba essere confusa con altre funzionalità. Deve essere totalmente correlato solo alla funzionalità 'Accedi'.
Passaggio 3: Dobbiamo ispezionare il normale flusso di lavoro nel sistema.
Dopo aver ispezionato il flusso di lavoro, dobbiamo assicurarci che sia completo. Sulla base della conoscenza del sistema o anche del dominio, possiamo scoprire i passaggi mancanti nel flusso di lavoro.
Passaggio 4: Assicurati che il flusso di lavoro alternativo nel sistema sia completo.
Passaggio 5: Dobbiamo assicurarci che ogni passaggio del caso d'uso sia verificabile.
Ogni passaggio spiegato nel test del caso d'uso è verificabile.
Per esempio, alcune transazioni con carta di credito nel sistema non sono verificabili per motivi di sicurezza.
Passaggio 6: Dopo aver ripristinato questi casi, possiamo scrivere i casi di test.
Dobbiamo scrivere casi di test per ogni flusso normale e flusso alternativo.
Per esempio , Considera il caso 'Mostra voti degli studenti', in un sistema di gestione scolastica.
Nome caso d'uso: Mostra voti studente
Attori: Studenti, insegnanti, genitori
Condizione preliminare:
1) Il sistema deve essere connesso alla rete.
Due) Gli attori devono avere un 'ID studente'.
Caso di utilizzo per 'Mostra voti studente':
Scenario principale | Numero di serie | Passi |
---|---|---|
A: attore / S: Sistema | 1 | Immettere il nome dello studente |
Due | Il sistema convalida il nome dello studente | |
3 | Inserisci l'ID studente | |
4 | Il sistema convalida l'ID studente | |
5 | Il sistema mostra i voti degli studenti | |
Estensioni | 3a | ID studente non valido S: mostra un messaggio di errore |
Scenario di test corrispondente per il caso 'Mostra voti studente':
Casi test | Passi | Risultato atteso |
---|---|---|
PER | Visualizza l'elenco dei voti degli studenti 1 -Flusso normale | |
1 | Immettere il nome dello studente | L'utente può inserire il nome dello studente |
Due | Inserisci l'ID studente | L'utente può inserire l'ID studente |
3 | Fare clic su Visualizza contrassegno | Il sistema visualizza i voti degli studenti |
B | Visualizza l'elenco dei voti dello studente 2-ID non valido | |
---|---|---|
1 | Ripetere i passaggi 1 e 2 di Visualizza elenco voti studente 1 | |
Due | Inserisci l'ID studente | Il sistema visualizza un messaggio di errore |
Si noti che la tabella dei casi di test mostrata qui contiene solo le informazioni di base. 'Come creare un modello di test case' è spiegato in dettaglio di seguito.
La tabella mostra il 'Test Case' corrispondente al caso 'Mostra voto dello studente' come mostrato sopra.
Il modo migliore per scrivere casi di test è scrivere prima gli scenari di test per 'lo scenario principale', quindi scriverli per 'Passaggi alternativi'. Il ' Passi ' nei casi di test sono ottenuti dai documenti dei casi d'uso. Il primo ' Passo' del caso 'Mostra voto studente', 'Inserisci nome studente' diventerà il primo Passo nel 'Test Case'.
L'utente / attore deve essere in grado di inserirlo. Questo diventa il file Risultato atteso .
Possiamo cercare l'aiuto di tecniche di progettazione di test come ' analisi del valore limite ' , 'Partizionamento di equivalenza' durante la preparazione dei casi di test. La tecnica di progettazione del test contribuirà a ridurre il numero di casi di test e quindi a ridurre il tempo impiegato per i test.
Come creare un modello di test case?
Quando stiamo preparando i casi di test, dobbiamo pensare e agire come l'utente finale, ovvero metterci nei panni di un utente finale.
Ci sono diversi strumenti disponibili sul mercato per aiutare in questo contesto. ' TestLodge 'è uno di questi, ma non è uno strumento gratuito. Dobbiamo acquistarlo.
Abbiamo bisogno di un modello per documentare il test case. Consideriamo uno scenario comune, 'accesso FLIPKART', che tutti conosciamo. Il foglio di lavoro di Google può essere utilizzato per creare la tabella dei casi di test e condividerla con i membri del team. Per il momento sto usando un documento Excel.
Ecco un esempio
=> SCARICA questo modello di tabella dei casi di test qui
Prima di tutto, nomina il foglio del caso di test con un Nome appropriato. Stiamo scrivendo casi di test per un particolare modulo in un progetto. Quindi, dobbiamo aggiungere il file 'Nome del progetto' e il 'Modulo progetto 'Colonne nella tabella dei casi di test. Il documento deve includere il nome del creatore dei casi di test.
Quindi aggiungi 'Creato da' e 'Data di Creazione' colonne. Il documento deve essere rivisto da qualcuno (Team leader, Project manager, ecc.), Quindi aggiungi 'Recensito da' colonna e 'Data revisione' .
La colonna successiva è 'Scenario di prova' , qui abbiamo fornito lo scenario di test di esempio 'Verifica accesso a Facebook' . Aggiungi le colonne 'ID scenario di prova' e 'Descrizione del caso di test' .
Per ogni scenario di test scriveremo 'Casi test '. Quindi, aggiungi le colonne 'ID caso di test' e 'Descrizione del test case '. Per ogni Scenario di prova, ci saranno 'Condizione post' e 'Pre-condizionamento' . Aggiungi le colonne 'Post-condition' e 'Pre-condition'.
Un'altra colonna importante è 'Dati di test' . Conterrà i dati che utilizziamo per i test. Uno scenario di test deve presupporre un risultato atteso e il risultato effettivo. Aggiungi la colonna 'Risultato atteso' e 'Risultato effettivo'. 'Stato' mostra il risultato dell'esecuzione dello scenario di test. Può essere superato / fallito.
I tester eseguiranno i casi di test. Dobbiamo includerlo come 'Eseguito da' e 'Data di esecuzione' . Aggiungeremo 'Comandi' se ce ne sono.
Conclusione
Spero che tu abbia un'idea chiara dei casi d'uso e dei test dei casi d'uso.
La scrittura di questi casi è un processo iterativo. Hai solo bisogno di poca pratica e una buona conoscenza di un sistema per scrivere questi casi.
In poche parole, possiamo utilizzare il 'test dei casi d'uso' in un'applicazione per trovare i collegamenti mancanti, i requisiti incompleti, ecc. Trovarli e modificare il sistema consentirà di ottenere efficienza e precisione per il sistema.
Hai precedenti esperienze con casi d'uso e test? Sentiti libero di condividere con noi nella sezione commenti qui sotto.
Lettura consigliata
- Test funzionale vs test non funzionale
- Tutorial approfonditi su Eclipse per principianti
- Alpha test e beta test (una guida completa)
- Tutorial sul test DevOps: in che modo DevOps influirà sui test di controllo qualità?
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Esercitazione sul test di usabilità: una guida introduttiva completa
- Esercitazione sul test della GUI: una guida completa al test dell'interfaccia utente (UI)
- Tutorial sui test distruttivi e non distruttivi