2011-07-18 14 views
25

Dado que las pruebas de aplicación ahora se pueden ejecutar en el simulador de Xcode, ¿cuál sería la ventaja, aparte de un pequeño ahorro de tiempo de ejecución, de separar las pruebas en lógica y pruebas de aplicación?Pruebas de aplicación VS Pruebas lógicas

La diferenciación según el Apple docs:

  • pruebas lógicas. Estas pruebas verifican la funcionalidad correcta de su código en un ambiente de sala limpia; es decir, su código no se ejecuta dentro de una aplicación. Las pruebas lógicas le permiten armar casos de prueba muy específicos para ejercitar su código a un nivel muy granular (un único método en clase) o como parte de un flujo de trabajo (varios métodos en una o más clases). Puede usar pruebas lógicas para realizar pruebas de estrés de su código para asegurarse de que se comporte correctamente en situaciones extremas que son poco probables en una aplicación en ejecución. Estas pruebas lo ayudan a producir código robusto que funciona correctamente cuando se usa de formas que no anticipó. Las pruebas lógicas están basadas en iOS Simulator SDK; sin embargo, la aplicación no se ejecuta en iOS Simulator: el código que se prueba se ejecuta durante la fase de compilación del objetivo correspondiente.

  • Pruebas de aplicación. Estas pruebas verifican la funcionalidad de su código en una aplicación en ejecución. Puede usar pruebas de aplicación para asegurarse de que las conexiones de sus controles de interfaz de usuario (tomas de corriente y acciones) permanezcan en su lugar, y de que sus controles y objetos de controlador funcionen correctamente con su modelo de objetos a medida que trabaja en su aplicación. Debido a que las pruebas de la aplicación solo se ejecutan en un dispositivo, también puede usar estas pruebas para realizar pruebas de hardware, como obtener la ubicación del dispositivo.

+0

Esta pregunta puede ser irrelevante ya que ese enlace está muerto. Eche un vistazo a http://stackoverflow.com/q/41404613/62 para más información. –

Respuesta

4

Pruebas de aplicación en comparación con las pruebas lógicas se utilizan realmente para dos cosas diferentes:

pruebas lógicas pruebas/unidad se usan para probar el comportamiento muy pequeña para uno o unos pocos métodos, por ejemplo, "Dado que creo mi objeto de esta manera, ¿el valor de cierta propiedad es lo que espero que sea?"

Las pruebas de aplicación se utilizan para probar la imagen completa, p. "¿Obtengo los datos correctos en mi vista de detalles cuando toco en una determinada celda de vista de tabla?"

+1

Claro, esto es cierto, pero ¿qué ganaría al separar estas pruebas en diferentes archivos de prueba/paquetes? – nduplessis

+0

Simplemente estamos hablando de lo mismo. Me refiero principalmente a las pruebas de UIAutomation en instrumentos cuando hablo sobre pruebas de aplicaciones y pruebas unitarias en Xcode (OCUnit o similar) cuando hablo sobre pruebas lógicas. –

+0

Bueno ... es más fácil escribir pruebas pequeñas y detalladas como pruebas lógicas, ya que está más cerca del código y de un código objetivo de escritura-c, aunque podría hacer algunas de ellas como pruebas de aplicación. Lo mismo es cierto al revés. Se trata de usar la herramienta adecuada para la tarea en cuestión. –

Cuestiones relacionadas