Descubra cómo evolucionan las pruebas de software para potenciar su negocio en la era digital

Publicada en

Enfoque de las Pruebas de software y sus equipos en la transformación digital.

Hoy la tecnología ha transformado nuestras vidas; desde la manera en que nos relacionamos hasta la forma en que tranzamos, resignificando el modo en que accedemos a experiencias, bienes y servicios. Esto ha implicado grandes retos para todas las industrias y sus departamentos de TI, no solo en materia de sistematización de sus procesos para hacerlos más ágiles y sencillos, sino en la reinvención de sus modelos de negocio y su promesa de valor como marca.

En este nuevo escenario las pruebas de software que tradicionalmente se han abordado con un enfoque netamente técnico y relacionado con la calidad de los aplicativos; según la mirada de Choucair Testing, también se están transformando convirtiéndose  desde el inicio del proyecto, en la conciencia que alinea los  equipos de desarrollo con el negocio para dar cumplimiento a la estrategia y a la promesa de valor a los usuarios finales.

En esta entrega Choucair hace un recorrido sobre la evolución que están teniendo las pruebas de software, como disciplina y dentro de las organizaciones, pasando a tener un papel estratégico y relevante en el actual entorno digital.

Hasta hace muy poco las pruebas de software eran dominio exclusivo de las áreas de TI operando bajo el siguiente modelo:

  • Las pruebas correspondían a la última fase del ciclo de desarrollo, previo a la salida en producción, buscando probar si el software desarrollado tenía errores.  Esto daba origen a reprocesos, incremento en costos e incumplimiento en tiempos de entrega.
  • Se hacían pruebas Ad hoc, pensadas únicamente para una etapa o situación específica, dejando por fuera un sinnúmero de variables posibles.
  • Sólo se probaba las peticiones del cliente sin indagar sobre los por qué dejando de lado la esencia del Testing: objetividad, independencia y criterio.
  • El modelo de cobro del servicio era basado casi exclusivamente en el número de horas invertidas.
  • Las pruebas eran consideradas un sobrecosto en el que se debía incurrir para cerrar el ciclo de desarrollo sin la conciencia del aporte en la disminución de riesgos, prevención de reprocesos, incremento de velocidad y oportunidad en la entrega a producción.
  • Los analistas de pruebas no eran valorados profesionalmente por no considerarse el Testing una disciplina estudiada sino una práctica a la que se llegaba accidentalmente, adicionalmente no tenía el requisito de saber desarrollar software.

Cada día las pruebas de software se desplazan más hacia las etapas iniciales del ciclo de desarrollo cambiando la forma de operar hasta entonces, esto es:

  • Las pruebas inician desde etapas tempranas del desarrollo.
  • Amplitud en los tipos de pruebas centrados en la calidad de los aplicativos.
  • El número de errores detectados determina la efectividad de la inversión en pruebas y no el tiempo invertido.
  • Se impone la automatización básica de algunos elementos básicos y simples.
  • Los analistas de pruebas han ganado posicionamiento gracias a la relevancia ganada por la industria; hoy son formales en su estudio, aportan información para mejorar los procesos de calidad y se familiarizan con las certificaciones de pruebas recomendadas en el mercado.
  • Las pruebas son consideradas valiosas para el crecimiento de las empresas pues evitan que los usuarios tengan reprocesos perdiendo oportunidad e incrementando los costos del proyecto.

Nuestra mirada hacia la orientación de las pruebas de software y comportamiento de los equipos de trabajo. Aquí las 6 claves de cómo están evolucionando las pruebas de software en el nuevo entorno digital

  1. La efectividad de los equipos debe medirse por el valor que le entregan al negocio, lo importante no es sólo es el número de errores detectados y menos aún las horas de trabajo, sino el impacto generado en las métricas, objetivos y resultados del negocio.
  2. Se debe automatizar el alcance de su prueba y adicionalmente apoyar la automatización de las pruebas unitarias y de aceptación, basándose en modelos DevOps.
  3. Se identifican atributos de calidad basados en el riesgo y la optimización de oportunidades para el negocio.
  4. Son conscientes del valor de la marca y custodian que la estrategia de la compañía se vea potenciada en la experiencia de los clientes al interactuar con ella a través de los aplicativos, probando que ésta cumpla su promesa de valor y les torne la vida más sencilla
  5. El equipo está buscando la constante evolución del aplicativo con una visión más holística de las soluciones, no solo de un proyecto e incorporando constantemente nuevo conocimiento tecnológico y en pruebas así como acercándose a entender la  estrategia del negocio.
  6. Retroalimentan constantemente al equipo acerca del valor que perciben los usuarios y la utilidad de las funcionalidades.

Es así como las Pruebas de software ante los desafíos que nos exige la era digital, también han evolucionado en su enfoque, sus objetivos, la labor desempeñada por los analistas de pruebas y el alcance esperado de parte de ellos, así como por su mirada definitiva a la relación entre estrategia competitiva, modelo de negocio, nuevo entorno digital y su engranaje con el desarrollo de los aplicativos para entregar el valor esperado al mundo y a los usuarios por parte de la marca. Es decir, las pruebas de software hoy no solo miran el proyecto, sino que abordan toda el área de influencia de dicho aplicativo y se interrogan por el impacto que este tendrá en la sociedad.

¿En qué etapa de abordaje de Pruebas se encuentra su empresa y a cuál desearía llegar? ¿Le gustaría conocer más acerca de cómo las pruebas de software pueden potenciar su digitalización? En Choucair Testing nos apasiona apoyar el éxito de nuestros clientes en la transformación digital, generándoles tranquilidad y confianza a través de pruebas de software centradas en el impacto de sus modelos de negocio.

Contáctenos: serviciocliente@choucairtesting.com

¿Cómo potenciar sus canales e-commerce en un entorno digital altamente competitivo?

Publicada en

Hoy los canales de venta por internet toman más relevancia para los usuarios, pero no todos, sólo los que cumplen su promesa de valor y ofrecen una experiencia de compra grata, coherente y memorable

Hoy los canales de venta por internet toman más relevancia para los usuarios, pero no todos, sólo los que cumplen su promesa de valor y ofrecen una experiencia de compra grata, coherente y memorable. Para lograrlo, le proponemos revisar tres aspectos clave:

1. Expresión de marca

Asegúrese de que su promesa de valor esté presente en todos los atributos de su canal: presentación de los productos, identidad de marca y diseño, mensajes, proceso de compra y posventa, logística, atención en línea oportuna, y demás. En el mundo digital, los usuarios están a un clic de la competencia, es imprescindible tener una clara y evidente diferenciación que pueda ser identificada rápidamente, así como disponer de los recursos humanos, tecnológicos, de conocimiento y financieros para lograrlo.

2. UX. Viaje con sus usuarios

Y hágalo por iteraciones a medida que va incluyendo nuevos botones, servicios, productos o llamados a la acción. Ubicarse en el lugar de los usuarios y conocerlos a fondo con base en sus comportamientos, aspiraciones, intereses, necesidades, momentos y hábitos de consumo, le permitirán ser más oportuno y preciso en su oferta de valor. Para lograr este propósito, puede hacer uso de herramientas como: mapas de empatía, arquetipos de clientes, historias de usuario, recorridos del servicio, storyboard, storytelling y viajes de experiencia de usuario. Esto, junto con las preguntas adecuadas a la data que proveen sus clientes y basándose en su estrategia de marca, le permitirán generar experiencias diferenciadoras y gratas para sus usuarios. 

3. Confiabilidad de su plataforma

Hoy no basta con tener un canal digital, asegúrese de que el mismo tiene el desempeño deseado por sus usuarios y que está acorde a sus metas de crecimiento. En este sentido, es importante revisar que el tiempo de carga sea óptimo. Así mismo, debe prever que el canal soporte la alta concurrencia de usuarios en fechas especiales. Recuerde que la sensación de confianza con un sitio web no sólo se basa en su dominio HTTPS o en la reputación de su marca o tienda en línea, también en el momento de verdad, cuando sus clientes quieren hacer una compra en el canal y que este les responda en el tiempo esperado justo con las acciones deseadas. Según Peer1hosting, el 70% de clientes abandona su compra online por problemas de carga.

En Choucair disponemos de todas las capacidades para ayudarlo a potenciar su canal e-commerce; recurso humano altamente calificado en software testing con enfoque en las necesidades del negocio, un framework de pruebas para entornos digitales y las mejores metodologías y prácticas del testing a nivel mundial.

Contáctenos:

serviciocliente@choucairtesting.com

¿La automatización es transformación digital?

Publicada en

Claves y mitos sobre procesos exitosos de automatización de Pruebas de Software, según Choucair Testing.

En el campo de la transformación digital, las pruebas de software se convierten en un habilitador de los nuevos modelos de negocio, las cuales si se automatizan potencian el logro de los objetivos. Expertos en automatización de Choucair Testing, compañía líder de pruebas de software en Hispanoamérica, nos cuentan mitos y claves sobre estos procesos.

1. Automatizar es igual a generar una transformación digital en su compañía. (Falso)Automatizar los procesos es algo que se viene haciendo hace unos años y no implica que una compañía se transforme digitalmente, puesto que la transformación digital es crear elementos de negocio que sólo funcionan en el mundo digital, con nuevos modelos de relacionamiento basados en la tecnología y que generan nuevos ingresos que no existían para la compañía. Ahora bien, en este camino la automatización sí se puede convertir en un habilitador de su transformación digital. Recuerde que la misma no está únicamente relacionada con pruebas, sino que puede abarcar los procesos de los modelos de negocio en sí.

2. No existe una mejor estrategia técnica para automatizar pruebas, existen las más adecuadas a las necesidades de su negocio. (Verdadero) Un buen proceso de automatización de pruebas no depende únicamente de una alta calidad técnica, sino de un profundo conocimiento del negocio para plantear una estrategia conjunta que evalue y priorice los riesgos para orientar los esfuerzos a donde agregan un mayor valor al negocio. De ahí la importancia de contar con un experto del negocio, que identifique las necesidades, expectativas y atributos relevantes para definir la estrategia más adecuada y alinear el aspecto técnico.

3. El proceso de pruebas cuando esté automatizado será igual a como se hacía manualmente. (Falso) No siempre las pruebas que se hacían manualmente, deben seguir el mismo proceso al automatizarse. Aquí están en juego dos premisas. La primera es que este proceso es susceptible de mejoras, no sólo en materia de agilidad y eficiencia, sino en función de lo que se quiere que el aplicativo realice y demás atributos deseados. La segunda, es que al revisar el proceso manual es posible detectar errores, y gaps que deben superarse para automatizar. Cuando se automatiza es la oportunidad para hacer mejoras en lo que se probaba manualmente y lograr grandes eficiencias.

4. Al automatizar los procesos de pruebas puedo ir más allá de la eficiencia y agilidad.(Verdadero) Este cambio no solamente es útil para mejorar en términos de eficiencia y agilidad, sino que se pueden alcanzar otros atributos como confiabilidad y precisión que requieren muchos procesos que son críticos.

5. Al automatizar las pruebas de mi negocio y sus procesos, llevaré a mi equipo a un nuevo nivel. (Verdadero) Aquí es importante tener en cuenta varios aspectos, el primero se relaciona con el enfoque que debe tener el equipo para el caso de automatización de procesos de pruebas, no es lo mismo la mirada del desarrollador a la de un tester, por eso deben trabajar de forma interdisciplinaria como en metodologías ágiles; lo segundo tiene que ver con lo anterior, pues para alcanzar una buena sinergia se requiere, no sólo un equipo bueno técnicamente, sino con habilidades blandas fortalecidas y desarrolladas. Por último, podrá plantearse objetivos más estratégicos en términos de la transformación digital del negocio y contar con mayor disponibilidad del equipo, pues se librará de trabajos muy manuales y operativos para dedicarse a innovar en su compañía.

Gobierno de automatización de pruebas

Publicada en

La adopción de tácticas de Automatización de pruebas, ha pasado de ser una ventaja en nuestras estrategias de prueba, a una necesidad muy creciente, ya que, en la actualidad, no contar con las mencionadas tácticas nos vuelve los últimos de la cola con respecto a estrategias que apunten a incrementar la velocidad y eficiencia de las mismas y que paralelamente enfoquen los recursos a tareas de mayor valor.

Con la búsqueda de realizar un proceso de automatización más eficiente y competitivo cada día, se han ideado y creado muchas formas de realizarlo abarcando niveles, modelos y tipos. Los aspectos mencionados son muy importantes al momento de realizar el proceso de automatización y deben estar alineados al modelo de entrega de valor para el servicio.

Pero es hora de preguntarse si estamos teniendo un orden y un objetivo claro de lo que queremos lograr con respecto a automatización en nuestros procesos de prueba, que estén apalancando efectivamente la adopción de modelos de integración, entrega, despliegue continuo y DevOps.

Como se sabe, uno de los pilares para poder adherir una cultura de DevOps en las organizaciones, es la automatización de pruebas, entonces hagamos una pausa y veamos con detenimiento lo que está pasando, ¿realmente tenemos claro a dónde le estamos apuntando con la implementación de automatización?, ¿estamos pensando que la necesidad es el proyecto? o, ¿será que necesitamos un Gobierno de Automatización de pruebas que nos permita apalancar efectivamente las tácticas y estrategias de prueba con una visión de negocio a nivel organizacional y de manera transversal a nuestros equipos de soluciones y/o desarrollo?

El Gobierno de Automatización de Pruebas, nos permite tener claridad de cómo nos encontramos y nos da el contexto del ecosistema de prueba a nivel de automatización; de los procesos de negocio, aplicaciones, arquitectura, gobierno de datos que se tienen automatizados y lo que se quiere alcanzar.

Asimismo, nos permite visualizar la trazabilidad entre las tecnologías de las aplicaciones y herramientas a utilizar por el nivel de adherencia y facilidad de automatización, que es uno de los aspectos que más nos preocupa al momento de adoptar automatización de pruebas.

Otro de los asuntos importantes del porqué adoptar un Modelo de Gobierno de Automatización, es que nos llevará a realizar automatizaciones a la par del equipo de desarrollo de una manera coordinada y dependiendo del nivel de madurez del proceso de creación del servicio (desarrollo), el script de pruebas automatizadas se terminará antes de tener el aplicativo objeto de prueba.

Beneficios del Gobierno de Automatización

  • Apoya al cumplimiento del Time to Market.
  • Reduce procesos de definición e implantación de la estrategia de automatización.
  • Facilita la distribución y da claridad de los niveles de prueba que sigue la organización.
  • Incremento de la productividad del equipo.
  • Permite apalancar la cultura de DevOps.
  • Facilita la trazabilidad y posibilita mayor efectividad de automatización.

.

El desempeño, clave para el éxito de la digitalización de su negocio

Publicada en

Cuando pensamos en pruebas de performance es inevitable no pensar en palabras como estrés y carga, conceptos que han predominado desde el conocimiento de este tipo de pruebas, y que lastimosamente han limitado nuestro conocimiento en dicho campo.

El Performance o desempeño no es solo un tipo de prueba, es un atributo de calidad natural de cada componente de software, lo cual implica que es un concepto que debe ser considerado desde siempre, así como durante el desarrollo y sostenimiento del software.

Debido a lo anterior, se piensa que para identificar los problemas de performance debemos llevar al extremo las condiciones del mismo bajo cargas de concurrencia, y si bien este es un método adecuado, no es el único ni el más pro-activo, el performance como atributo puede ser evaluado desde la concepción de los requerimientos, incluso desde el papel, aunque no exista aun una sola línea de código. (Ver métodos como el ATAM y QAW del SEI)

Hoy en el contexto actual tecnológico, la digitalización desde hace algunos años viene planteando nuevos retos en las operaciones de negocio de nuestros clientes y sobre todo en las áreas de TI para implementar dichas aplicaciones, lo cual conlleva a que las aplicaciones sean cada vez más complejas e interactúen con un sinfín de componentes internos y externos. Según datos de Dynatrace 2017, en promedio intervienen 83 diferentes componentes en una sola transacción. Lo cual también genera un cambio metodológico en las estrategias de pruebas de performance que permitan evaluar aplicaciones cada vez más complejas y con ciclos de desarrollo cada vez más cortos, rápidos y automáticos.

¿Cómo realizar pruebas en este ecosistema actual?

Según el contexto anterior, el performance como concepto es natural de cada software y ha sido parte del mal llamado grupo de pruebas no funcionales, lo cual ha generado una separación entre los atributos de calidad del software, esta reflexión nos lleva a pensar que los atributos como tal son integrales y no deben ser divisibles o separados, dado que están mutuamente correlacionados y se afectan entre sí, no podemos pensar solo en una aplicación que funcione, sino que funcione bien, sea rápida, segura e intuitiva.

Para ello existen diferentes métodos de medición del performance, desde las ya conocidas típicas de pruebas de carga y estrés, como el profiling o aún más eficientes y trasversales, los métodos de evaluación APM (Application Performance Management); todos estos métodos en pro de cumplir con la experiencia de usuario desde la perspectiva de atributo, siendo así Performance un atributo trasversal e inherente del software.

Continuos Performance validation:

Si de hablar de métodos de prueba se trata, es adecuado abordar el método Performance Continuos Validation, como su nombre lo indica, el concepto es la validación continua del performance, y esto cubre conceptos como Agile, DevOps, APM y nos deja la puerta abierta a configurarlo según nuestras necesidades, este concepto nace con los métodos de desarrollo ágil, donde por medio de los CI son integradas herramientas para la realización de pruebas como estrés, carga, escalabilidad entre otras, pero no nos limita a este tipo de pruebas, nos amplía a integrar todos los métodos posibles desde las fases más tempranas del ciclo de desarrollo, midiendo los criterios de aceptación por cada ciclo y apoyados en tecnología de punta como los APM, potencializando aún más la adopción de conceptos como el DEvOps, siempre y cuando se tengan claros los criterios de aceptación, en otras palabras: atributos de performance, que el software en fabricación debe cumplir.

En Choucair Testing, compañía pionera en software testing y especializada en transformación digital, contamos con los mejores métodos, herramientas y personal calificado para determinar el desempeño de sus aplicativos, resguardando así la experiencia de usuario, la expresión de su marca y los objetivos del negocio.

 

 

 

Automatización de Pruebas SAP

Publicada en

Cuando hablamos de Pruebas SAP, la primera pregunta que viene a la mente es ¿por qué realizar pruebas en SAP si es un producto de “caja” previamente probado? Y luego nos preguntamos también ¿por qué probar SAP si entre el 70% y el 80% de las grandes compañías del mundo utilizan esta plataforma por sus grandes bondades y confiabilidad?

La respuesta es que las organizaciones no implementan SAP original al 100% ya que existen particularidades de los procesos que hace necesario personalizarlos para ajustarlos a las necesidades. Estas personalizaciones, llamadas desarrollos Z en el medio SAP, que tradicionalmente son contratados con un proveedor tecnológico SAP, deben ser probados para validar el cumplimiento de las funcionalidades, la estabilidad y los niveles de calidad que exige un entorno tan crítico como es tu plataforma SAP.

La inclusión de nuevas personalizaciones (desarrollos Z) no son el único reto que deben enfrentar las compañías a la hora de tener ambientes productivos estables, también se presentan retos como los RollOuts, Support Package, Enhancement Package, instalación de notas, entre otros, que pueden afectar la calidad y la estabilidad de los ambientes productivos.

Realizar las pruebas exige gran inversión de tiempo por parte de los usuarios o analistas funcionales en la ejecución de pruebas, es aquí donde la automatización cobra relevancia y se convierte en una aliada estratégica por la rapidez, confiabilidad y lo principal, de forma autogestionada, es decir, sin la intervención del usuario.

La Automatización de pruebas SAP es el aprovechamiento de la tecnología mediante sistemas de control, herramientas de software especializado y hardware para apoyar la ejecución de casos de prueba y procesos operativos, sin desgastar los recursos en un proceso que podría ser automatizado y, logrando incrementar la productividad. En el mundo del desarrollo ágil de productos, la automatización busca principalmente la generación de feedback temprano para desarrollo.

Entre otras ventajas de la automatización está la posibilidad de enfocar las habilidades, conocimientos y esfuerzo de las personas en realizar actividades inherentes al negocio lo cual se traduce en un aumento de la productividad, competitividad, mayor oportunidad de crecimiento y disminución de costos asociados a la puesta en producción de un nuevo desarrollo.

¿Sabes qué son los ambientes de prueba de desarrollo de software?

Publicada en

Existe una constante y creciente preocupación por parte de los CEO por desarrollar aplicaciones y sistemas de información de calidad que satisfagan las necesidades de sus clientes, el mercado y que aporten valor a los negocios.

Las compañías se esmeran en lograr esto, para ello invierten gran cantidad de recursos que deben ser aprovechados de la mejor manera posible. Estos desarrollos están caracterizados por contar con múltiples equipos de proyectos y mantenimiento trabajando de forma simultánea, bajo cronogramas cada vez más exigentes y desarrollando sistemas que interoperen con gran variedad de otras aplicaciones y plataformas. Bajo un escenario como este, la administración integral de los ambientes de prueba, adquiere gran importancia para asegurar que el software sea puesto en producción con los desperdicios mínimos, en el tiempo requerido (time to market), con los niveles necesarios de calidad, el cumplimiento de políticas y normas gubernamentales. Cuando se hace un análisis de los recursos invertidos, se encuentra que realizar mejoras en la administración de los datos y ambientes de prueba puede reducir hasta en una tercera parte los costos anuales de control de calidad. Los impactos visibles para las organizaciones cuando estos dos elementos no funcionan de manera adecuada son:

Existen dos tendencias mundiales que han comenzado a aparecer en el mundo en los últimos años, ellos hacen referencia a cómo deben ser gestionados los ambientes y datos de prueba para que el proceso de creación de software y en especial el proceso de pruebas sea lo más óptimo posible.

  • TEM (Test Environment Management): este modelo propone la creación de una administración única centralizada de los ambientes de prueba, haciendo monitoreo, mantenimiento y resolviendo las situaciones que se presenten, estableciendo un único responsable del ambiente.
  • TDM (Test Data Management): este modelo asegura que las BDs de los ambientes de prueba contienen todo lo necesario para hacer buenas pruebas, procurando velocidad, eficiencia y el despliegue continuo de software.

Los ambientes de prueba y datos bien administrados son la base estable de la que todos dependemos para implementar nuestras soluciones de negocio. Sin embargo, estos elementos son claves dentro de las operaciones de TI, impactando nuestro potencial de entregar productos más rápidos y mejores al mercado.