Test case design: per tutti i test positivi esistono anche quelli negativi?

1

C'è un'ambiguità in tutti i documenti che ho letto, quindi vorrei chiedere del seguente requisito:

Requisito: essendo un Game master, posso accedere al menu GM digitando "menuInvoke".

Cercando di farlo come un giocatore abituale - è che un test negativo o ancora positivo in termini di verifica del requisito? Perché alcuni autori dicono che test negativo significa gestire input non noti alle specifiche, il che sarebbe non è questo il caso in cui le specifiche dicono che è necessario essere un maestro di gioco, implicando che non è consentito per gli altri. Tuttavia, se la pensi così, è sempre implicito: l'intervallo 1-1000 implica che non è possibile inserire nient'altro, tuttavia lo testiamo come test negativo.

Un esempio di ambiguità: Sistema di login Alcuni dicono che fornire una password errata per ricevere l'errore di Login è un test negativo, ma sono d'accordo con gli altri - è un semplice test positivo in quanto il requisito specifica che solo un utente con password valida può accedere.

    
posta John V 24.03.2013 - 10:39
fonte

2 risposte

4

Guarda il tuo SUT come una funzione che mappa i valori da un insieme D ai valori di un insieme V . Poiché questi valori possono essere anche tupels, questa vista è valida per qualsiasi funzione.

Se inserisci valori da D nella tua funzione e verifichi il risultato, è un test positivo. Può avere successo (ottenendo il valore appropriato da V ) o fallire (in qualsiasi altro caso).

Se inserisci un valore, che non proviene da D , nella tua funzione e verifichi il risultato, è un test negativo. Potrebbe riuscire (ottenendo un messaggio di errore) o fallire (in qualsiasi altro caso).

Con queste definizioni (vedi Shivprasad Koirala. Sham Sheikh: domande di interviste sui test del software ), è possibile costruire un caso, in cui è possibile inserire ogni possibile input. Pensa a una funzione booleana che determina se l'input è un numero intero o meno. Quindi, la risposta alla domanda " Fai per tutti i test positivi esistono anche quelli negativi? " è chiaramente: No .

Per i tuoi requisiti di esempio, la funzione è probabilmente

f: UserType X Command -> Action

In questo caso, entrambi ('GameMaster', 'menuInvoke') e ('RegularPlayer', 'menuInvoke') sono input validi, quindi entrambi i test case sono test positivi.

D'altra parte, potrebbe essere definito come

f: 'GameMaster' X Command -> Action

In questo caso, la tupel ('RegularPlayer', 'menuInvoke') non è un input valido e testare questo caso sarebbe un test negativo.

Poiché la tua richiesta non contiene le informazioni necessarie per determinare il tipo di funzione, non esiste una risposta generale alla domanda riguardante questo requisito. Questa ambiguità può essere la ragione, perché gli esempi in letteratura sono così semplici o contraddittori.

    
risposta data 31.03.2013 - 19:34
fonte
-1

Test positivo: per testare il flusso positivo o il flusso felice dell'applicazione. Qui l'intenzione dell'utente è di navigare alla schermata sunsequesnt o alla funzionalità senza dover affrontare alcun messaggio di errore. Test negativo: per testare la gestione dei dati non validi, verifica dei messaggi di errore.

    
risposta data 07.08.2013 - 12:11
fonte

Leggi altre domande sui tag