Dove si inserisce il codice del dispositivo di prova?

3

Questa è una domanda insolita, dal momento che non credo si presti alle tipiche pratiche di sviluppo del software, ma spero che tu possa dimostrarmi sbagliato.

In MATLAB, il mio team ha creato diversi componenti per l'elaborazione del segnale, in cui i dati vanno da una parte e dall'altra emergono dati diversi. Ciò che ciascuno dei componenti non è importante in questa fase. Ciò che importa è che il tipico schema di test adottato dal mio team è che scrivono uno script che genera i dati di input (ciascuno di circa 40 MB di dimensione), quindi eseguono ciascun file di test tramite il componente applicabile (con script). Il modo in cui determinano che il loro componente supera il test o no è una procedura completa di elaborazione dei segnali per me, ma lascia supporre che sia corretto.

In genere, i dati di test vengono generati una sola volta e impiegano circa mezza giornata per farlo. Il test può portare fino a un giorno intero per l'esecuzione.

Provenendo da più di uno sfondo di sviluppo di applicazioni, e avendo il compito di integrare ciascun componente in una cosiddetta "catena di riferimento", ho bisogno di provare e standardizzare i test e renderlo infallibile. Una cosa che volevo che facessero è usare il framework di test unitario in cui inserire i loro test. Il framework di test delle unità in MATLAB è, ai fini di questa domanda, proprio come JUnit.

La mia domanda è dove sono gli script che generano i dati di test, e i dati di test stessi si adattano all'ecosistema di test. Ovviamente i dati del test sono una fixture e possono essere trattati come tali, ma sono un po 'nervoso su dove gli script che generano i dati del test si adattano.

Gradirei anche eventuali critiche all'approccio di test del mio team.

    
posta Sam Delaney 05.01.2015 - 23:30
fonte

1 risposta

1

In primo luogo, penso che sia bello affermare ciò che è importante. Ho familiarità con i tipi di sistemi di "integrazione continua", quindi penso che 1) Controllo di tutto il necessario per la creazione, 2) Costruzione da un sistema remoto in modo automatico per dimostrare il numero 1 e 3) Test in modo automatico - sono tutti importanti. Se hai valori diversi, potresti arrivare a conclusioni molto diverse.

Sulla base di questi valori, vedo i dati del test come un obiettivo di compilazione dedicato, insieme a uno per la creazione del codice MATLAB e un obiettivo "generale" per la costruzione di entrambi e l'esecuzione del test. Ciò non significa che i dati di test debbano essere rigenerati ogni volta - qualcosa come "make" può essere più adatto per questo tipo di controllo. Poiché i test stessi richiedono un giorno di esecuzione, il colpo iniziale di mezza giornata per generare i dati potrebbe non essere nemmeno così negativo rispetto al quadro generale. E, naturalmente, se necessario, i dati del test stesso possono essere archiviati come artefatto di build, ma potresti voler costruire da zero ogni volta che fai un rilascio.

    
risposta data 09.01.2015 - 03:51
fonte

Leggi altre domande sui tag