La importancia de realizar pruebas en el desarrollo de interfaces multiplataforma
Cuando realizamos un desarrollo de una interfaz, lo más conveniente y con el fin de darle la máxima expansión, es que realicemos un desarrollo multiplataforma. ¿Quieres conocer este tema en profundidad? ¡La FP Oficial de Desarrollo de Aplicaciones Multiplataforma te hará todo un experto!
El objetivo es llegar al máximo de usuarios posibles y distintos usuarios pueden usar diferentes plataformas como puede ser Windows, iOS, Android, etc.…
Para el desarrollo de una interfaz multiplataforma existen diferentes opciones de desarrollo como hemos visto en algún post anterior. Cualquiera de las opciones es válida pero independientemente de la opción escogida, hay un aspecto que debe cuidarse mucho antes de dar por finalizada la interfaz y ponerla en producción: las pruebas.
En el post de hoy veremos porque son importantes realizar baterías de pruebas exhaustivas en este tipo de desarrollos.
Opciones de programación multiplataforma
Antes de entender la importancia de realizar pruebas, recordemos las tres estrategias que tenemos hoy en día para realizar estos desarrollos.Desarrollo de
Estamos hablando de tres estrategias distintas:
- Desarrollo de WebApps con HTML5: Esta es posiblemente la estrategia más recomendada y fácil ya que mediante las API de HTML5, JavaScript y CSS podemos casi garantizar que nuestro desarrollo va a funcionar sobre cualquier dispositivo que disponga de un navegador web basado en WebKit
- Desarrollo de interfaces híbridas: Las interfaces híbridas son aplicaciones HTML5, JavaScript y CSS que encapsulamos en una aplicación nativa. La diferencia con las aplicaciones HTML5 vistas anteriormente es que en vez de ejecutarse en el navegador del dispositivo lo hacen en un componente nativo WebView
- Desarrollo de interfaces compiladas: Entendemos como interfaces compiladas aquellas que han sido desarrolladas con un entorno de desarrollo capaz de generar código nativo a partir de código escrito en lenguajes como JavaScript, C#, Python, etc.
La importancia de la realización de pruebas
Uno de los errores que podemos cometer fácilmente cuando realizamos un desarrollo multiplataforma, es pensar que, si usamos una de las técnicas mencionadas y desarrollamos sobre una plataforma, que luego bastará con portar dicha aplicación a otra plataforma de forma directa.
Esto es un error y solo en contadas ocasiones, y dependiendo de la estrategia de desarrollo escogida puede funcionar sin mayores problemas.
Lo más probable que ocurra es que la interfaz que hemos desarrollado con todo lujo de detalles sobre una plataforma, al pasarlo a otra plataforma ya no tenga un aspecto tan atractivo o bien no funcione de forma adecuada y pueda llegar a despistar a los usuarios.
Esto es debido a que un determinado control en una plataforma puede tener una funcionalidad determinada y una forma de interactuar con él, mientras que esa manera de trabajar en otra plataforma no sea la habitual.
Si ocurre esto, habremos arruinado nuestro desarrollo y lo más probable es que no nos demos cuenta de este problema si no hemos realizado el juego de pruebas necesario sobre las distintas plataformas.
En todo proceso de desarrollo existe una fase de pruebas que pueden automatizarse con herramientas específicas para ello y complementarlas con pruebas de usuario. Todo ese conjunto de pruebas en los entornos de desarrollo multiplataforma debe adaptarse y realizarse para las distintas plataformas que queramos soportar.
Una vez superadas las pruebas en un entorno, debemos plantearnos que, en otro entorno distinto, seguramente deberemos realizar adaptaciones al desarrollo para ajustarlo a lo que queremos, ya sea funcional o visualmente.
Cada entorno puede tener librerías específicas de desarrollo con controles adaptados a la plataforma por lo que sería muy aventurado pensar que lo que funciona en un entorno funcionará igual en otro habiendo usado alguna de las técnicas de desarrollo multiplataforma.
Una vez visto los problemas que podemos tener, hay que tener claro como actuar en este tipo de desarrollos:
- Tendremos una fase de diseño importante en la que definiremos la funcionalidad de nuestro desarrollo y como debe ser la interfaz. Es importante dedicar el tiempo suficiente.
- Una vez cerrado el diseño, pasaremos al desarrollo o construcción sobre la plataforma que deseemos.
- Cerraremos el desarrollo con un plan de pruebas exhaustivo para dicha plataforma, dejando listo el desarrollo para su puesta en producción.
- Realizaremos el mismo plan de pruebas sobre otra plataforma con el fin de identificar diferencias y poder ir ajustando el desarrollo en la nueva plataforma y obtener el mismo resultado que en la primera.
- Realizaremos esta misma iteración para cada una de las plataformas que queramos soportar.
Desgraciadamente, al final no tendremos un único desarrollo para varias plataformas, sino que varios desarrollos muy similares con ajustes si lo que queremos es tener el mismo aspecto, o casi, y la misma funcionalidad para cada una de las plataformas.
Espero que con el post de hoy seamos más conscientes de realizar pruebas exhaustivas y sobre todo de usuario de las interfaces multiplataforma que desarrollemos con el fin de garantizar una homogeneidad de nuestro producto en diversos entornos.