paint-brush
Por qué necesita desplazarse hacia la izquierda con las pruebas móvilesby@johnjvester
155

Por qué necesita desplazarse hacia la izquierda con las pruebas móviles

John Vester6m2024/07/15
Read on Terminal Reader

Intentar obtener una ventaja competitiva en el espacio móvil parece ir por detrás de otros aspectos de la tecnología. Imagine un mundo en el que pueda desplazarse hacia la izquierda con las pruebas de su dispositivo móvil.
featured image - Por qué necesita desplazarse hacia la izquierda con las pruebas móviles
John Vester HackerNoon profile picture
0-item


Siento que siempre ha habido una relación de amor y odio con el concepto de prueba. Sin duda, los beneficios de probar cualquier cosa que esté creando ayudan a evitar que los clientes informen sobre esos mismos descubrimientos. Esa es la parte amorosa de la relación.


La parte odiosa es cuando los cronogramas del proyecto hacen que las pruebas se conviertan en una prioridad menor... a menudo hasta el punto en que se convierte en un elemento de la lista de deseos pendiente que rara vez aparece en un sprint actual. Esto casi garantiza que los clientes se comunicarán con usted con resultados inesperados.


A medida que los ciclos de vida de desarrollo de software (SDLC) han madurado, las pruebas se han vuelto más fáciles, lo que permite a los desarrolladores crear pruebas unitarias que cubren completamente el aspecto que se está validando. El uso de ChatGPT o GitHub Co-Pilot ha madurado hasta el punto en que dichas pruebas unitarias pueden generarse automáticamente. Las soluciones de herramientas de integración continua (CI) han mejorado para imponer altos niveles de cobertura de código antes de que se pueda fusionar cualquier solicitud de extracción (PR). Hacerlo permite a los equipos girar hacia la izquierda en su desarrollo, lo que obliga a abordar los problemas durante la fase de desarrollo y reducir el costo de las funciones a lo largo del camino.


Este enfoque ha funcionado muy bien para las API tradicionales y los marcos web, pero probar aplicaciones móviles a menudo requiere que los equipos realicen pruebas manuales, ejecutando a partir de una lista publicada de pasos en tantos tipos de dispositivos diferentes como sea posible administrar.


Quería ver si podía identificar una forma en que el desarrollo y las pruebas móviles pudieran emplear el concepto de desplazamiento a la izquierda.

Lo que falta en las pruebas móviles

A un alto nivel, el espacio de aplicaciones móviles debe tener la capacidad de probar características y funcionalidades de la misma manera que las API y los marcos web lo hacen hoy en día. Esto significa abandonar el negocio de realizar pruebas manualmente utilizando un inventario de dispositivos físicos o emuladores.


Este estado ideal de las pruebas móviles estaría impulsado por la interfaz de usuario para evitar escribir pruebas crípticas centradas en la actividad del usuario. Este enfoque podría ampliar las herramientas a los consumidores internos o propietarios de productos que quieran validar su visión como una realidad.


Al igual que las pruebas unitarias o de integración tradicionales, la capacidad de introducir módulos puede validar pequeños aspectos de la aplicación móvil y usarse como bloques de construcción para flujos más grandes. Al hacer esto, los equipos podrán permanecer “secos” (no repetirse) y evitar trabajo duplicado.

Finalmente, estas pruebas deberán poder formar parte del proceso de CI/CD, a pesar de estar impulsadas por una interfaz de usuario gráfica.


En este estado ideal, los ingenieros de software móvil pueden desplazarse efectivamente hacia la izquierda para desarrollar y probar sus dispositivos móviles.

¿Qué es “desplazamiento a la izquierda”?

Es una buena idea aclarar a qué me refiero cuando digo "desplazamiento a la izquierda" para pruebas móviles.


Wikipedia define el desplazamiento a la izquierda para las pruebas como se indica a continuación:


“Las pruebas de desplazamiento a la izquierda son un enfoque para las pruebas de software y de sistemas en el que las pruebas se realizan en una etapa más temprana del ciclo de vida (es decir, se mueven hacia la izquierda en la línea de tiempo del proyecto). Es la primera mitad de la máxima "pruebe temprano y con frecuencia". Fue acuñado por Larry Smith en 2001 ”.


Simplemente adoptar el desplazamiento hacia la izquierda permite identificar defectos durante la fase de desarrollo. Esto es importante ya que el problema se puede abordar mientras la función está fresca en la mente de los ingenieros centrados en la fuente.


Estos son algunos de los beneficios de adoptar el desplazamiento a la izquierda:


  • Reducción de costos para ofrecer funciones al encontrar y solucionar problemas en el momento del desarrollo.
  • Mayor eficiencia debido a una menor cantidad de tiempo necesario para revisar las soluciones mucho después de la entrega.
  • Mayor calidad al verse obligado a cubrir y validar completamente durante la fase de desarrollo.


En última instancia, el concepto de cambio a la izquierda conducirá a una ventaja competitiva cuando lleguen a los consumidores soluciones que estén validadas y funcionen como se espera.

Sobre Tosca

El año pasado, exploré el uso de Tricentis Testim en mi artículo " Mejora de la calidad de las aplicaciones orientadas al cliente utilizando Tricentis Testim ". Me impresionó lo fácil que fue validar mi solución Magic 8 Ball utilizando una API RESTful basada en GO y un cliente web Vue.js. Quería ver si Tricentis tenía una solución que permitiera a los equipos desplazarse hacia la izquierda para realizar pruebas móviles.


Resulta que tienen un producto llamado Tosca .


El producto Tosca proporciona generación de pruebas sin código, lo que permite la creación de pequeños módulos que pueden reutilizarse y automatizarse. Estos módulos pueden considerarse como bloques de Lego que pueden conectarse cuando sea necesario gracias al empleo de un contrato estandarizado entre ellos. Tosca acerca las cosas un paso más a los ciclos de vida de desarrollo más tradicionales al brindar la capacidad de aprovechar la IA para ayudar a generar pruebas móviles para sus funciones.


Tosca también aprovecha el poder del proyecto Appium de código abierto sin una curva de aprendizaje pesada a través de Tricentis Mobile Agent. Esto permite que todo el poder proporcionado en mi artículo anterior se incluya en el viaje hacia la izquierda con el desarrollo móvil.


Como resultado, Tosca permite probar aplicaciones móviles nativas, híbridas y web en dispositivos iPhone, Android, teléfonos móviles y tabletas reales sin mantener ni poseer estos dispositivos.


Al igual que el producto Testim, la solución Tosca brinda la capacidad de ejecutar pruebas como parte de canales de CI/CD, lo que permite imponer la adopción del desplazamiento a la izquierda.


Puede utilizar Tosca para realizar pruebas en un teléfono iOS o Android directamente, así como a través de emuladores o simuladores disponibles a través de un IDE como Android Studio. Con Tosca, puede escanear su aplicación y hacer que cree casos de prueba:


Una vez que Tosca haya creado los casos de prueba, también puede crear sus propios casos de prueba.


Una de las ventajas de Tosca es que te permite escribir pruebas sin tener que escribir código. Esto es posible gracias a su biblioteca de módulos que pueden simular casi todas las acciones, incluida abrir un navegador o completar un formulario.


En este ejemplo, hemos utilizado tres módulos para nuestro caso de prueba móvil de Tosca. Probamos:


  1. Abrir un navegador y acceder al punto final de nuestra aplicación.
  2. Seleccionar un tipo particular de vehículo
  3. Completar un formulario sobre ese vehículo en particular


Tenga en cuenta que todo lo que tuvimos que hacer es proporcionar entradas de muestra (en la captura de pantalla, lo hacemos para el paso 3 resaltado arriba). Una vez que se complete la prueba, recibirá un informe de diagnóstico de Tosca.

Desplazamiento a la izquierda para pruebas móviles

Al aprovechar un producto como Tosca, los ingenieros de software centrados en el desarrollo móvil pueden darle a sus equipos una ventaja competitiva al emplear mierda que queda para las pruebas móviles:


  • Las funciones móviles se validan durante la fase de desarrollo, de forma similar a los servicios y marcos web.
  • Las pruebas están impulsadas por una interfaz de usuario que se puede ampliar a los consumidores internos y propietarios de productos para ayudar a solidificar su visión.
  • El conjunto de pruebas se puede construir a partir de una colección de módulos "secos" que están estructurados para cubrir completamente nuevas características y funcionalidades.
  • Las pruebas se pueden ejecutar en un inventario exhaustivo de dispositivos móviles sin poseer ni mantener dichos dispositivos.
  • Antes de introducir nuevas funciones en la rama del código principal, el RP asociado habría llamado a las pruebas generadas por la interfaz de usuario de la misma manera que se ejecutan las pruebas unitarias o de integración en las canalizaciones de CI/CD de API o marco web.

Conclusión

Mis lectores recordarán que me he centrado en la siguiente declaración de misión, que creo que puede aplicarse a cualquier profesional de TI:


“Concentre su tiempo en ofrecer características/funcionalidades que amplíen el valor de su propiedad intelectual. Aproveche los marcos, productos y servicios para todo lo demás”. - J. Vester


Para alcanzar la máxima productividad, los ingenieros de software centrados en el desarrollo móvil deben adoptar un cambio hacia la izquierda para las pruebas móviles . Sin embargo, la elección ideal debería considerar cualquier curva de aprendizaje asociada y la compatibilidad al buscar soluciones.


El producto Tosca se adhiere a mi declaración de misión personal al permitir que los equipos alcancen el estado de desplazamiento hacia la izquierda sin código fuente adicional que respaldar y mantener. El producto también permite que personas que no sean ingenieros participen en el desarrollo de pruebas, lo que brinda a los equipos una ventaja para garantizar que los diseños cumplan con las expectativas.


Personalmente he empleado el enfoque de desplazamiento a la izquierda durante varios años y aprecio la experiencia cada vez que se evita un defecto simplemente siguiendo el proceso. Es hora de que el desarrollo móvil emplee el concepto de desplazamiento a la izquierda.


¡Que tengas un gran día!