Las pruebas de software realizadas en las primeras etapas validan el diseño
"Realizar pruebas de forma temprana y frecuente" es una estrategia de la ingeniería de software ágil que ha evolucionado hasta convertirse en una práctica fundamental para los desarrolladores de software en todos los ámbitos. Las pruebas de software tempranas son especialmente importantes para los desarrolladores que trabajan en aplicaciones multiplataforma, quienes deben dar soporte a dispositivos móviles con características físicas y funcionalidades del sistema operativo variables.
MobileTogether incluye funciones para integrar las pruebas de software en las primeras etapas del proceso de desarrollo, sin necesidad de ciclos de compilación, despliegue y depuración que consumen mucho tiempo para cada plataforma móvil. El sitio web de Altova describe la función de simulación [automated-testing-for-mobile-apps|MobileTogether Simulator para las pruebas de software en las primeras etapas, y hemos publicado artículos en nuestro blog sobre la posibilidad de grabar y repetir conjuntos específicos de acciones en [casos de prueba]].
Esta publicación describe la función "Prueba Preliminar en el Cliente". Está integrada en el programa MobileTogether Designer para permitir a los desarrolladores examinar al instante el diseño de las aplicaciones y validar la lógica y la funcionalidad en cualquier dispositivo móvil o plataforma compatible: Android, iOS, y Windows para escritorio o Windows Phone.

La fase de pruebas preliminares con el cliente es especialmente útil para las primeras pruebas de software de aplicaciones que:
- Utilice funciones móviles que no están disponibles en el programa Designer en la plataforma Windows, como el envío de mensajes SMS
- Utilice acciones que funcionen de manera ligeramente diferente según el sistema operativo, como "Mostrar geolocalización", que abrirá la aplicación de mapas predeterminada del dispositivo
- Es necesario realizar pruebas en un modelo de teléfono móvil completamente nuevo, cuyas dimensiones de pantalla podrían no coincidir con las de un dispositivo de previsualización utilizado por los diseñadores
Para la prueba inicial, los requisitos son muy básicos: el dispositivo móvil para la prueba debe tener instalada la aplicación MobileTogether Client, el dispositivo móvil y la estación de trabajo MobileTogether Designer deben estar conectados a la misma red, y la dirección de red de la estación de trabajo Designer debe estar configurada como un servidor MobileTogether en el dispositivo móvil.
Una vez que el dispositivo del cliente está listo, el desarrollador puede iniciar una prueba piloto desde el menú del proyecto en el entorno de diseño o desde la barra de herramientas, que es muy práctica

Analicemos una aplicación que se encuentra en desarrollo y que utiliza la funcionalidad GPS, en la cual el desarrollador eligió el iPhone 6 Plus como dispositivo de prueba.
La primera oportunidad para probar la aplicación es ejecutarla en el simulador MobileTogether, una función del programa MobileTogether Designer que está disponible en cualquier momento durante el desarrollo.
La ventana principal del simulador muestra la aplicación tal como aparecerá en el dispositivo de vista previa seleccionado. Los desarrolladores pueden cambiar la selección del dispositivo para ver la interfaz de usuario tal como se mostrará en una variedad de dispositivos iOS, Android, Windows y otros, o incluso cambiar entre los modos vertical y horizontal de forma instantánea.
El simulador también actualiza los cambios que se producen en la estructura de datos de las fuentes de la página a medida que la aplicación se ejecuta. La ventana de "Mensajes" en el entorno de diseño muestra un informe detallado y paso a paso de la actividad durante la ejecución, incluyendo los mensajes entre la aplicación cliente y el servidor. Los controles que requieren la interacción del usuario están habilitados durante la simulación.
Aquí se muestra una vista de la aplicación en funcionamiento dentro del simulador:

Inmediatamente surgen dos problemas: el simulador no muestra las coordenadas GPS reales. En cambio, utiliza un archivo de datos para simular el movimiento del dispositivo móvil y actualizar las coordenadas GPS. Además, el botón "Vista de mapa" en la aplicación abre los mapas de Bing en la estación de trabajo con Windows que ejecuta el programa de diseño, mientras que debería abrir los mapas de Apple, que son la aplicación de mapas predeterminada en un iPhone real.
Podemos utilizar la opción "Prueba en dispositivo" para ejecutar la aplicación en un dispositivo móvil real y así verificar el funcionamiento del GPS y validar el botón de "Vista de mapa". Para la primera prueba, utilizaremos un teléfono Android. Al hacer clic en el botón "Prueba en dispositivo", se abre una nueva ventana dentro del diseñador:

En este momento, la aplicación Designer también funciona como un servidor MobileTogether. La ventana de mensajes interna se abre cuando el dispositivo cliente inicia la aplicación.
El desarrollador hace clic en "Sí" en el cuadro de diálogo del diseñador para continuar, y la aplicación se ejecuta en el dispositivo del cliente. Inmediatamente, detectamos un problema inesperado. El tamaño predeterminado del texto es extremadamente pequeño:

Podríamos simplemente hacer clic en el botón "Abc+" para aumentar el tamaño del texto y exigir que los usuarios finales hagan lo mismo, pero esa sería una solución poco elegante y no muy intuitiva. Investigando más a fondo, podemos utilizar la ventana "Ejecución de prueba en el cliente" en el Diseñador para ver la estructura de datos de la aplicación mientras se ejecuta:

El elemento "textSize" en el árbol de datos persistentes contiene un valor que establece el tamaño de la fuente para las etiquetas de texto y los botones, expresado en píxeles absolutos. El valor fijo de 20 se eligió como predeterminado y parecía adecuado para el iPhone 6 Plus durante el diseño, pero no funciona correctamente en el dispositivo actual.
Podemos cambiar fácilmente el tamaño de fuente predeterminado, pasando de un valor fijo a una función basada en las dimensiones en píxeles para cada dispositivo de cliente diferente. Luego, podemos realizar inmediatamente una nueva prueba.
MobileTogether proporciona variables globales que permiten a los desarrolladores acceder a diversas características de cualquier dispositivo del usuario final mientras la aplicación se está ejecutando. La ventana de Variables Globales en el Diseñador muestra los valores para el dispositivo de vista previa seleccionado. Aquí hay una captura de pantalla de los valores para el iPhone 6 Plus:

En lugar de asignar un valor predeterminado de 20 píxeles para el elemento textSize, podemos crear una función basada en la variable global MT_DeviceHeight. Veinte dividido por 736 es aproximadamente el 2,7 por ciento, por lo que utilizaremos ese valor para crear una función XPath que establezca el tamaño inicial de la fuente textSize en función de cualquier dispositivo cliente:

Ahora podemos realizar otra prueba en el dispositivo del cliente, utilizando un teléfono Android, para verificar el resultado.

La ventana de "Vista previa" que se muestra arriba indica el nuevo valor predeterminado calculado para el tamaño del texto, y aquí hay una nueva captura de pantalla del teléfono:

El tamaño de texto predeterminado, calculado en función de la altura de la pantalla del dispositivo, es mucho más razonable y fácil de usar. Además, el tamaño del texto aún se puede ajustar con los botones "Abc-" y "Abc+", ya que estos simplemente restan o suman valor al elemento "textSize".
Ahora podemos volver a nuestro desafío original, que era validar el funcionamiento del botón de "Vista de mapa" en la aplicación. A continuación, se muestran capturas de pantalla de una página de la aplicación y la correspondiente "Vista de mapa" para un teléfono Android:

Y aquí están las mismas vistas, pero vistas desde un iPhone:

Las cuatro capturas de pantalla que se muestran arriba fueron tomadas durante una prueba en el entorno del cliente. La forma exacta en que se muestran los mapas en cada plataforma depende de las características y la configuración del usuario en cada aplicación de mapas. Por ejemplo, Google Maps en el teléfono Android incluye la función Street View, pero la aplicación Maps de Apple no.
Puede probar las primeras fases de las pruebas de software utilizando "Trial Run on Client", junto con todas las demás funciones de MobileTogether para desarrollar aplicaciones de alta calidad, mediante.. descargar el programa MobileTogether Designer, que se puede utilizar de forma gratuita, que incluye ayuda integrada, tutoriales y numerosos ejemplos.