Lavoro in un'azienda di medie dimensioni (150 dipendenti, team di progettazione di circa 10 dimensioni) e la maggior parte dei miei progetti prevede l'interfacciamento con apparecchiature di laboratorio (oscilloscopi, analizzatori di spettro ottici, ecc.) Ai fini di applicazioni di test semi-automatizzate. Mi sono imbattuto in alcuni scenari diversi in cui non sono in grado di risolvere i problemi o testare il nuovo codice in modo efficiente perché non ho più o non ho mai avuto la configurazione hardware disponibile per me.
Esempio 1: una configurazione in cui 10-20 processi di "burn-in" vengono eseguiti in modo indipendente utilizzando un sensore di tipo da banco: sono stato in grado di ottenere uno di questi sensori per i test e occasionalmente rubare un secondo per simulare tutte le sfaccettature dell'interfaccia per più dispositivi (ricerca, connessione, streaming, ecc.).
Alla fine è apparso un bug (e alla fine è finito nel firmware e nei driver del dispositivo) che è stato molto difficile da riprodurre accuratamente con una sola unità, ma ha colpito quasi i livelli di "show stopper" quando 10-20 di questi dispositivi erano in uso contemporaneamente. Questo è ancora irrisolto ed è in corso.
Esempio 2: test che richiede un costoso analizzatore di spettro ottico come componente principale. Il dispositivo è piuttosto vecchio, eredità secondo il produttore che è stato acquisito da una società più grande e sostanzialmente sciolto, e la sua unica documentazione era un documento prolisso (e non informativo) che sembra tradotto male. Durante lo sviluppo iniziale sono stato in grado di tenere il dispositivo sulla mia scrivania, ma ora è bloccato, sia fisicamente che nei tempi previsti durante i test di più di 24 settimane.
Quando i bug si presentano correlati o non correlati al dispositivo, spesso ho bisogno di superare il problema di testare il codice esterno all'applicazione e inserirlo, o scrivere codice alla cieca e tentare di spremere un po 'di tempo di test tra una corsa e l'altra la logica del programma richiede che OSA e il resto dell'hardware di test siano installati.
Immagino che la mia domanda sia: come dovrei affrontarlo? Potrei potenzialmente dedicare tempo allo sviluppo di simulatori di dispositivi, ma immaginando che nella stima di sviluppo ci riusciremo più di quanto probabilmente la maggior parte apprezzerebbe. Potrebbe anche non riprodurre accuratamente tutti i problemi ed è abbastanza raro vedere la stessa attrezzatura usata due volte qui. Potrei migliorare ai test unitari ... ecc ... Potrei anche essere forte sul problema e far capire agli altri che saranno necessari ritardi temporanei, non molto più di un mal di testa per la ricerca e lo sviluppo, ma di solito percepito come uno scherzo quando lanciato alla produzione.