Como fase final en el proceso de de­sa­rro­llo de una apli­ca­ción, el app testing re­pre­se­n­ta la opo­r­tu­ni­dad de evaluar su co­m­po­r­ta­mie­n­to y su madurez. En este estadio se examina la apli­ca­ción en lo referente a sus aptitudes fu­n­cio­na­les y a su usa­bi­li­dad, así como se comprueba su co­m­pa­ti­bi­li­dad con di­fe­re­n­tes di­s­po­si­ti­vos y sistemas ope­ra­ti­vos. Una vez de­sa­rro­lla­da té­c­ni­ca­me­n­te y fijado el diseño final, lo más normal es querer publicar la apli­ca­ción cuanto antes. Sin embargo, lo más oportuno sería examinar la idoneidad de la apli­ca­ción en di­fe­re­n­tes ámbitos. Los métodos más uti­li­za­dos para ello son los tests de usa­bi­li­dad, de re­n­di­mie­n­to y de co­m­pa­ti­bi­li­dad, pro­ce­di­mie­n­tos incluidos dentro del de­no­mi­na­do testing de apli­ca­cio­nes móviles o, se­n­ci­lla­me­n­te, app testing, y para el cual se disponen de diversas he­rra­mie­n­tas que pre­se­n­ta­mos más abajo.

App testing: la hora de la verdad

El éxito final de una apli­ca­ción depende no poco de los co­n­te­ni­dos que ofrece y de una buena co­me­r­cia­li­za­ción, pero aún más de un fu­n­cio­na­mie­n­to impecable y de un diseño amigable. Esto hace que las pruebas previas a su la­n­za­mie­n­to sean im­pre­s­ci­n­di­bles, in­de­pe­n­die­n­te­me­n­te de que se trate de una apli­ca­ción móvil o para es­cri­to­rio, aunque en el caso de las primeras se ha de contar con un factor extra de gran peso como es la ada­p­ta­ción a los di­fe­re­n­tes te­r­mi­na­les, aspecto mucho más complejo en las apli­ca­cio­nes móviles que en otro tipo de software.

En los albores del de­sa­rro­llo de apli­ca­cio­nes, ajustar la apli­ca­ción a las di­fe­re­n­tes pantallas no co­m­po­r­ta­ba tanta di­fi­cu­l­tad porque aún no existía tanta di­ve­r­si­dad, pero en­tre­ta­n­to la variedad de te­r­mi­na­les móviles y de pre­s­ta­cio­nes ha crecido ex­po­ne­n­cia­l­me­n­te, de tal forma que cada modelo de sma­r­t­pho­ne o de tablet cuenta con un hardware co­m­ple­ta­me­n­te diferente. En pa­r­ti­cu­lar, co­m­po­ne­n­tes como el pro­ce­sa­dor (unidad de CPU), la memoria RAM, el tamaño de la pantalla o su re­so­lu­ción son decisivos a la hora de ejecutar una apli­ca­ción.

También el software del di­s­po­si­ti­vo tiene un papel im­po­r­ta­n­te. En este caso son, en primera instancia, los distintos sistemas ope­ra­ti­vos de una pla­ta­fo­r­ma los que influyen en el fu­n­cio­na­mie­n­to de la apli­ca­ción. Aquellos sistemas más antiguos pueden di­fi­cu­l­tar el uso de una de­te­r­mi­na­da apli­ca­ción por falta de ac­tua­li­za­ción (y conviene no su­b­e­s­ti­mar la expansión de versiones an­te­rio­res tanto de sistemas Android como iOS). La di­ve­r­si­dad de sistemas ope­ra­ti­vos uti­li­za­dos en la práctica se pone más aún de ma­ni­fie­s­to cuando ob­se­r­va­mos la uti­li­za­ción de las distintas versiones de Android, pues, en general, las versiones antiguas superan en usuarios a la más nueva, lo que tiene que ver con el retraso de algunos fa­bri­ca­n­tes en ofrecer la ac­tua­li­za­ción para sistemas Android. Y, si bien es cierto que en sistemas iOS la nueva versión del sistema operativo llega a los te­r­mi­na­les Apple más rá­pi­da­me­n­te, también lo es que los iPhones o iPads más antiguos ya no tienen ocasión de ac­tua­li­zar­se más, motivo por el que también es posible encontrar versiones iOS obsoletas en te­r­mi­na­les Apple.

Esta di­ve­r­si­dad en cuanto al hardware y al software de los te­r­mi­na­les móviles recibe el nombre de fra­g­me­n­ta­ción y sitúa a la garantía de calidad de las apli­ca­cio­nes ante im­po­r­ta­n­tes desafíos. Es aquí donde in­te­r­vie­ne el app testing, durante el cual se comprueba si la apli­ca­ción, en efecto, funciona y, si lo hace, si se dan pro­ble­má­ti­cas durante su ejecución. Ga­ra­n­ti­zar una ex­pe­rie­n­cia de usuario óptima para el mayor número posible de usuarios solo es posible de­te­c­ta­n­do y so­l­ve­n­ta­n­do estos ob­s­tácu­los, pues, úni­ca­me­n­te si una apli­ca­ción ofrece una buena pe­r­fo­r­ma­n­ce y usa­bi­li­dad en tantos di­s­po­si­ti­vos como sea posible, puede lograr la expansión deseada.

En resumen

El éxito de una apli­ca­ción depende no poco de los co­n­te­ni­dos que ofrece y de su buena co­me­r­cia­li­za­ción, pero aún más de un fu­n­cio­na­mie­n­to impecable y de un diseño amigable. Esto convierte al testing de apli­ca­cio­nes móviles en un trámite im­pre­s­ci­n­di­ble.     

En qué consiste el testing de apli­ca­cio­nes móviles

A la hora de realizar pruebas de calidad son posibles diversas apro­xi­ma­cio­nes. Las cue­s­tio­nes que deciden cómo se van a llevar a cabo son pri­n­ci­pa­l­me­n­te, quién o qué ha de hacerlo (tests manuales o au­to­ma­ti­za­dos) y cómo (en cada terminal o mediante un simulador o emulador).

App testing manual o au­to­ma­ti­za­do

Test manual por parte de un usuario La prueba manual, en la cual es el usuario quien evalúa la apli­ca­ción, es la variante más clásica del app testing y tiene su razón de ser en lo difícil que es para los equipos de de­sa­rro­lla­do­res, por el tiempo que supone, probar ellos mismos el fu­n­cio­na­mie­n­to de una apli­ca­ción, en especial en el caso de las apps para Android. Como solución, se recurre a un conjunto de personas lo más re­pre­se­n­ta­ti­vo posible que ha de utilizar la apli­ca­ción según unas co­n­di­cio­nes pre­de­fi­ni­das por el equipo de de­sa­rro­llo y evaluarla al final. La ventaja de integrar en el test a personas externas al equipo es que no disponen de ningún tipo de co­no­ci­mie­n­to previo en relación con la ope­ra­ti­vi­dad de la apli­ca­ción, lo que las coloca, a la hora de valorarla, en la posición más cercana al juicio del usuario potencial. Otro tipo de test manual de apli­ca­cio­nes consiste en el cro­w­d­te­s­ti­ng. Para este tipo de pruebas, el equipo de de­sa­rro­llo recurre, a través de empresas de cro­w­s­te­s­ti­ng, a un grupo de testers que se co­rre­s­po­n­de con su audiencia para que prueben su apli­ca­ción en sus propios di­s­po­si­ti­vos. El app testing no tiene lugar, así, en un entorno de prueba aislado, sino en el entorno natural del usuario, lo que aumenta la au­te­n­ti­ci­dad de los re­su­l­ta­dos de las pruebas. Con el de­no­mi­na­do Te­s­t­Fli­ght Beta Testing de Apple se puede organizar un cro­w­d­te­s­ti­ng invitando hasta a 2000 personas para que prueben apli­ca­cio­nes para iOS, así como para watchOS o tvOS. Google también ofrece a los de­sa­rro­lla­do­res de software di­fe­re­n­tes opciones para realizar pruebas alpha y beta de apli­ca­cio­nes Android. Test au­to­ma­ti­za­do mediante he­rra­mie­n­tas de app testing A di­fe­re­n­cia del manual, el control au­to­ma­ti­za­do se aplica sobre todo en ámbitos en los cuales se trata de probar ciertos procesos de forma co­n­ti­nua­da bajo co­n­di­cio­nes ca­m­bia­n­tes mediante un software especial. La mayor ventaja de este tipo de examen radica en el ahorro de tiempo que supone, ya que estos programas pueden llevar a cabo las pruebas en una fracción del tiempo que re­que­ri­ría una persona para hacer lo mismo. Sin embargo, no es apropiado para todos los campos de prueba.

App testing con un di­s­po­si­ti­vo físico o con un simulador

Probar una apli­ca­ción en un terminal físico

La eva­lua­ción de una apli­ca­ción en todos los di­s­po­si­ti­vos móviles es la solución ideal que permite controlar el fu­n­cio­na­mie­n­to de una apli­ca­ción en co­m­bi­na­ción con el software y el hardware propio de cada caso. Sin embargo, se trata de una opción cara y exigente en cuanto a la duración, pues, si se quieren realizar pruebas exhau­s­ti­vas es necesario un gran número de sma­r­t­pho­nes y tablets, en cada uno de los cuales hay que probar el co­m­po­r­ta­mie­n­to de la apli­ca­ción desde cero. La mejor ale­r­na­ti­va consiste en recurrir a diversos pro­vee­do­res a través de los que se obtiene acceso a un co­n­ti­n­ge­n­te de di­s­po­si­ti­vos di­fe­re­n­tes, a menudo de­no­mi­na­dos “Device Lab” o “Test Lab”, con los cuales se puede probar la apli­ca­ción.

Utilizar un emulador / simulador

Los si­mu­la­do­res y los emu­la­do­res son programas que imitan el fu­n­cio­na­mie­n­to de ciertos di­s­po­si­ti­vos y que permiten probar apli­ca­cio­nes vi­r­tua­l­me­n­te. Sin embargo, los re­su­l­ta­dos obtenidos con este tipo de app testing no son siempre ab­so­lu­ta­me­n­te fiables al no poder ser simuladas todas las in­ter­ac­cio­nes de los usuarios de forma co­m­ple­ta­me­n­te veraz. Dado que la si­mu­la­ción tiene sus límites, algunos tipos de prueba requieren ne­ce­sa­ria­me­n­te ser rea­li­za­dos en un terminal físico.

No obstante, aunque los si­mu­la­do­res y emu­la­do­res no pueden sustituir por completo a las pruebas en aparatos físicos, sí co­n­s­ti­tu­yen un buen co­m­ple­me­n­to a los mismos, sobre todo de los au­to­ma­ti­za­dos. Con su ayuda es posible probar la aptitud de una apli­ca­ción en di­fe­re­n­tes co­n­di­cio­nes de software y de hardware. Muchos de estos programas están di­s­po­ni­bles de forma gratuita, por ejemplo, en Android Studio o en el Xcode de Apple.

¿Qué se puede evaluar en el app testing?

De la misma forma que existen pro­ce­di­mie­n­tos di­fe­re­n­tes a la hora de evaluar la madurez de una apli­ca­ción, también cabe examinar distintos aspectos en un testing de apli­ca­cio­nes móviles exhau­s­ti­vo. Los cuatro apartados que pre­se­n­ta­mos a co­n­ti­nua­ción, si bien re­pre­se­n­tan solamente una selección, son im­pre­s­ci­n­di­bles. Además de estos cuatro, es posible también comprobar la seguridad (security testing) o la lo­ca­li­za­ción (lo­ca­li­za­tion testing), entre otros muchos.

Prueba funcional (fu­n­c­tio­nal testing)

Con una prueba funcional se controla si la apli­ca­ción actúa realmente como se había pla­ni­fi­ca­do: se comprueba que todos los co­n­te­ni­dos de la apli­ca­ción trabajen de la forma correcta, in­s­pe­c­cio­na­n­do cada función, cada pantalla y cada botón. El test funcional gira en torno a las preguntas:

  • ¿Se puede instalar y des­in­s­ta­lar fá­ci­l­me­n­te?
  • ¿Funcionan todos los co­n­te­ni­dos como estaba previsto?
  • ¿Puede continuar usándose sin ningún problema después de haber sido mi­ni­mi­za­da?
  • ¿Se producen errores y caídas de la apli­ca­ción?
  • ¿Recibe el usuario la no­ti­fi­ca­ción co­rre­s­po­n­die­n­te cuando se produce un error?

Pero, además de la apli­ca­ción en sí, también hay que examinar su co­m­po­r­ta­mie­n­to en de­te­r­mi­na­dos es­ce­na­rios:

  • Cuando la apli­ca­ción es mi­ni­mi­za­da, ¿se pueden seguir eje­cu­ta­n­do otras apli­ca­cio­nes y otras funciones del di­s­po­si­ti­vo sin problemas?
  • ¿Se minimiza au­to­má­ti­ca­me­n­te cuando entra una llamada?
  • ¿Se reciben y almacenan los mensajes de texto y otras no­ti­fi­ca­cio­nes durante el uso de la apli­ca­ción?

Test de usa­bi­li­dad (usability test)

La prueba de usa­bi­li­dad permite comprobar la facilidad de uso de la apli­ca­ción para el usuario, lo que también se denomina usa­bi­li­dad. Ob­via­me­n­te, en este caso el test au­to­má­ti­co no es una opción, pues solo los usuarios pueden evaluar en qué medida una apli­ca­ción es fácil o difícil de usar, de la misma forma que tampoco es muy práctico en muchos aspectos utilizar un emulador o un simulador, pues solo es posible evaluar el manejo de una apli­ca­ción mediante un di­s­po­si­ti­vo físico. Solo así es posible saber cómo se percibe el control táctil de la pantalla y las di­fe­re­n­tes acciones que se pueden llevar a cabo en ella, así como los tiempos de reacción cuando se activan estos comandos. Otros aspectos que se toman en co­n­si­de­ra­ción en un test de usa­bi­li­dad son los si­guie­n­tes:

  • ¿Se puede entender su fu­n­cio­na­mie­n­to de forma evidente? ¿Se ofrecen ex­pli­ca­cio­nes en el caso de funciones más complejas?
  • ¿Se ha colocado el contenido de tal forma que el usuario puede acceder a las funciones más im­po­r­ta­n­tes sin ob­s­tácu­los?
  • ¿Siguen la co­lo­ca­ción de los co­n­te­ni­dos y la co­m­po­si­ción de la interfaz un concepto coherente re­co­no­ci­ble en todos los aspectos de la apli­ca­ción e in­te­li­gi­ble de forma intuitiva?
  • ¿Se han colocado bien los botones y diseñado en su tamaño adecuado? No hay que olvidar a aquellos usuarios con movilidad reducida.
  • ¿Es la redacción de los textos lo su­fi­cie­n­te­me­n­te precisa y tiene el formato adecuado en cuanto a le­gi­bi­li­dad?

El usability test detecta estos y otros problemas en el uso de la apli­ca­ción, así como omisiones en la re­pre­se­n­ta­ción amigable del layout. Con el objetivo de recabar re­su­l­ta­dos elo­cue­n­tes, hay que intentar que el test sea llevado a cabo por su­fi­cie­n­tes sujetos. Asimismo, también es una ventaja que al menos una gran parte de estas personas se integren en el público objetivo para el cual se diseña la apli­ca­ción, pues de esta forma se puede optimizar la uti­li­za­ción y la es­tru­c­tu­ra del layout en función de los deseos de la audiencia, lo que, en de­fi­ni­ti­va, permite ofrecer a los usuarios la mejor ex­pe­rie­n­cia de usuario posible.

Test de co­m­pa­ti­bi­li­dad (co­m­pa­ti­bi­li­ty test)

Esta prueba controla la co­m­pa­ti­bi­li­dad de una apli­ca­ción en relación con el hardware y el software de los distintos di­s­po­si­ti­vos móviles. Respecto al hardware, por ejemplo, hay que probar la vi­sua­li­za­ción de la apli­ca­ción en pantallas di­fe­re­n­tes, ya que, debido a la di­ve­r­si­dad de tamaños y re­so­lu­cio­nes de pantalla presente en el mercado móvil, es fácil que se produzcan errores de ajuste o de vi­sua­li­za­ción, sobre todo si no se crearon layouts di­fe­re­n­tes para cada formato de pantalla. Otros aspectos como la CPU o la memoria RAM también varían mucho en función del terminal. Conviene recordar aquí que los aparatos antiguos no son ninguna rareza y si la apli­ca­ción no solo está pro­ye­c­ta­da para los modelos actuales, sino que también funciona de forma aceptable en los antiguos, se amplía co­rre­s­po­n­die­n­te­me­n­te su público potencial.

En lo que hace re­fe­re­n­cia al software, en un test de co­m­pa­ti­bi­li­dad se controla que la apli­ca­ción se ejecute sin problemas en los más diversos sistemas ope­ra­ti­vos. En pa­r­ti­cu­lar en el caso de una apli­ca­ción para Android, probarla en las di­fe­re­n­tes versiones de su sistema operativo es es­pe­cia­l­me­n­te relevante, ya que a través de esta pla­ta­fo­r­ma se di­s­tri­bu­yen y utilizan muchas más versiones di­fe­re­n­tes que en iOS.

Mediante un test de co­m­pa­ti­bi­li­dad es posible comprobar en función de qué co­n­di­cio­nes técnicas aparecen los primeros problemas de ejecución. Si los re­qui­si­tos de software o de hardware son muy altos, quizá habría que co­n­si­de­rar una reducción de ciertas co­n­di­cio­nes fu­n­da­me­n­ta­les del sistema para no limitar la audiencia.

Test de re­n­di­mie­n­to (pe­r­fo­r­ma­n­ce test)

Con él se prueba cuántos recursos del sistema consume la apli­ca­ción cuando se utiliza co­n­ti­nua­me­n­te. Aquí los de­sa­rro­lla­do­res están in­te­re­sa­dos en saber si la apli­ca­ción funciona de forma fluida o se generan fallos cuando se utiliza sin descanso, si la batería se gasta en exceso o si el di­s­po­si­ti­vo se re­ca­lie­n­ta una vez tra­n­s­cu­rri­do cierto tiempo. Igual que en el de co­m­pa­ti­bi­li­dad, en este test también se evalúa el re­n­di­mie­n­to de la apli­ca­ción bajo de­te­r­mi­na­das co­n­di­cio­nes, por ejemplo, cómo afecta a la ejecución de la apli­ca­ción el que la memoria no disponga de mucho espacio libre o que la batería esté casi agotada. En de­fi­ni­ti­va, el test de re­n­di­mie­n­to mide en qué medida de­te­r­mi­na­das si­tua­cio­nes influyen de manera negativa en el co­m­po­r­ta­mie­n­to de la apli­ca­ción.

En el campo de las pruebas de calidad de software, cuando de lo que se trata es de someter a uno o a varios co­m­po­ne­n­tes a una carga elevada se habla de pruebas de carga (load testing) o de estrés (stre­s­s­te­st). Un ejemplo sería la prueba de estrés de un servidor, en la cual se evalúa el co­m­po­r­ta­mie­n­to de una apli­ca­ción en el caso de un elevado número de accesos a su servidor. En el caso de una apli­ca­ción cuyas funciones requieren una conexión a Internet activa, la prueba de carga de la red ha de ide­n­ti­fi­car los efectos de una conexión débil en el fu­n­cio­na­mie­n­to de la apli­ca­ción. Las pruebas de estrés, por su parte, tienen el objetivo de mostrar cuánta carga soportan ciertos co­m­po­ne­n­tes antes de mostrar li­mi­ta­cio­nes en sus aptitudes.

Hecho

La seguridad también afecta a las apli­ca­cio­nes, dado que están di­s­po­ni­bles en te­r­mi­na­les su­s­ce­p­ti­bles de uso frau­du­le­n­to. Otra prueba im­pre­s­ci­n­di­ble es la prueba de seguridad (security test), con la cual se comprueba la co­n­fi­de­n­cia­li­dad de los datos privados, la au­te­n­ti­ca­ción del usuario, los perfiles di­fe­re­n­tes que el usuario pueda tener en la apli­ca­ción o el au­to­gua­r­da­do de ac­ti­vi­da­des.

He­rra­mie­n­tas de mobile app testing

Estas pruebas no tienen que ser llevadas a cabo ma­nua­l­me­n­te en todos los casos. En muchos aspectos, las he­rra­mie­n­tas de testing de apli­ca­cio­nes móviles facilitan el trabajo eno­r­me­me­n­te. Dado que hasta ahora nos hemos ocupado del de­sa­rro­llo de apli­ca­cio­nes nativas para sistemas Android e iOS, hemos se­le­c­cio­na­do he­rra­mie­n­tas para estas pla­ta­fo­r­mas.

Appium

Appium es un programa de código abierto para la au­to­ma­ti­za­ción de pruebas in­de­pe­n­die­n­te de pla­ta­fo­r­ma. Di­s­po­ni­ble de forma gratuita, esta he­rra­mie­n­ta no solo permite probar apli­ca­cio­nes nativas para Android o iOS, sino que también soporta la au­to­ma­ti­za­ción de pruebas de apli­ca­cio­nes híbridas y web para ambas pla­ta­fo­r­mas. En Appium se utiliza la misma interfaz de pro­gra­ma­ción tanto para iOS como para Android, de tal forma que permite re­uti­li­zar el código escrito. Las pruebas rea­li­za­das con esta he­rra­mie­n­ta se pueden llevar a cabo en aparatos físicos, en emu­la­do­res y en si­mu­la­do­res. Se trata de un software muy útil para realizar pruebas de app testing au­to­ma­ti­za­das, aunque requiere un cierto grado de co­no­ci­mie­n­tos en de­sa­rro­llo de software.

TestFairy

En la página web de TestFairy los de­sa­rro­lla­do­res pueden colgar su apli­ca­ción e invitar a personas a que la prueben, para lo cual solo tendrán que de­s­ca­r­gar­la y uti­li­zar­la. Esta es una pla­ta­fo­r­ma que, de alguna manera, permite a los equipos de de­sa­rro­llo gestionar su propio cro­w­d­te­s­ti­ng. La he­rra­mie­n­ta incluye una función para notificar errores y permite crear una toma de vídeo mientras se usa la apli­ca­ción. TestFairy está di­s­po­ni­ble como versión gratuita y también como versión pro­fe­sio­nal de pago.

Ube­r­te­s­te­rs

Ube­r­te­s­te­rs es una pla­ta­fo­r­ma de soporte para realizar la prueba de la versión beta de las apli­ca­cio­nes. Además de mantener el control total sobre las pruebas y de obtener informes exhau­s­ti­vos, la he­rra­mie­n­ta de app testing permite trabajar en equipo, detectar errores del programa de forma re­la­ti­va­me­n­te sencilla, crear y probar versiones de prueba di­fe­re­n­tes de una apli­ca­ción y llevar a cabo cro­w­d­te­sts en la forma de, por ejemplo, tests de usa­bi­li­dad y de funciones. Ube­r­te­s­te­rs está di­s­po­ni­ble en diversos paquetes, cada uno con una paleta diferente de funciones, el más sencillo gratuito.

Solventar los errores de­te­c­ta­dos en la prueba de calidad

Cuando un emulador ha en­co­n­tra­do un problema, sería oportuno co­m­pro­bar­lo de nuevo en un di­s­po­si­ti­vo físico antes de intentar so­l­ve­n­tar­lo, pues no todos los co­n­fli­c­tos que se detectan en una emulación de la apli­ca­ción tienen lugar también durante el uso real. Si continúan apa­re­cie­n­do durante su uso en el aparato, entonces ha llegado el momento de actuar. Ahora bien, ¿cómo puede re­co­no­ce­r­se que el des­en­ca­de­na­n­te es un fu­n­cio­na­mie­n­to in­co­rre­c­to? Las pruebas de calidad no aportan un dia­g­nó­s­ti­co exacto, así que, aun cuando algunas he­rra­mie­n­tas pueden resultar de ayuda, a menudo los de­sa­rro­lla­do­res han de analizar los problemas y los fallos ma­nua­l­me­n­te. En general, estos suelen ser debidos a una pro­gra­ma­ción errónea o a una cierta in­co­m­pa­ti­bi­li­dad con de­te­r­mi­na­dos co­m­po­ne­n­tes de los di­s­po­si­ti­vos.

Si se encuentra el causante de una función de­fe­c­tuo­sa hay que valorar si merece la pena so­lu­cio­nar­la y en qué medida es posible sin que afecte al correcto fu­n­cio­na­mie­n­to de la apli­ca­ción. Ob­via­me­n­te, la versión final de la apli­ca­ción ya no puede tener errores generales de pro­gra­ma­ción: todas sus funciones fu­n­da­me­n­ta­les, como la na­ve­ga­ción o la re­pre­se­n­ta­ción de los co­n­te­ni­dos, han de estar ope­ra­ti­vos de forma estable y continua.

Más difícil es decidirse a favor o en contra de una re­so­lu­ción del problema cuando la causa no se encuentra en una pro­gra­ma­ción errónea sino en un conflicto con un de­te­r­mi­na­do software o hardware, como sistemas ope­ra­ti­vos obsoletos o co­m­po­ne­n­tes de hardware antiguos o con menor re­n­di­mie­n­to que ra­le­n­ti­zan o im­po­si­bi­li­tan la ejecución de una o varias funciones de una apli­ca­ción. En un caso así es re­co­me­n­da­ble analizar exac­ta­me­n­te los re­su­l­ta­dos del app testing para averiguar qué elemento en concreto podría ser el re­s­po­n­sa­ble de una ejecución pro­ble­má­ti­ca de la función. El principio de prueba y error podría ser de gran ayuda en este punto.

Qué re­qui­si­tos técnicos han de tener las apli­ca­cio­nes

El público de una apli­ca­ción aumenta, sin duda alguna, cuando se diseña para que también sea operativa en muchos te­r­mi­na­les antiguos, pero adaptarse a un gran número de di­s­po­si­ti­vos es posible dentro de unos límites. Aquellas apli­ca­cio­nes muy exigentes en cuanto a potencia, por ejemplo, cuyas funciones necesitan un pro­ce­sa­dor más potente o mucha memoria, podrían no poder ser adaptadas a un hardware más antiguo. Y si una apli­ca­ción requiere una conexión excelente a Internet, no se debería intentar adaptarla a cualquier precio a un escenario en el cual se dispone de una conexión débil.

Muchas apli­ca­cio­nes requieren, se­n­ci­lla­me­n­te, unas co­n­di­cio­nes técnicas de­te­r­mi­na­das. Las hay que necesitan un tamaño de pantalla es­pe­cí­fi­co para poder ser eje­cu­ta­das, mientras que otras, como la apli­ca­ción de YouTube, solo funcionan cuando se puede recurrir a una velocidad de tra­n­s­fe­re­n­cia de datos lo su­fi­cie­n­te­me­n­te ágil, y aun así, se trata de la apli­ca­ción más de­s­ca­r­ga­da. Antes de ajustar y reducir el espectro de funciones de una apli­ca­ción, hay que re­fle­xio­nar, con la vista puesta en el alcance de la apli­ca­ción, acerca de si con ellos se reduce su fu­n­cio­na­li­dad más de lo deseado.

El app testing como garante de la calidad de las apli­ca­cio­nes

Las pruebas de calidad co­n­s­ti­tu­yen el último paso del proceso de de­sa­rro­llo de apli­ca­cio­nes móviles y, si bien requieren una gran de­di­ca­ción, al final resultan rentables es­pe­cia­l­me­n­te si se considera que las pruebas de app testing co­n­tri­bu­yen a lograr que el mayor número posible de usuarios las usen sin ningún tipo de obstáculo. Es im­po­r­ta­n­te, a la hora de llevar a cabo estas pruebas de calidad, mantener un cierto equi­li­brio entre la uti­li­za­ción de aparatos físicos y de emu­la­do­res. Y una vez se ha probado a co­n­cie­n­cia y, o bien no se han en­co­n­tra­do problemas graves o bien se han podido solventar, ¡en­ho­ra­bue­na! Has co­n­se­gui­do plasmar con éxito la idea inicial de la apli­ca­ción y puedes lanzarla para su descarga. No obstante, aún quedan algunos deberes por hacer:

Por un lado, deberías repetir algunas de las pruebas ya rea­li­za­das en períodos regulares de tiempo, en especial las pruebas de co­m­pa­ti­bi­li­dad y de re­n­di­mie­n­to. Este control constante garantiza que la apli­ca­ción también funcione sin mácula en el futuro.

Por el otro, conviene conocer los pasos que requiere la pu­bli­ca­ción de una apli­ca­ción en las tiendas de Apple o Google. Antes de nada, el autor de la apli­ca­ción tiene que re­gi­s­trar­se en la tienda co­rre­s­po­n­die­n­te para poder co­me­r­cia­li­zar su apli­ca­ción, proceso del que se ocupa el siguiente capítulo de nuestra serie sobre el de­sa­rro­llo de apli­ca­cio­nes, dividido en el registro en la tienda de Apple y en la Google Store. Una vez publicada, aún es posible optimizar el po­si­cio­na­mie­n­to de la apli­ca­ción en la Google Play Store y en la de Apple. Así, los artículos co­n­clu­ye­n­tes de la serie contienen lo más relevante en torno a las tiendas de apli­ca­cio­nes.

Ir al menú principal