come posso generare test automatici?

-1

nella mia situazione ho troppi parametri (1000 parametri o più ...) il numero dei parametri può cambiare. ogni parametro contiene un numero definito di valori. Il problema è che la combinazione di tutti i valori dei parametri è troppo lunga che rende impossibile coprire tutti i casi di test, quindi c'è una soluzione per generare un test automatico che copra tutti i parametri?

    
posta Ilyasse 18.03.2017 - 00:50
fonte

3 risposte

3

Spesso, l'effetto di un valore di parametro è "monotono", nel senso che i valori sono ordinati in qualche modo, e ogni volta che un test riesce per due valori diversi, sappiamo che avrà successo per tutti i valori nel mezzo.

Questo può essere usato per limitare il numero di valori da provare. Invece di provare un valore di 1000 valori diversi, puoi provare testando circa 20. Questo è apparentemente noto come boundary scanning o boundary value analysis in letteratura.

Ma è utile solo per ridurre il numero di valori diversi per provare un determinato parametro. Il tuo problema è il numero di diversi parametri. Anche con solo 2 valori diversi per ogni parametro, ci sono 2 combinazioni 1000 da provare. Dovresti identificare e sfruttare le "monotonicità" di ordine superiore nello spazio valore dei parametri a 1000 dimensioni per ridurlo. Se questo è possibile dipende da cosa significano i parametri.

    
risposta data 18.03.2017 - 01:44
fonte
0

Non un test, ma prove informali o formali copriranno tutti i possibili valori dei parametri. In genere per ridurre l'onere delle prove o dei test, limitiamo sia il numero di parametri che l'intervallo di valori possibili per tali parametri. Questo riduce lo spazio degli stati del programma.

    
risposta data 18.03.2017 - 01:18
fonte
0

Esistono numerosi framework di test che generano casi di test. Questo video Computerphile ne dimostra chiaramente uno in azione . L'idea è che una macchina può generare più casi di test di qualsiasi altra persona, e quindi testare più a fondo il codice. Invece di ottenere la copertura completa della filiale, puoi ottenere una copertura completa dell'input.

Naturalmente, questi strumenti tendono ad essere orientati verso linguaggi funzionali, quindi potresti avere difficoltà a trovarne uno buono per la tua lingua.

    
risposta data 18.03.2017 - 03:35
fonte

Leggi altre domande sui tag