Trabajo en una empresa mediana (150 empleados, equipo de ingeniería de tamaño ~ 10), y la mayoría de mis proyectos involucran la interfaz con equipos de laboratorio (osciloscopios, analizadores de espectro óptico, etc.) con el fin de aplicaciones de prueba semiautomatizadas. Me he encontrado con algunos escenarios diferentes en los que no puedo solucionar problemas o probar el nuevo código de manera eficiente porque ya no tenía o nunca tuve la configuración de hardware disponible.
Ejemplo 1: Una configuración en la que se ejecutan 10-20 procesos de "quemado" de forma independiente utilizando un sensor de tipo de sobremesa. Pude obtener uno de esos sensores para probar y ocasionalmente pude robar un segundo para simular todas las facetas de la interfaz para múltiples dispositivos (búsqueda, conexión, transmisión, etc.).
Finalmente, apareció un error (y finalmente terminó en el firmware y los controladores del dispositivo) que era muy difícil de reproducir con precisión con solo una unidad, pero alcanzó niveles cercanos al "show stopper" cuando 10-20 de estos dispositivos estaban en uso simultáneamente. Esto aún no se ha resuelto y está en curso.
Ejemplo 2: Una prueba que requiere un costoso analizador de espectro óptico como componente central. El dispositivo es bastante antiguo, heredado según el fabricante que fue adquirido por una empresa más grande y básicamente se disolvió, y su única documentación fue un documento sin aliento (y poco informativo) que parece mal traducido. Durante el desarrollo inicial pude mantener el dispositivo en mi escritorio, pero ahora está atado, tanto físicamente como en el horario durante sus pruebas de varias semanas, las 24 horas, los 7 días de la semana.
Cuando aparecen errores relacionados o no relacionados con el dispositivo, a menudo necesito pasar por el problema de probar código externo a la aplicación y ajustarlo, o escribir código a ciegas e intentar exprimir un poco de tiempo de prueba entre ejecuciones, tanto La lógica del programa requiere que el OSA y el resto del hardware de prueba estén en su lugar.
Supongo que mi pregunta es ¿cómo debería abordar esto? Potencialmente podría pasar tiempo desarrollando simuladores de dispositivos, pero deducir que en la estimación de desarrollo aumentará más de lo que la mayoría probablemente apreciaría. Es posible que tampoco reproduzca con precisión todos los problemas, y es bastante raro ver el mismo equipo utilizado dos veces por aquí. Podría mejorar en las pruebas unitarias ... etc ... También podría hablar en voz alta sobre el tema y hacer que otros entiendan que se requerirán demoras temporales, no mucho más que un dolor de cabeza para Investigación y Desarrollo, pero generalmente se percibe como una broma cuando se lanzó a la fabricación.