Sembra un lavoro per i test di loopback. A rigor di termini, i test di loopback potrebbero sembrare test di integrazione tanto quanto fare test di unità, anche se l'obiettivo principale è testare solo il supporto di una particolare periferica per configurazione, input e output.
Per il dispositivo audio, forse puoi fare quanto segue:
- Collega un loop fisico di output all'immissione.
- Configura i guadagni, le frequenze di campionamento, ecc. secondo necessità per assicurare copertura funzionale e del codice.
- Riproduce un file di dati A e lo riprende come B.
- Confronta A e B in un modo adeguato per determinare il pass / fail.
- Ripeti con più set di dati per coprire casi di test validi e non validi.
Approcci simili sono possibili con loopback video e di rete.
Alcuni suggerimenti aggiuntivi:
- L'uso di compressione o rumore con perdita potrebbe limitare la tua capacità di confrontare i file di acquisizione.
- L'uso di input semplificati come i toni dei generatori di frequenza o video dalle barre dei colori generate potrebbe funzionare meglio di una traccia della tua rock band preferita e una clip da un film d'azione.
- Si potrebbe voler giocare con il guadagno o eseguire i campioni attraverso una FFT e confrontare le uscite della FFT.
- Se confrontare i contenuti diventa troppo difficile, controllarne la durata o verificarli a occhio o occhio potrebbe essere un modo per ottenere il risultato senza fare codice di test più complicato del codice di produzione.
Buona fortuna. Spero che questa risposta aiuti.