Quiero escribir una aplicación que pueda usarse para grabar CD (música). Sé que debería probarlo con CD reales de todos modos, pero no quiero hacer esto cada vez que haga un pequeño cambio. Pero sí quiero saber y probar si se grabarán los datos correctos, para que no se dañen los CD.
Estoy usando una biblioteca que solo expone las API para grabar directamente en una unidad física; no le permite escribir en una imagen de disco (lo que sería mucho más fácil de probar).
¿Cómo podría probar esto sin perder CD y tiempo por cada cambio / pocos cambios que realice?
Respuestas:
La respuesta simple es a menudo la mejor: ¿CD regrabables?
También para ahorrar tiempo, escriba archivos relativamente pequeños. Solo haga archivos más grandes de vez en cuando.
fuente
Si está en Linux, debería poder configurar un "dispositivo de CD" que sea solo una tubería con nombre. Su API escribe en el "dispositivo" y conecta el otro extremo a un programa que le permite ver lo que hace / convertirlo en una imagen de disco. Muchas opciones allí. Consulte este artículo para obtener información sobre las tuberías con nombre.
La respuesta de Kevin es mucho más fácil en mi opinión.
fuente
Escriba tantas pruebas como sea posible que utilicen un simulacro de la API de la biblioteca. Esto le permite probar su código en unidades. Esto muestra que su código funciona dentro de sí mismo suponiendo que la biblioteca funcione de la manera en que se supone que debe hacerlo.
En algún momento, deberá realizar pruebas de integración que realmente utilicen la biblioteca. Pero el punto es que ya tiene un nivel de confianza con su propio código antes de llegar a este punto. Las pruebas de integración a menudo requieren más tiempo y recursos, como has visto. Por lo tanto, las pruebas unitarias exhaustivas le permiten no confiar completamente en las pruebas de integración.
fuente
¿De qué pruebas estás hablando exactamente?
Leyendo "No quiero hacer esto cada vez que hago un pequeño cambio" en tu pregunta, imagino que estás hablando de pruebas unitarias .
Pero más tarde, agrega que está utilizando una API que se encarga de grabar datos en CD. Si esta API se prueba y documenta correctamente, no tiene que lidiar con el proceso real de grabación de los datos en el CD, y no tiene que probarlo. En este caso, debe lidiar con las pruebas de integración , que no tiene que hacer "cada vez que [realiza] un pequeño cambio" .
fuente
WTP,
Como desea probar su software (no la API, ni la grabadora), como señaló Chris, sería necesaria una simulación de la API.
Para las pruebas de integración, un grabador confiable "ISO" debería permitirle automatizar las pruebas del contenido del CD mediante el análisis del archivo .iso.
En realidad, grabar un CD o DVD no arrojaría resultados concluyentes, ya que no podría determinar si la causa del error es un CD defectuoso, una grabadora defectuosa o un error de software, a menos que desee realizar estadísticas de calidad grabando varias copias de el mismo disco (que aparentemente no tienes).
¡Buena suerte!
fuente