¿Cuáles son las consideraciones importantes al hacer las pruebas de backend?

StackOverflow https://stackoverflow.com/questions/1415531

  •  06-07-2019
  •  | 
  •  

Pregunta

Quería saber cuáles son las consideraciones importantes a tener en cuenta al realizar las pruebas de backend.

Mi proyecto no tiene GUI, básicamente todo es trabajo relacionado con Backend Complete Server Side está en Java y estamos utilizando Oracle Db.

Realmente agradecería que todos ustedes puedan compartir algunos consejos de expertos sobre cuáles son las consideraciones a tener en cuenta al probar Backend Testing.

¿Fue útil?

Solución

Dado que su pregunta es muy general, también debe ser mi respuesta. Aquí hay algunas cosas a tener en cuenta:

  • Debe poder volver a un punto de partida constante para cada ejecución de prueba. Cree una instantánea de la base de datos y tenga un mecanismo para restaurar la base de datos de esa instantánea antes de cada ejecución.
  • Su instantánea debe ser representativa de la base de datos de producción. Como es posible que no desee copiar datos de producción reales por razones de privacidad y seguridad, esto probablemente significa tener un medio para generar los datos (y volver a generarlos cuando haya cambios, por ejemplo, cambios de esquema).
  • Para las pruebas de regresión, debe tener pruebas unitarias para todos los casos de uso comunes y, con suerte, muchos de los poco comunes. JUnit es probablemente un buen marco para esto.
  • Considere incluir una herramienta de cobertura de código para ver cuánto de su persistencia la capa es tocada por sus pruebas unitarias. La cobertura del 100% del código no significa que ejerza todas las rutas de decisión, pero al menos le da una idea de cuánto cubren sus pruebas.
  • Debe probar tanto el rendimiento (¿las inserciones y las selecciones ocurren lo suficientemente rápido para un solo usuario?) como la concurrencia (¿varios usuarios, más de lo que espera en producción, acceden a las mismas tablas para leer, insertar / actualizar? causar problemas de rendimiento o puntos muertos? Si hay puntos muertos, ¿se están resolviendo correctamente?)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top