Come utilizzare gli elenchi nel partizionamento dell'equivalenza?

0

Ho letto che il partizionamento dell'equivalenza può essere usato tipicamente per intervalli o elenchi, ad es. Presumo che possa essere usato per ogni insieme di input. Ad ogni modo se il requisito dice che i colori consentiti sono (ROSSO, BLU, NERO, VERDE), non posso trattarli come una lista, giusto? Voglio dire, testare uno di loro non sarebbe sufficiente perché gli sviluppatori hanno probabilmente usato alcuni switch case e quindi non è un vero "set" in cui uno potrebbe rappresentare anche gli altri. Quindi come si intende con le liste?

Inoltre, ciò che non è chiaro per me, non penso sia sempre possibile fare il partioning iniziale e quindi progettare i casi di test.
   Che dire del controllo dell'intersezione di due linee: Y = MX + C. (due ingressi)

1) Le linee sono parallele. M1 = M1 ma C1 deve essere diverso da C2.
2) Le linee si intersecano. M1 deve essere diverso da M2.
3) coincidente. Sono uguali

Come posso usare il partizionamento qui? Questo in realtà è tratto da un libro e dice che questi set sono eq.classes.

    
posta KhDonen 21.04.2013 - 12:19
fonte

2 risposte

1

How can I use partitioning here? THis is actually taken from a book and it says that these sets are eq.classes.

Suppongo che la relazione di equivalenza che stai considerando sia definita in termini del flusso del programma come segue:

Given a program, we say that input data A and B are equivalent if the processing of A and B yields the same workflow in your program.

Lo stesso flusso di lavoro significa che verranno chiamate le stesse procedure e le stesse decisioni saranno prese nello stesso ordine. (Molto probabilmente, noi potrebbe esprimere questo dicendo che le sequenze di indirizzi che il visita puntatore di istruzioni durante l'elaborazione di A è d'accordo con sequenze risultanti dall'elaborazione di B .)

Per utilizzare il parsing, prendi in considerazione tutte le decisioni prese dal codice che analizzi e li usi per trovare le classi di equivalenza. Una volta tu avere queste classi, scegliere qualsiasi dato in ogni classe, questo produce un sistema di rappresentanti - e utilizzare questo sistema di rappresentanti per testare il tuo codice.

    
risposta data 06.01.2014 - 11:53
fonte
0

Il partizionamento delle equivalenze raggruppa praticamente gli elementi della lista in modo che il colore scelto sia raggruppato in un gruppo:

RED, rosso, rosso, blu, azzurro, blu, azzurro, nero, verde

Se scegli BLU, il partizionamento dell'equivalenza in pratica raggruppa gli elementi BLU:

RED, rosso, rosso, (BLU, BLU, BLU, BLU), nero, verde

Questo può essere rappresentato come sequenza booleana:

falso, falso, falso, vero, vero, vero, vero, falso, falso

Ora ritorno all'intersezione della linea. Se y = mx + c due volte, allora ci sono due coppie (x1, y1) e (x2, y2) in modo che siano lo stesso elemento, cioè x1 = x2, y1 = y2.

Ogni riga ha un numero elevato di coppie (x, y) che non si trovano nell'intersezione, quindi ti aspetteresti il seguente schema:

false, false, false, false, ..., false, true, false, false, false, ...

C'è solo un valore vero nell'intera sequenza continua di coppie (x, y).

    
risposta data 21.04.2013 - 14:32
fonte

Leggi altre domande sui tag