INSTITUTO TECNOLÓGICO DE ESTUDIOS SUPERIORES DE MONTERREY
Título del proyecto de investigación:
Factibilidad de uso de herramientas tecnológicas de última generación para la realización de pruebas funcionales automáticas, proporcionando a ACCSoftware información que le permita definir la viabilidad de incorporar un nuevo servicio especializado.
e-PIE-323-09 A01685630 Abelardo Ramírez Ramírez Campus CDMX Marzo 21 de 2022
DEDICATORIA
Este trabajo de Maestría en Administración de Empresarial va dedicado a:
Mi esposa:
Jessica Rodríguez Reynoso
A mis padres:
Abelardo Ramírez López
Raquel Ramírez Esquivel
Y a mis hermanos:
Marco Antonio Ramírez Ramírez
María Isabel Ramírez Ramírez
Todos ellos que de una u otra forma han influido en para lograr este sueño, esperando también sirva de ejemplo respecto a que siempre es posible cumplir con los sueños, si te decides a trabajar en pro de lograrlos.
AGRADECIMIENTOS
Agradezco profundamente a mi esposa que vivió junto conmigo todo este proceso.
A mis padres quienes, con todo su amor, me han impulsado siempre y que con su trabajo y esfuerzo me dieron la oportunidad de tener una carrera profesional, permitiéndome con ello sentar las bases para llegar a este logro.
Y a mis hermanos por siempre estar ahí al pendiente y dispuestos a apoyarme en todo.
Así también agradezco a mi empresa ACCSoftware y a todo el equipo, ya que con su esfuerzo en el trabajo diario me permitió lograr este tan ansiado objetivo profesional.
RESUMEN
Este proyecto describe el interés que tiene ACCSoftware en la incorporación de un nuevo servicio de pruebas funcionales automáticas utilizando tecnología de última generación, siendo en este caso la inteligencia artificial (IA), la alternativa existente más importante que puede ser considerada.
El objetivo es realizar un análisis de factibilidad de utilizar alguna solución de automatización de pruebas que permita la creación de un nuevo servicio que pueda incorporarse al portafolios de servicios de la empresa y con ello incrementar la rentabilidad, todo esto desde una perspectiva cualitativa.
Como parte de esta investigación se realizaron actividades de investigación documental, entrevistas con un grupo de enfoque el cuál incluía personas con experiencia en este tipo de servicios ya sea como ejecutivo, consultor y clientes, permitiendo con ello conocer un poco más respecto a la posibilidad de considerar un servicio especializado con el uso de nueva tecnología que en este caso está enfocada a la IA en el proceso de pruebas funcionales automáticas.
En este documento se mencionan diferentes soluciones muy interesantes que podrían ser utilizadas para la creación de este nuevo servicio, así también se puede observar una perspectiva de factibilidad considerando aspectos de inversión y rendimiento que nos encamino a la viabilidad real de contar con un servicio con estas características.
Por último, se podrán encontrar algunas recomendaciones que hacemos a la empresa y las cuales están definidas como siguientes pasos en el camino a contar con este nuevo servicio de pruebas funcionales automáticas utilizando soluciones basadas en IA y con ello lograr beneficios para la empresa.
Tabla de contenido
AGRADECIMIENTOS...3
RESUMEN...4
Capítulo 1 – INTRODUCCIÓN...9
Capítulo 2 – DESCRIPCIÓN DE ACCSOFTWARE...13
2.1 Origen...13
2.2 Sector económico al que pertenece...14
2.3 Productos y servicios...14
2.3.1 Productos...15
2.3.2 Servicios...15
2.4 Estructura organizacional...15
2.5 Mercados que atiende...16
2.6 Principales competidores...17
Capítulo 3 – PRUEBAS DE SOFTWARE...18
3.1 Definición y Evolución...18
3.2 Modelos de pruebas...20
3.2.1 Modelo V...20
3.2.2 Modelo Híbrido...22
3.3 Automatización de Pruebas Funcionales...22
3.4 Soluciones actuales en el mercado...24
Capítulo 4 – NUEVA TECNOLOGÍA...27
4.1 Inteligencia Artificial...27
4.2 Identificación de nuevas soluciones...29
4.3 Licenciamiento...32
Capítulo 5 – IA: UN CAMBIO PARA LAS PRUEBAS DE SOFTWARE...34
5.1 Nuevos modelos de pruebas...34
5.2 Beneficios...34
5.3 Casos de éxito...37
Capítulo 6 – PRUEBAS AUTOMÁTICAS DE SOFTWARE (TRADICIONAL Vs. NUEVAS TECNOLOGÍAS) 6.1 Comparativo funcional...40
6.2 Análisis FODA de soluciones y servicios de pruebas automáticas con IA...40
6.3 Viabilidad económica...41
6.3.1 VPN y TIR...41
Capítulo 7 - MARCO METODOLÓGICO Y ANÁLISIS E INTERPRETACIÓN DE
RESULTADOS...43
7.1 Marco metodológico...43
7.1.1 Tipo de investigación cualitativa...43
7.1.2 Técnica y herramienta para obtener información: grupos de enfoque...43
7.2 Análisis e interpretación de resultados...44
7.2.1 Resultados obtenidos...44
7.2.2 Interpretación de resultados...50
7.2.3 Impacto de los resultados en el corto plazo...51
7.2.4 Impacto de los resultados en el largo plazo...52
Capítulo 8 – CONCLUSIONES...53
Capítulo 9 – RECOMENDACIONES...56
BIBLIOGRAFIA...59
Tabla de ilustraciones
Figura 2.1 ACCSoftware logo...13
Figura 2.2 Organigrama ACCSoftware...16
Figura 3.1 Modelo V de desarrollo de software...21
Figura 3.2 Modelo híbrido...22
Figura 3.3 Selenium logo...24
Figura 3.4 Microfocus UFT logo...24
Figura 3.5 SoapUI logo...25
Figura 3.6 Progress Telerik logo...25
Figura 3.7 Katalon logo...25
Figura 3.8 Watir logo...26
Figura 3.9 Rapise logo...26
Figura 4.1 Conjuntos de conceptos relacionados con la IA...28
Figura 4.2 Perfecto logo...30
Figura 4.3 Applitools logo...30
Figura 4.4 Functionize logo...31
Figura 4.5 Testim logo...31
Figura 4.6 Mabl logo...32
Figura 5.1 El camino hacia las pruebas autónomas (Gartner, 2020)...39
Figura 7.1 Principales innovaciones tecnológicas...45
Figura 7.2 Soluciones tecnológicas con IA...46
Figura 7.3 Incremento de eficiencia utilizando IA...46
Figura 7.4 Flujos de efectivo del proyecto...49
Figura 7.5 Cálculos de VPN y TIR...50
Capítulo 1 – INTRODUCCIÓN
Actualmente todas las empresas tienen diversas necesidades en el desarrollo de aplicaciones, páginas web, portales y esto es debido a que la forma más rápida para llegar al cliente final es acercando el producto a un clic del teléfono móvil o de la computadora.
Para lograr que los clientes cuenten con la mejor calidad de aplicaciones, es necesario que en su proceso de desarrollo se realicen pruebas, siendo estas las que nos ayudaran a detectar los errores y se pueda mejorar la calidad de estas, ahora bien, si a eso consideramos que las pruebas las podemos automatizar y con ello ser más ágiles en el proceso de detección de errores, nos genera un valor agregado.
Es por ello por lo que para esta investigación nos vamos a enfocar en la empresa ACCSoftware ubicada en la Ciudad de México, quien cuenta con amplia experiencia en servicios relacionados con la calidad del software y en particular con las pruebas funcionales automáticas.
Además, se tiene el interés de ir más allá y encontrar tecnologías que puedan ayudar a mejorar y agilizar los procesos de pruebas automáticas funcionales, generando beneficios tanto para la empresa como para a los clientes.
En este capítulo inicial se desarrolla una breve explicación de lo que son las pruebas de software, teniendo un enfoque muy particular en las pruebas automáticas funcionales, permitiendo con ello al lector un mejor entendimiento de
lo que son las pruebas, para que se utilizan, con qué tipo de soluciones tecnológicas se hace la automatización y como de forma general da un valor directo a la calidad del software.
También se hace un recorrido por nuevas tecnologías, principalmente las que tienen que ver con la inteligencia artificial, definiendo su significado y como podría aportar beneficios.
En esta investigación se incluyen algunas soluciones que cuenten con este tipo de tecnología y que puedan ser utilizadas en el mercado mexicano, así como el realizar una evaluación del costo-beneficio que permita conocer la viabilidad de contar con este tipo de servicios especializados.
Al final se busca entregar a ACCSoftware, información valiosa que le ayude a tomar la decisión respecto a utilizar esta nueva tecnología en los procesos de pruebas automatizadas, permitiéndole crear un nuevo servicio especializado, que a su vez pueda generar beneficios a la empresa y a sus clientes.
Con la finalidad de alcanzar este objetivo es necesario cumplir con algunos puntos importantes tales como:
Determinar la existencia de herramientas tecnológicas de nueva generación, que puedan apoyar en el proceso de realización de pruebas funcionales automáticas.
Describir los beneficios tecnológicos y económicos que pudieran entregar estas soluciones en la ejecución automática de las pruebas funcionales.
Por lo tanto, se definió una hipótesis que se enfoca en la idea del uso de soluciones tecnológicas de nueva generación permitiendo a la empresa obtener un beneficio (ahorro y/o un margen de ganancia), de al menos un 10% con respecto a los costos actuales, esto dirigido la realización de los servicios de pruebas funcionales automáticas.
Actualmente las pruebas son un eslabón esencial en el proceso de desarrollo de software y más si consideramos la necesidad de contar con aplicaciones que cumplan con los niveles más altos de aseguramiento de la calidad.
En esta investigación se considera a las pruebas como:
La prueba es el proceso de evaluación de un componente de sistema o sistema por medios manuales o automatizados para verificar que cumpla con los requisitos especificados, y con la intención de encontrar errores. 1
Las pruebas de software son el camino que se sigue para lograr la calidad.
2
Ahora bien otro elemento esencial en este proyecto, es conocer lo que es la inteligencia artificial, la cual podemos definir como la capacidad que tienen las máquinas para entender o comprender, aunque si lo consideramos así, la definición quedaría muy ambigua, por lo que para esta investigación vamos a utilizar la definición realizada por Marvin Misky que dice así "La Inteligencia
1 Chopra, R. (2018). Software Quality Assurance: A Self-Teaching Introduction. Mercury Learning & Information.
2 Jorgensen, P.C. (2014). Software Testing: A Craftsman´s Approach, Second Edition: Vol.
2nd ed. CRC Press.
Artificial es la ciencia de construir máquinas para que hagan cosas que, si las hicieran los humanos, requerirían inteligencia"3.
Tomando en consideración la tecnología actual enfocada a la inteligencia artificial y el servicio actual de pruebas funcionales automáticas, es que con esta investigación se busca encontrar alguna solución tecnológica que pueda aportar valor y generar beneficios para la empresa.
Capítulo 2 – DESCRIPCIÓN DE ACCSOFTWARE 2.1 Origen
ACCSoftware es una empresa de capital mexicano, que nació en la Ciudad de México en el año de 2007 y fue concebida como una empresa especializada en la
3 Cazorla Quevedo, M. A. (1999). Fundamentos de inteligencia artificial. Digitalia.
consultoría y la implementación de soluciones de software, dirigidas principalmente a requerimientos de negocio de Calidad de Software (Quality Assurance por sus siglas en Inglés) y a esquemas de monitoreo bajo el concepto de Business Availability Center (BAC).
Figura 2.1 ACCSoftware logo
La experiencia de los socios de la empresa se remonta a 2003, cuando a través de otra empresa llamada Global Net Solutions, se realizó la alianza con una empresa norteamericana llamada Mercury Inc, con el objetivo de traer al mercado mexicano y latinoamericano estas soluciones y con ello se desarrolló una gran experiencia en el tema de pruebas.
Con el pasar de los años la empresa se ha venido desarrollando y evolucionando en ámbitos y soluciones tecnológicas diferentes, pero sigue siendo muy reconocida por su experiencia en los servicios antes mencionados e incorporando algunos otros servicios de gran valor hoy en día.
2.2 Sector económico al que pertenece
Como bien es sabido existen tres principales sectores económicos que se clasifican en primarios, secundarios y terciarios, siendo ACCSoftware una
empresa que se ubica en el sector económico terciario, enfocado al tema de servicios de tecnología de información.
Si consideramos la necesidad de ubicar a la empresa con base en el Sistema de Clasificación Industrial de América del Norte 2018 (SCIAN 2018), la podemos encontrar ubicada en:
54 Servicios profesionales, científicos y técnicos
o 541510 Servicios de diseño de sistemas de cómputo y servicios relacionados.
Es una empresa que si consideramos la forma en como el INEGI (Instituto Nacional de Estadística y Geografía) clasifica el tamaño de las empresas de servicio, es considera como pequeña empresa, esto debido que cuenta con un total de 15 empleados y con una facturación anual aproximada de 14 millones de pesos.
2.3 Productos y servicios
ACCSoftware en una empresa que cuenta con diferentes tipos de soluciones y servicios tecnológicos siendo los principales los siguientes:
2.3.1 Productos
La línea de productos puede ser cambiante, esto considerando que la empresa siempre está en la búsqueda de nuevas soluciones que puedan ofrecer un valor o
un diferenciador a sus clientes, por lo tanto, la lista de soluciones que se detallan, corresponde a las proporcionadas directamente por la empresa:
Microfocus
Dynatrace
Oracle
Exagrid
2.3.2 Servicios
Con lo que respecta a los servicios la empresa, los establece principalmente en las soluciones que actualmente comercializa y es por ello por lo que estos servicios son:
Fábrica de Pruebas
Pruebas especializadas tanto funcionales como de volumen
Monitoreo de aplicaciones y procesos de negocio
Migraciones a la nube
2.4 Estructura organizacional
Con la información proporcionada por la empresa, es que se considera su estructura organizacional como una estructura centralizada, donde las decisiones
son tomadas por la dirección y la información va permeando a la organización a través de los diferentes niveles jerárquicos existentes.
Figura 2.2 Organigrama ACCSoftware
2.5 Mercados que atiende
La empresa cuenta con oficinas en la Ciudad de México, con ubicación física en Av. Insurgentes Sur 1647 Piso 1, Col. San José Insurgentes, Benito Juárez CP 03900, desde donde atiende proyectos para toda la República Mexicana.
Aunque actualmente no cuenta con proyectos fuera de México, no está limitada a que esto sea solamente así, considerando que su portafolio de servicios está basado en temas tecnológicos y es muy transparente que puedan existir proyectos principalmente en países de Latinoamérica.
Dirección General (Comercial)
Gerente Operaciones
QA
Consultores
Pruebas Consultores
Automatización
Gerente Operaciones
Monitoreo
Consultores Monitoreo
Consultores de Negocio
2.6 Principales competidores
El mundo tecnológico es muy amplio, por lo tanto, la cantidad de competidores es sumamente basto, pero con el objetivo de centrarnos en algunos competidores, podemos encontrar empresas desde muy grandes e internacionales a empresa más pequeñas que trabajan en el ámbito local.
Explicado lo anterior se consideran como competencia a:
Reconocidos a nivel mundial
o ACCENTURE
o DELLOITE
o SOFTTEK
o TATA
o INFOSYS
Reconocidos de forma local:
o INFOSYST
o PLANET MEDIA
o QUALTOP
o GRUPO TECNIS
o AXITY
o STEFANINI
o TESTING IT
o PRAXIS
Capítulo 3 – PRUEBAS DE SOFTWARE 3.1 Definición y Evolución
Es muy importantes para esta investigación el contar información general de lo que son las pruebas de software, de tal forma que nos permita comprender de una mejor forma a que se refiere y cómo podemos definirla.
Para ello me gustaría iniciar con un paso antes y el cual se refiere a la ingeniería de software, que es una disciplina relativamente actual, si la comparamos con otras disciplinas que son mucho más antiguas, como lo son la ingeniaría civil, la ingeniería química, le ingeniería eléctrica, ya que inicio en la década de los sesenta y se ha venido desarrollando década tras década, convirtiéndose en una ingeniería muy importante. 4
En lo que se refiere a las pruebas de software como definición, estás han venido evolucionando con el pasar de los años y es por ello por lo que existen diferentes definiciones dependiendo de la época en la que fueron concebidas.
4 Mili, A., & Tchier, F. (2015). Software testing: concepts and operations (1st ed). Jhon Wiley
& Sons, Incorporated.
1979: La prueba de software es el proceso de ejecutar un programa o sistema con la intención de encontrar errores
1983: Las pruebas son cualquier actividad dirigida a evaluar un atributo de un programa o sistema. La prueba es la medición de la calidad del software.
2002: La prueba es un proceso concurrente del ciclo de vida de la ingeniería, el uso y el mantenimiento de los casos de prueba para medir y mejorar la calidad del software que se está probando. 5
2020: La prueba de software es una parte integral del ciclo de vida del desarrollo del software, la cual nos permite confirmar la funcionalidad, el rendimiento, la seguridad y la experiencia del usuario final, a través de pruebas funcionales o no funcionales.
Los tipos de pruebas de software de forma general se dividen por su objetivo en 6 :
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas integrales
Pruebas de aceptación
Pruebas de rendimiento
5 Craig, R. D., & Jaskiel, S.P. (2002). Systematic Software Testing. Artech House, Inc
6 Pittet, S. (2022). Los distintos tipos de pruebas de software. Atlassian CI/CD. Recuperado de: https://www.atlassian.com/es/continuous-delivery/software-testing/types-of-software- testing
Pruebas de humo
Cualquier tipo de pruebas pueden ser realizadas tanto de forma manual como automática. La prueba manual es realizada a través de actividades de detección de errores que realiza la persona de pruebas, siguiendo un guion de pruebas y haciendo clic en la aplicación tal cual lo hiciera un usuario final.
Las pruebas automáticas se realizan a través de una máquina que ejecuta un script de prueba escrito con antelación en algún lenguaje de programación y la ejecución se realiza a través de alguna herramienta de pruebas funcionales.
3.2 Modelos de pruebas
En esta investigación haremos la referencia de solo algunos modelos de pruebas que son muy utilizando en las empresas y que nos servirán únicamente de referencia para tener un mejor contexto de la forma en cómo se realizan las pruebas de software.
3.2.1 Modelo V
El modelo de desarrollo de software en V es tal vez uno de los modelos más conocidos. Dentro de él se describen las etapas y resultados que deben darse durante el desarrollo del software y en las pruebas de software.
El lado izquierdo de la V hace referencia al desglose de las necesidades del cliente y las etapas de implementación de las especificaciones del sistema:
Definición de requisitos.
Diseño funcional del sistema.
Diseño técnico del sistema.
Especificación de componentes.
El lado derecho de la V hace referencia a los distintos niveles de prueba:
Pruebas de componente.
Prueba de Integración.
Pruebas de sistema.
Pruebas de aceptación.
El vértice que une a ambas aristas es la etapa de codificación propiamente dicha, etapa en la cual los desarrolladores transformarán las especificaciones en líneas de código.
Dentro del modelo V, las pruebas se deben realizar en todos los niveles del software, que es lo recomendable, dado que aportan ventajas significativas. Por ejemplo, permiten la detección de defectos de manera temprana cuando ejecutamos pruebas a nivel unitario. 7
7 Admin (2020). Testing en Modelo V. Quassure. Recuperado de:
https://quassure.com/testing-en-modelo-v/
Figura 3.3 Modelo V de desarrollo de software
3.2.2 Modelo Híbrido
Otro buen ejemplo de modelo de pruebas está basado en los modelos de TMMi (Testing Maturity Model integrated) y MoProSoft (Modelo de Procesos de Software, el cual busca controlar las fases del del proceso de pruebas de software.
Figura 3.4 Modelo híbrido
3.3 Automatización de Pruebas Funcionales
El tipo de pruebas a las que nos vamos a enfocar en esta investigación son las pruebas funcionales automáticas, las cuales sabemos que son realizadas a través de una máquina que ejecuta un script de pruebas realizado con antelación y que es generado en diferentes tipos de lenguajes dependiendo de la herramienta en la que se realice.
Ahora bien, la automatización es una alternativa para hacer las pruebas y que nos ayuda a obtener beneficios siendo algunos de ellos los siguientes:
Incrementa la eficiencia con la que se llevan a cabo las pruebas, esto considerando que algunas de las actividades en el proceso de pruebas son repetitivas, en específico la ejecución de las pruebas
Ayuda de forma significativa a llevar un control de las ejecuciones y los resultados obtenidos, dejando evidencias y elementos completamente auditables,
Mejora sustancialmente los tiempos de ejecución, sobre todo por el hecho de que pueden realizarse de forma desatendida, sin una injerencia de personal de pruebas, permitiendo también aprovechar al máximo los tiempos y ventanas definidas para el proceso de pruebas.
Se incrementa la fiabilidad de las pruebas, esto debido a que no tienen injerencia manual y por lo tanto se evitan los errores humanos.
Y un último beneficio indirecto, es la liberación de personal de pruebas que perfectamente de puede encargar de otras actividades que si requiera de atención de personal.
Así también es importante considerar algunos elementos que son necesarios para tomar la decisión de automatizar y entre ellos esta:
Soluciones de tecnología más apropiadas a la tecnología utilizadas en el desarrollo de sistemas de la empresa.
Considerar los costos de inversión por adquisición de la tecnología (herramienta tecnológica), infraestructura y capacitación.
Establecer el proceso de generación, ejecución y actualización de scripts de pruebas automáticas, para con ello lograr un real beneficio en la automatización de las pruebas funcionales.
3.4 Soluciones actuales en el mercado
Existen una gran variedad de soluciones tecnológicas enfocadas a la automatización de pruebas funcionales, las cuales pueden open source o de licenciamiento y entre las más utilizadas podemos encontrar las siguientes:
Selenium: Es una herramienta portátil de código abierto y proporciona pruebas funcionales de varios módulos de aplicaciones web en plataformas y navegadores. Admite la ejecución de texto en paralelo, lo que ahorra mucho tiempo de prueba. Selenium admite muchos lenguajes como Java, Ruby, C #, Python, etc.
Figura 3.5 Selenium logo
Microfocus UFT: Es una herramienta, enfocada a la creación de pruebas automáticas para asegurar la calidad mediante pruebas funcionales y de regresión que soporta una gran variedad de lenguajes de programación, así como también cuenta con una gran cantidad de integraciones con otras soluciones de pruebas.
Figura 3.6 Microfocus UFT logo
Soapui: Es una herramienta de prueba de código abierto o de prueba inteligentes, facilitan la creación, administración y ejecución de las pruebas de extremo a extremo.
Figura 3.7 SoapUI logo
Progress Telerik: Solución que permite la automatización de pruebas para ambientes web, Windows Presentation Foundation (WPF), cubriendo diversas necesidades de pruebas como funcionales, de regresión, carga y RESTFul API.
Figura 3.8 Progress Telerik logo
Katalon: Es una solución robusta de generación de casos de pruebas en diversas plataformas. Cuenta con un IDE (Integrated Development Environment) productivo para generar pruebas automatizadas fácilmente para todas las plataformas y sistemas operativos, independientemente de la complejidad de la aplicación.
Figura 3.9 Katalon logo
Watir: Es una biblioteca de Ruby de código abierto para automatizar pruebas, interactúa con un navegador de la misma manera que la gente lo hace: dando clic en los enlaces, completando formularios y validando texto.
Figura 3.10 Watir logo
Rapise: es una poderosa plataforma de automatización de pruebas de software que aprovecha la potencia de la arquitectura abierta y extensible para ofrecer una herramienta de pruebas funcional rápida y flexible. Ideal para los proyectos ágiles de software.
Figura 3.11 Rapise logo
Capítulo 4 – NUEVA TECNOLOGÍA 4.1 Inteligencia Artificial
Como seres humanos siempre estamos en búsqueda de generar máquinas que hagan nuestro trabajo y con ello facilitarnos las actividades de todo tipo, desde las más sencillas hasta las más complejas y peligrosas y es por ello por lo que el
concepto de inteligencia artificial nos genera un sinfín de posibilidades respecto a lo que una máquina puede llegar a hacer.
Siendo así tenemos que acotar claramente lo que se considera como inteligencia artificial, para que podamos tener un contexto definido y un alcance claro.
La definición que más se apega a nuestro entendimiento de inteligencia artificial es el definido por Marvin Misky y la define así: “La Inteligencia Artificial es la ciencia de construir máquinas para que hagan cosas que, si las hicieran los humanos, requerirían inteligencia" 8
Con esta definición ahora sólo nos queda ubicar a la inteligencia artificial en un contexto completo de conceptos relacionado de tal forma que podamos ubicar sus alcances y áreas de acción, siendo estos conceptos importantes los siguientes 9:
Ciencia de Datos: Como su nombre lo indica es un campo multidisciplinario centrado en extraer información que puede ayudar a una empresa a tomar mejores decisiones.
Inteligencia Artificial (IA): Es la construcción de máquinas que hacen los humanos y para la cual se requiere de inteligencia.
Machine Learning (Aprendizaje automático): Es un subconjunto de Inteligencia Artificial y se utiliza en escenarios en los que necesita que las 8 Cazorla Quevedo, M. A. (1999). Fundamentos de inteligencia artificial. Digitalia.
9
Boy G. (2021). Las diferencias que hay entre Data Science, Inteligencia Artificial, Machine Learning y Deep Learning. Programmatic Spainmáquinas aprendan de grandes volúmenes de datos, además le da a una máquina la capacidad de aprender de conjuntos de datos más nuevos sin dar instrucciones explícitas.
Deep Learning (Aprendizaje profundo): Es un subconjunto o bien un avance de Machine Learning y entra cuando Machine Learning no puede ofrecer completamente los resultados deseados o bien para resolver problemas más complejos.
Figura 4.12 Conjuntos de conceptos relacionados con la IA
4.2 Identificación de nuevas soluciones
El mundo de las soluciones tecnológicas cambia constantemente y es por ello por lo que todos los días podemos encontrar nuevos productos y/o herramientas para la automatización de pruebas automáticas.
La principal tecnología que se puede utilizar para mejorar las herramientas de pruebas está dirigida a la IA y la mayor ventaja de las herramientas impulsadas
con IA, esto comparado con herramientas tradicionales, es la facilidad de mantenimiento. Las herramientas habilitadas para utilizar IA tienen capacidades de auto corrección construidas, con ello cualquier cambio en la aplicación la herramienta hace la corrección de los scripts de prueba y esto hace que las herramientas alimentadas con AI sean tan atractivas.
Ahora bien, realizando una investigación en el mercado mundial de herramientas de pruebas funcionales automáticas que cuenten con tecnología especial de inteligencia artificial, es que logramos encontrar algunas alternativas que por el nivel de innovación que tienen podrían ser consideradas para que ACCSoftware las pudiera incorporar en su portafolio de soluciones y con ello llevar a sus clientes un esquema nuevo de servicios de pruebas funcionales automáticas.
Algunas de las soluciones más innovadoras que existen en el mercado mundial y que utilizan la IA son:
Perfecto: Es una plataforma de automatización de prueba a IA para regresión y pruebas continuas que funcionan en la capa superior de Selenium. El papel de la tecnología de IA es eliminar el tiempo y el costo de mantenimiento al superar automáticamente los cambios en la aplicación.
Figura 4.13 Perfecto logo
Applitools: Proporciona una plataforma de prueba de software de extremo a extremo que funciona con Visual IA y es en la automatización de pruebas,
manual de QA, DEVOPS y equipos de transformación digital. Además, el algoritmo de aprendizaje de la AI y la máquina son totalmente adaptativos:
escanea las pantallas de las aplicaciones y los analiza como el ojo humano y el cerebro, pero con el poder de una máquina.
Figura 4.14 Applitools logo
Functionize: Es una tecnología de prueba automatizada basada en la nube que se usa para pruebas funcionales, de rendimiento y carga. Esta herramienta utiliza el aprendizaje de la máquina y la inteligencia artificial para acelerar la creación de pruebas, el diagnóstico y el mantenimiento.
Figura 4.15 Functionize logo
Testim: Herramienta de prueba funcional automatizada, utiliza la inteligencia artificial y el aprendizaje de la máquina para acelerar la creación, la ejecución y el mantenimiento de las pruebas automáticas.
Hablando de apoyo, la herramienta se ejecuta en diferentes navegadores y plataformas como Chrome, Firefox, Edge, IE, Safari y Android.
Figura 4.16 Testim logo
Mabl: Es una plataforma de devtestops unificada que facilita que los desarrolladores y al personal de pruebas a crear y ejecutar las pruebas funcionales automatizadas más rápido y a escala. Algunas de las características incluyen la creación de pruebas automáticas robustas con la consideración que la infraestructura de pruebas que es totalmente administrada en la nube y genera pruebas con corrección automática que pueden adaptarse a los cambios de la interfaz sin intervención manual.
Figura 4.17 Mabl logo
4.3 Licenciamiento
Para esta investigación se selecciona para cada producto aquella versión con costo y que permita realizar pruebas automáticas funcionales.
Perfecto
o Licenciamiento Automate
o Precio de 125 USD por mes por usuario
Applitools
o Licenciamiento Starter
o Paquete de 3 usuarios
o Sin información de precio
Functionize
o Licenciamiento Starter
o Paquete de 3 usuarios
o Sin información de precio
Testim
o Licenciamiento Essentials
o 4 pruebas en paralelo
o Sin información de precio
Mabl
o Licenciamiento Growth
o Pruebas ilimitadas de forma local
o Sin información de precio
Capítulo 1 – IA: UN CAMBIO PARA LAS PRUEBAS DE SOFTWARE 5.1 Nuevos modelos de pruebas
La IA hoy en día podría ser considerada como una de las grandes irrupciones tecnológicas que cambiara nuestra forma de ver y hacer las actividades diarias, un ejemplo similar a lo que fue el Internet desde su irrupción de forma masiva en la década de los ochenta.
Las actividades de pruebas de software con base en la IA utilizan modelos, métodos y herramientas de validación de calidad bien definidos. Su objetivo principal es validar las funciones del sistema, a través de modelos, técnicas y tecnologías de Machine Learning.
5.2 Beneficios
La IA se está comiendo el mundo, es posible que haya oído hablar de automóviles de conducción automática o bots de operaciones de mercado de valores automatizados, pero hay otra área donde la IA está teniendo un monumental Impacto: Pruebas de software.
Los beneficios de la IA en las pruebas de software son: 10
Creación de prueba más rápida:
10 Top 7 benefits of using AI in software testing. (2021, October 7). Infotech Lead.
Recuperado de: https://www.reprintsdesk.com/landing/dl.aspx?o=8502862&r=690166743
En soluciones de automatización de pruebas como Selenium o UFT la creación de los guiones de pruebas automáticos puede tomar horas incluso para las pruebas más simples.
Si se utiliza un marco de pruebas con IA, la prueba se crea en minutos, siguiendo el caso de prueba paso a paso, incluso a menudo no hay necesidad de escribir código, facilitando el proceso de grabación.
Democratiza la creación de pruebas
Los marcos de prueba con IA, generalmente no requieren de colocar código de tal forma que todos en la empresa están en posibilidad de convertir su personal en personal de pruebas automáticas.
Aprendizaje de los errores de los demás
Usando un marco de prueba con IA es como tener el poder de miles de desarrolladores expertos a su alcance, considerando que los modelos cuentan con millones de datos sobre los cuales trabajó el Machine Learning.
Creación automática de nuevas pruebas
En lugar de escribir todas sus pruebas a mano, la IA crea pruebas automáticamente. Por ejemplo, el modelo aprende cuánto tiempo debe tomar cada página para cargar y elegir un tiempo de espera inteligente antes de su primera interacción. Si la página de repente toma más tiempo
en cargarse, el modelo informa que esto es un fallo. Este es solo un ejemplo de una prueba que IA crea automáticamente.
Autocorrección de pruebas
Los modelos de IA aprenden cómo se supone que el sitio debe verse. Si un elemento cambia o se mueve, busca el objeto y selecciona el correcto. Por ejemplo, si mueve el botón 'Regístrese ahora' a la parte inferior de la página y cambia el texto a 'Regístrese', entiende lo que se ha hecho y aun así lo selecciona. A pesar de que cambió el sitio, la prueba pasa sin que se necesite hacer nada, es decir, se corrigió automáticamente.
Correcciones con un solo clic
Si se elimina completamente un botón o cambia cada opción en un menú desplegable, incluso una prueba basada en IA fallará. Sin embargo, gracias a los millones de pruebas, el modelo ha sido capacitado, el marco se da cuenta de que existe un problema y sugiere posibles cosas que pueden haber cambiado. Entonces, se presenta una lista de posibles problemas y soluciones. Todo lo que tiene que hacer es hacer clic en la opción correcta, y con ello actualiza la prueba.
Reduce el tiempo de mantenimiento
La combinación de las pruebas con autocorrección y de corrección de un solo clic, equivale a una reducción significativa en la cantidad de tiempo
empleado en el mantenimiento de la prueba, evitando el gran esfuerzo que conlleva el mantenimiento.
5.3 Casos de éxito
El uso de la inteligencia artificial en diversos ámbitos ha generado una amplia gama de casos de éxito y según Gartner 11: “El mercado de herramientas de prueba de software se está moviendo rápidamente desde apoyar la ejecución de pruebas simples, hasta aplicar IA en todo el proceso completo del ciclo de prueba de software. Los líderes de ingeniería de software trabajan en construir una cartera de múltiples herramientas y capacidades para admitir la IA aumentada en las pruebas de software”.
Además, menciona que para 2025, el 70% de las empresas habrán implementado un uso activo de las pruebas AI-Aumentadas, más de 5% en 2021.
Y como parte del proceso de éxito para las pruebas automáticas el mismo Gartner define seis niveles de autonomía para las pruebas 12.
Nivel 0. Pruebas manuales: el humano está en completo control de las actividades de prueba y scripts en todo momento. No hay asistencia de herramientas.
11 Market Guide for AI-Augmented Software Testing Tools. (2021, Decembre, 17). Gartner.
Recuperado de: https://www.gartner.com/document/4009599?ref=solrAll&refval=317056952
12 Innovation Insight for Autonomous Testing. (2020, October, 28). Gartner. Recuperado de:
https://www.gartner.com/document/3992325?ref=TypeAheadSearch
Nivel 1. Pruebas asistidas: los scripts de automatización de pruebas pueden ejecutar repetidamente un caso de prueba, utilizando características basadas en datos para cubrir varias entradas o escenarios.
Nivel 2. Pruebas parcialmente automatizadas: el humano mejora los scripts de automatización de pruebas codificando los que se crearon utilizando herramientas de grabación.
Nivel 3. Pruebas automatizadas integradas: el humano define la intención de alto nivel de una prueba para un proceso de negocio en particular (por ejemplo, al definir visualmente el negocio proceso de flujo de trabajo). Las pruebas se ejecutan luego en función de esta definición.
Nivel 4. Pruebas automáticas inteligentes: los testbots realizan pruebas exploratorias generando y ejecutando la mayoría de los escenarios de prueba de forma independiente. Las pruebas funcionan activamente y los scripts de prueba se actualizan automáticamente.
Nivel 5. Pruebas autónomas: no se necesita asistencia humana y las máquinas son
capaces de evaluar una solicitud, decidir qué, cuándo, dónde y cómo deben ser las pruebas, realizando un resumen de los resultados para proporcionar una decisión de liberación o no liberación basada en los resultados de las pruebas.
Figura 5.18 El camino hacia las pruebas autónomas (Gartner, 2020)
Capítulo 2 – PRUEBAS AUTOMÁTICAS DE SOFTWARE (TRADICIONAL Vs.
NUEVAS TECNOLOGÍAS) 6.1 Comparativo funcional
Como se ha comentado en capítulos anteriores, el principal diferenciador existente entre las soluciones tradicionales de pruebas y las que utilizan en este caso IA, está definido por la forma en como la IA ayuda a facilitar los procesos de grabación de scripts de pruebas, permitiendo que estos puedan ser generados sin necesidad de contar con un especialista en programación que lo realice, además de facilitar el proceso de mantenimiento por el hecho de que los scripts se autocorrigen.
6.2 Análisis FODA de soluciones y servicios de pruebas automáticas con IA
Para contar con una mejor visión de como este tipo de pruebas pueden dar o no un valor agregado a los servicios de la empresa, es que se genera un análisis FODA que nos permita tener visión completa de este servicio en ACCSOFTWARE desde una perspectiva interna y externa.
El análisis FODA es una lista de las fortalezas y debilidades de una organización analizando sus recursos y capacidades, así como una lista de las amenazas y oportunidades que se identifica con el análisis de su entorno (Stacey, 1993).13
Fuerzas
o Enfoque de las fortalezas de la empresa para poder realizar servicios con esta tecnología
13 Stacey, R. D. (1993). Strategic Management and Organizational Dynamics . Pitman:
Londres.
Oportunidades
o Opciones que ofrecen la solución que utilizan IA en un ámbito de pruebas funcionales automáticas.
Debilidades
o Consideración de debilidad que tiene la empresa con respecto al uso de soluciones de pruebas funcionales automáticas utilizando IA.
Amenazas
o Riesgos externos que pueden afectar la decisión de incorporar este tipo de servicios a la empresa.
6.3 Viabilidad económica
Para poder llevar a cabo un análisis completo respecto a la viabilidad de contar con un servicio especial de pruebas automáticas utilizando herramientas con IA, es importante establecer los costos que esto implicaría, así como conocer el monto de inversión prevista para esta posible nueva línea de servicios.
Para ello se considera realizar un análisis que nos permita conocer la viabilidad de esta inversión en una solución y servicios de pruebas funcionales automáticas utilizando IA.
6.3.1 VPN y TIR
La alternativa que se utiliza en este análisis es el método de evaluación de proyectos a través del Valor Presente Neto (VPN) y la Tasa Interna de Retorno (TIR).
Con este método el resultado que proporciona la TIR es lo más parecido que existe al VPN, sin que en realidad sea este. El argumento básico que respalda el
método de la tasa interna de rendimiento es que proporciona una sola cifra que resume los méritos de un proyecto. Esta cantidad no depende de la tasa de interés que prevalece en el mercado de capitales. Por eso se denomina tasa interna de rendimiento: la cifra es interna o intrínseca al proyecto y no depende de otra cosa que no sean los flujos de efectivo del proyecto. 14
Un ejemplo de esta fórmula es:
Donde R es la tasa de descuento
Y la regla general de inversión es clara: Aceptar el proyecto si la TIR es mayor que
la tasa de descuento. Rechazar el proyecto si la TIR es menor que la tasa de descuento.
Con este método se busca revisar la viabilidad de llevar a cabo el proceso de incorporación de este nuevo servicio de pruebas funcionales automáticas en ACCSoftware.
14 Ross, S., Westerfield, R., Jaffe, J., y Jordan, B. (2018). Finanzas corporativas (11.a ed.).
McGraw-Hill Interamericana. https://0-bc-vitalsource-com.biblioteca-
ils.tec.mx/tenants/BIB_TECDEMTY/libraries?bookmeta_vbid=9781456261207Enlaces a un sitio externo.
Capítulo 3 - MARCO METODOLÓGICO Y ANÁLISIS E INTERPRETACIÓN DE RESULTADOS
7.1 Marco metodológico
7.1.1 Tipo de investigación cualitativa
El desarrollo de esta investigación se realiza bajo un marco metodológico cualitativo, aunque durante el proceso de selección del tema del proyecto e incluso durante la parte inicial del mismo, se pensó que se utilizaría un marco metodológico mixto, esto no fue posible debido a dos puntos esenciales, uno el tiempo y el segundo la cantidad de información cuantitativa disponible.
Es importante mencionar que el tipo de investigación desarrollada para este trabajo se fundamenta en los pasos metodológicos establecidos en el libro Metodología de la Investigación: las rutas cuantitativa, cualitativa y mixta (Hernández-Sampieri, R. y Mendoza Torres, C. P. (2018)). 15
7.1.2 Técnica y herramienta para obtener información: grupos de enfoque
Para esta investigación se considera como un estudio de casos, por lo tanto, el número de personas de la muestra que se definió es de cinco personas, las cuales cuentan con la experiencia suficiente en el tema de pruebas funcionales automáticas, de tal forma que puedan atender las preguntas definidas para la obtención de la información de referencia requerida.
15 Hernández-Sampieri, R. y Mendoza Torres, C. P. (2018). Metodología de la investigación:
las rutas cuantitativa, cualitativa y mixta. McGraw-Hill Interamericana. Recuperado de:
https://0-bc-vitalsource-com.biblioteca-ils.tec.mx/tenants/BIB_TECDEMTY/libraries?
bookmeta_vbid=9781456262020
El proceso de recolección de datos se realiza a través de una sesión de un grupo de enfoque, integrado por las cinco personas especialistas en temas relacionados con las pruebas funcionales automáticas y las cuales están relacionadas con la empresa ACCSOFTWARE, ya sea como empleados, socios de negocio, o incluso también como clientes, a quienes a través de un proceso semiestructurado se les realizó un conjunto de preguntas bien definidas y a través de las cuales se estableció un proceso de generación de información, gracias a la colaboración de nuestros cinco especialistas.
7.2Análisis e interpretación de resultados 7.2.1 Resultados obtenidos
La sesión de este grupo de enfoque se realizó el día 24 de febrero con la participación de especialistas en diferentes roles tales como:
Especialista de pruebas funcionales automáticas
Consultor de pruebas funcionales y de pruebas de carga y volumen
Gerente de Fábrica de Pruebas
Socio de negocio en el ámbito de pruebas
Cliente o usuario final del servicio de pruebas
La sesión generada con este grupo de enfoque nos permitió obtener información relevante para esta investigación, entre las principales respuestas que apoyaron a
este proceso tenemos 3 preguntas esenciales que nos encaminaron en nuestra investigación:
Cuando se realizó la pregunta respecto a cuáles han sido las principales innovaciones en el área de TI durante los últimos 10 años, las respuestas se dividieron en los siguientes porcentajes: 40% Inteligencia Artificial, 20% Internet de las Cosas, 20 % Big Data y 20 % en Business Intelligence.
20.00%
40.00%
20.00%
20.00%
Principales Innovaciones (últimos 10 años)
Internet de las Cosas Inteligencia Artificial Big Data Inteligencia de Negocios
Figura 7.19 Principales innovaciones tecnológicas
Otra de las preguntas relevantes y que se enfocó al tema de pruebas funcionales automáticas, fue la que se refería a si conocía alguna solución que utilizara IA en el proceso de generación de pruebas funcionales automáticas, siendo las soluciones mencionadas las siguientes: 40% Mabl, 20% la solución de Perfecto, 20% la solución de Appitools y finalmente 20% la solución de Functionize.
40.00%
20.00%
20.00%
20.00%
Soluciones Tecnológicas con IA
Mabl Perfecto Applitools Functionize
Figura 7.20 Soluciones tecnológicas con IA
La pregunta realizada con respecto a si el uso de tecnología con IA podría generar mayor eficiencia en los procesos de pruebas funcionales automáticas, la respuesta fue unánime respecto a que definitivamente el uso de esta tecnología generaría mayor eficiencia, siendo por consecuencia el 100% de las personas que respondieron de forma afirmativa.
Si No
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
¿El uso de nueva tecnología (IA) incrementa la eficiencia?
Figura 7.21 Incremento de eficiencia utilizando IA
Para contar con una mejor visión de como este tipo de pruebas con IA pueden dar un valor agregado a los servicios de la empresa, se genera un análisis FODA que nos permita tener una visión completa de este servicio en ACCSOFTWARE.
Fuerzas
o Conocimiento de los servicios relacionados con pruebas automáticas o Cuenta con consultores especialista de pruebas
o Clientes actuales con necesidades de mejora en temas de mantenimiento de sus scripts de pruebas
o Se cuenta con metodologías y certificaciones en pruebas de software
Oportunidades
o Mejorar los procesos de pruebas automáticas con el uso de IA o Establecer servicios con mejores herramientas para la
automatización de pruebas
o Acelerar la generación de pruebas automáticas funcionales
o Llevar al mercado mexicano nueva tecnología enfocada a pruebas o Incrementar clientes gracias a las mejoras generadas por la IA
Debilidades
o Falta de especialistas con conocimiento en IA
o Curva de conocimiento en las soluciones de pruebas con IA
Amenazas
o Costos elevados por ser tecnología reciente o Pocas alternativas de soluciones que utilizan IA
o Falta de soporte local en México
Ahora bien, considerando lo obtenido en la sesión del grupo de enfoque y lo obtenido en el análisis FODA realizado, se decidió realizar también una revisión con información cuantitativa, de tal forma que se desarrolló el análisis viabilidad económica de este proyecto de incorporación de un nuevo servicio de pruebas funcionales automáticas, utilizando IA y esto se realizó a través del método de VPN y la TIR.
ACCSoftware con base en la información proporcionada nos indicó que al realizar esta inversión se debería tener un retorno de inversión en máximo 3 años, lo que nos lleva a generar los cálculos correspondientes en el plazo definido.
Tiempo del proyecto: 3 años
Monto de Inversión Inicial: $ 500,000 pesos MN
Tasa de Descuento: 10%
A pesar de que la tasa de interés bancaría se encuentra en el 6% (BANXICO Febrero, (2022)) 16, la empresa indicó su interés respecto a utilizar una tasa de descuento del 10%, con el objetivo de cubrir algunos riesgos por la situación existente de inestabilidad mundial e incremento de la inflación, la cual está en los
16
Gobierno de México. (2022). La tasa de referencia-Banxico aumentó a 6.00%.Recuperado de: https://www.gob.mx/shcp/gacetaeconomica/articulos/la-tasa-de-referencia- banxico-aumento-a-6-00#:~:text=Hoy%2010%20de%20febrero%20de,de%20febrero%20de
%20este%20a%C3%B1o.
7.07% 17, esto si consideramos la inflación acumulada de diciembre de 2021 a enero de 2022.
En lo que respecta a los flujos que se consideraron para esta evaluación se obtuvieron gracias a la revisión de ingresos y gastos que la empresa tiene y que, aunque son montos muy variables, se llegó al acuerdo de considerar los siguientes flujos como supuestos para los años uno, dos y tres.
Año 1: $ 150,000
Año 2: $ 300,000
Año 3: $ 400,000
Figura 7.22 Flujos de efectivo del proyecto
17
INEGI. (2022). Índice Nacional de Precios al Consumidor. Recuperado de:https://www.inegi.org.mx/app/indicesdeprecios/calculadorainflacion.aspx
Considerando estos valores, se generaron los cálculos correspondientes para obtener el VPN y también la TIR, con el objetivo de conocer la viabilidad económica que la implementación de este nuevo servicio de pruebas funcionales automáticas con IA tendría para la empresa.
Figura 7.23 Cálculos de VPN y TIR
Con estos cálculos los VPN de los flujos de efectivo son:
Año 0: $ -500,000
Año 1: $ 136,363.64
Año 2: $ 247,933.88
Año 3: $ 300,525.92
Con esto se obtuvo que el VPN de esta inversión es de: $184,823.44 Pesos MN y con una TIR = 26.93 %.
7.2.2 Interpretación de resultados
Si tomamos en consideración la información obtenida tanto en el grupo de enfoque, el análisis FODA y el análisis bajo el método de VPN y TIR, podemos confirmar la viabilidad de realizar la incorporación de este nuevo servicio al portafolio de ACCSoftware, esto considerando que nuestro VPN es positivo y que por lo tanto tendremos ganancia con esta inversión, considerando que estos márgenes de ganancia cuentan con una TIR de 26.93%, tal cual se puede observar en los cálculos realizados.
Como recomendación para la empresa, se especifica el hacer la selección de una de las soluciones tecnológicas que utilizan IA y que fueron mencionadas en este estudio, esto con el objetivo de incorporarla y utilizarla para realizar pruebas funcionales automáticas, de tal forma que pueda empezar a hacer uso de esta nueva tecnología en pro de obtener los beneficios que esta nos ofrece, eso sí considerando que existirá una curva de aprendizaje que definitivamente debemos transitar pero que al final generará beneficios para la empresa y sus clientes.
7.2.3 Impacto de los resultados en el corto plazo
Este proyecto tiene como finalidad el ofrecer a ACCSoftware información de valor que le permita tomar la opción de utilizar tecnología innovadora, en este caso la IA para el desarrollo de los servicios de pruebas funcionales automáticas.
Según la información obtenida se puede considerar que la incorporación de este nuevo servicio genere una buena oportunidad para la empresa, además de
proporcionar mejoras también para el cliente final, quién podría obtener los beneficios de utilizar esta tecnología.
Durante el primer año se deberá considerar el proceso de capacitación y certificación del personal de ACCSoftware en la nueva solución, con lo que permitirá mejorar el conocimiento del personal técnico y aprovechar este proceso como un valor especial de crecimiento para el personal.
7.2.4 Impacto de los resultados en el largo plazo
Tomando en consideración los resultados, podemos iniciar mencionando que con la información obtenida se puede considerar que durante el proceso de este servicio en los años dos y tres, se podrá contar con ingresos para ACCSoftware, permitiendo con ello una estabilidad económica con respecto a la inversión realizada.
Ahora bien, un impacto importante para ACCSoftware, es el posicionarse como una empresa innovadora en el mercado mexicano, generando servicios con valor a sus clientes e incrementando el número de clientes.
Otro impacto para considerar es que la empresa podría provocar en los empleados un sentimiento de identidad, fomentando en ellos la lealtad hacía la empresa, esto gracias a que verían reflejado el interés de la empresa en su crecimiento profesional, lo que sería un aspecto indirecto pero muy importante en cada persona.
Capítulo 4 – CONCLUSIONES
El proceso de investigación realizado consideraba algunos objetivos importantes para cumplir con el requerimiento de ACCSoftware, respecto a la factibilidad de utilizar herramientas de última generación en la realización de pruebas funcionales automáticas y con ello poder contar con información para su incorporación como un nuevo servicio al portafolio de la empresa.
Los objetivos fueron logrados de forma parcial, considerando que se realizó un análisis que nos permitió conocer soluciones existentes que podrían ser utilizadas por la empresa, las cuales están basadas en tecnología de última generación como lo es la inteligencia artificial y el machine learning, lo que nos permitió dar respuesta a una parte del objetivo enunciado: “Entregar un análisis de recomendación para la realización de pruebas funcionales automáticas con nueva tecnología, proporcionando el análisis tecnológico y de costo-beneficio”.
Se generó el listado de algunas de las principales soluciones encontradas que cuentan con esta tecnología, las cuales se encuentran disponibles en el mercado mundial, por lo tanto, fue posible determinar la existencia de herramientas tecnológicas de nueva generación que puedan apoyar en el proceso de realización de pruebas funcionales automáticas.
Además, se realizó una descripción de los beneficios que puede traer a la empresa la incorporación de este tipo de soluciones, incluso se llevó a cabo un análisis de viabilidad del proyecto a través del método de VPN y la TIR con resultados positivos con respecto a este proyecto, proporcionando con ello información valiosa a ACCSoftware para tomar la decisión de incorporar este posible nuevo servicio.
Como parte de esta investigación se consideró una hipótesis enfocada a confirmar que con el uso de nuevas tecnologías en el desarrollo de pruebas funcionales automáticas era posible incrementar al menos en un 10% los beneficios de la empresa, lo cual podemos considerar como una declaración de hipótesis que se confirma, esto considerando que el beneficio generado por esta inversión es del 26,93%, esto después de los 3 años considerados para el proyecto.
Ahora bien, si consideramos la información proporcionada en el marco teórico, podemos mencionar que fue sumamente valiosa, sobre todo porque permitió conocer las alternativas tecnológicas existentes, esto considerando que al inicio de la investigación no se tenía plena certeza de que existieran soluciones basadas en IA que pudieran generar beneficios en los procesos de pruebas que se consideraron en esta investigación. Incluso estos diferenciadores están documentados por páginas especializadas en tecnología como Infotech Lead
(2021)18, en donde se detallan los beneficios de utilizar la tecnología de IA en el proceso de pruebas de software.
Por otro lado, es importante hacer mención que se presentaron diversos retos en todo el proceso de investigación, como por ejemplo el hecho de querer ahondar mucho más, incluso el hecho de que inicialmente se consideraba realizar una investigación bajo una metodología mixta según lo define Hernández-Sampieri, R.
y Mendoza Torres, C. P. (2018) 19, pero por temas de tiempo y también por el hecho de que no se encontró gran cantidad de información cuantitativa, esto sin la posibilidad de realizar alguna adquisición de las soluciones que nos permitirán evaluar con mayor claridad sus costos de adquisición, capacitación y servicios profesionales y compararlos con los costos que tiene la empresa en los servicios de pruebas que entrega actualmente.
Aunque se puede decir que la investigación realizada es un elemento de valor muy interesante para la empresa y que con ella se proporcionan elementos importantes que le permitirán a la empresa tomar decisiones enfocadas en el sentido de incorporar este nuevo tipo de servicios al portafolio.
18 Top 7 benefits of using AI in software testing. (2021, October 7). Infotech Lead.
Recuperado de: https://www.reprintsdesk.com/landing/dl.aspx?o=8502862&r=690166743
19 Hernández-Sampieri, R. y Mendoza Torres, C. P. (2018). Metodología de la investigación:
las rutas cuantitativa, cualitativa y mixta. McGraw-Hill Interamericana. Recuperado de:
https://0-bc-vitalsource-com.biblioteca-ils.tec.mx/tenants/BIB_TECDEMTY/libraries?
bookmeta_vbid=9781456262020
Capítulo 5 – RECOMENDACIONES
Con la información recabada en esta investigación, es posible que la empresa pueda utilizarla para iniciar los primeros pasos en la implementación de un nuevo servicio, aunque se considera que esta información es solo el primer escalón que la empresa debe dar en busca de lograr establecer con claridad el servicio que desea implementar ya que cuenta con posibles soluciones tecnológicas que podrían utilizarse en este servicio, además de contar con un análisis inicial de factibilidad del servicio.
Es por ello por lo que se considera que los siguientes pasos deberían estar dirigidos a una revisión desde el punto de vista tecnológico a mayor profundidad para decir cuál es la mejor solución desde la perspectiva de la empresa y también otros enfocados a aspectos económicos y de estrategia comercial.
Como primer punto se debe tomar en consideración que la información que esta investigación arrojó es aún muy general respecto a la selección de la mejor tecnología que debería ser utilizada por la empresa, razón por la cual se recomienda realizar un análisis profundo respecto a las condiciones de
funcionalidad, servicios y capacitación de cada una de las soluciones existentes en el mercado mundial, de tal forma que pueda ser posible seleccionar la mejor solución para ser utilizada en el nuevo servicio de pruebas funcionales automáticas de tal forma que pueda ser implementada por ACCSoftware para realizar este nuevo servicio.
Otro elemento importante que no fue abordado por este proyecto de investigación y que consideramos sumamente importante realizar para tomar la decisión de la solución más adecuada para la empresa, es el que se pueda llevar a cabo un análisis de los costos de licenciamiento y mantenimiento de la solución, así como también el costo del proceso de capacitación requerido para la utilización de esta y con ello definir la que mejor se acople a las necesidades de la empresa.
Una última recomendación está pensada en generar un plan de mercadotecnia que debería realizarse una vez definida la solución a utilizar y establecido el nuevo servicio de la empresa. Este plan debería proporcionar información complementaria a ACCSoftware para definir entre otras cosas las 4 Ps de la mezcla de marketing, esto según Kotler, P., y Keller, K. (2016) 20 quien las define como producto, precio, promoción y plaza.
20 Kotler, P., y Keller, K. (2016). Dirección de Marketing (15.a ed.). Pearson
Educación. https://www.pearsonenespanol.com/mexico/tienda-online/direccion-de- marketing-kotle-15ed-ebook
Con estas recomendaciones se considera que ACCSoftware estaría en condiciones de contar con el nuevo servicio de pruebas funcionales automáticas y con ello lograr los beneficios que en este proyecto se mencionan.
Para cerrar esta investigación y como parte de un proceso de retroalimentación para la empresa, es importante considerar que, si se tuviera la oportunidad de repetirla podríamos mejorar algunos elementos tales como:
El tipo de investigación que considero podríamos llevarla a un marco metodológico de tipo mixto, de tal forma que nos pudiera entregar resultados tanto cualitativos como cuantitativos que para esta investigación serían de mucho valor.
Con respecto a la recolección de datos, definitivamente se buscaría ampliar la muestra utilizada, de tal forma que se pudieran obtener mayor cantidad de datos que nos permitieran abarcar un mayor espectro de opciones y alternativas posibles.
Ahora bien, si hablamos de la hipótesis, esta podría dar por hecho la existencia de tecnología de última generación y lo mejor sería enfocarla a dar un mayor peso a los beneficios y porcentajes de crecimiento que le empresa podría tener con la incorporación de este nuevo servicio.
Con estos cambios es posible que la investigación hubiera tenido mayor detalle de valor para la empresa de tal forma que en lugar de considerar el apoyarla en dar un primer paso, hubiera sido posible llevarla dos o tres pasos más adelante,