Tutti i progetti su cui lavoro si interfacciano con un componente hardware e questo è spesso lo scopo principale del software. Esistono modi efficaci per applicare TDD al codice che funziona con l'hardware?Come fare TDD con l'hardware
Aggiornamento: Mi dispiace per non essere più chiaro con la mia domanda.
L'hardware che utilizzo è un frame grabber che cattura le immagini da una telecamera. Elaborare quindi queste immagini, visualizzarle e salvarle sul disco. Posso simulare tutte le elaborazioni che avvengono dopo che le immagini sono state acquisite utilizzando immagini precedentemente acquisite che sono memorizzate su disco.
Ma è l'effettiva interazione con l'hardware che voglio testare. Ad esempio, il mio software fa fronte correttamente quando non c'è una telecamera collegata, inizia correttamente e smette di afferrare ecc. Ma questo è così legato all'hardware che non so come testarlo quando l'hardware non è presente o se dovessi anche provare a farlo?
2 ° Aggiornamento: Sto anche cercando alcuni esempi concreti di come le persone hanno affrontato questa situazione.
La tua domanda riguarda solo la verifica del codice che si interfaccia con l'hardware o anche di testare l'hardware in questo modo? – OregonGhost
Entrambi credo, ma il mio codice che interagisce con l'hardware è piuttosto sottile. Fa semplicemente chiamate nella libreria di terze parti che controlla effettivamente l'hardware. –
Il vero nodo di questo problema è che se l'hardware in questione poteva essere completamente descritto nel software, non sarebbe necessario l'hardware. : P – meawoppl