2011-03-22 22 views
13

Normalmente encuentro que casi todos mis casos de prueba más importantes para el desarrollo de iPhone giran en torno a las pruebas de IU en lugar de la lógica comercial o las pruebas de datos. No estoy muy familiarizado con las pruebas de IU automáticas en el entorno XCode. ¿Alguien puede indicarme un buen tutorial o libro?¿Existe un buen tutorial sobre las pruebas automáticas de interfaz de usuario de cacao táctil?

ACTUALIZACIÓN
Esta pregunta fue escrito hace varios años y las pruebas de la interfaz de usuario ha recorrido un largo camino desde entonces. El uso de la UI Automation sigue siendo una opción, pero el KIF Framework es una solución mucho mejor para pruebas funcionales ahora, IMO.

Desde la página de GitHub KIF:

KIF, lo que significa Keep It funcional, es una prueba de integración marco IOS. Permite una fácil automatización de las aplicaciones de iOS al aprovechar los atributos de accesibilidad que el sistema operativo pone a disposición de quienes tienen discapacidades visuales .

KIF crea y realiza las pruebas utilizando un objetivo estándar de prueba XCTest . Las pruebas se realizan de forma síncrona en el hilo principal (ejecutando el ciclo de ejecución para forzar el paso del tiempo), permitiendo una lógica y composición más complejas de . Esto también permite que KIF aproveche el Xcode 5 Test Navigator, las herramientas de compilación de línea de comando y los informes de prueba de Bot .

Respuesta

19

Su mejor opción será utilizar el instrumento de UI Automation que debutó con IOS 4.0. Esto se puede programar para probar muchos aspectos de su interfaz de usuario.

Apple proporciona una excelente introducción a esta herramienta en el video de la sesión WWDC 2010 306 - "Automatización de la prueba de interfaz de usuario con instrumentos". Demuestro cómo configurar scripts y realizar pruebas en el video para la sesión "Prueba" de mi curso avanzado de desarrollo iOS on iTunes U. Mis notas sobre la automatización de la interfaz de usuario de esa clase, incluidos los scripts de ejemplo, se pueden encontrar en here.

Además, es posible que desee consultar el artículo de James Turner "How to use UIAutomation to create iPhone UI tests" y "Working with UIAutomation" de Alex Vollmer.

+0

Eso está muy bien. ¡Gracias! – memmons

2

¿Qué estás tratando de probar realmente? Acepto que la interacción de prueba de vista es importante, pero descubro que normalmente puedo construir una unidad o prueba de integración que prueba la vista o la vista y su controlador para validar este comportamiento sin intentar conducir toda la aplicación a través de la interfaz de usuario.

Por ejemplo, http://blog.carbonfive.com/2010/03/10/testing-view-controllers/ tiene ejemplos de pruebas que prueban que las vistas UIKit están vinculadas a IBActions o tienen delegados apropiados y que un controlador responde apropiadamente a esa acción o delega mensajes. No es necesario manejar un UIButton o UITableView ya que estoy dispuesto a confiar en que esas clases realmente funcionan y en su lugar solo necesitan probar mi uso y configuración de las mismas.

Para los componentes de vista personalizada puede enviar mensajes UIResponder directamente en sus pruebas y afirmar que se comportan como se espera, de nuevo sin conducir toda la interfaz de usuario.

¿Puede proporcionar un ejemplo del tipo de comportamiento que desea probar?

Cuestiones relacionadas