UNIVERSIDAD NACIONAL SANTIAGO ANTÚNEZ DE MAYOLO
N° Registro: T153
FACULTAD DE CIENCIAS
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
AUTOMATIZACIÓN DE PRUEBA DE SOFTWARE PARA MEJORAR EL PROCESO DE PRUEBA DEL MÓDULO DEL SISTEMA QUE DESARROLLA
EMPRESA EXPERTS SYSTEMS S.A.C, CIUDAD DE LIMA, 2022.
TESIS
PARA OPTAR EL TÍTULO PROFESIONAL DE INGENIERO DE SISTEMAS E INFORMÁTICA
PRESENTADO POR:
Bachiller Garcia Loyola, Ibette Pamela
ASESOR:
Ing. Romero Aguilar, Dante Enrique
Huaraz - Perú
2022
DEDICATORIA
A Dios, por haberme dado la vida, y permitirme logras mis objetivos trazados y por brindarme salud, a mis padres Betzabeth y Cesar por ser mi eje principal y fundamental para mi carrera profesional, por ser un ejemplo a seguir y a mis abuelos que siempre me aconsejaron y estuvieron apoyándome desde mis inicios de mi formación académico.
AGRADECIMIENTO
A Dios por brindarnos el bienestar familiar, por estar siempre en nuestras vidas y por bendecir siempre nuestras actividades diarias.
A la empresa Experts Systems, por permitirme realizar pruebas en uno de sistemas desarrollados para mí de tesis.
Finalmente agradezco a mis amigos, que me apoyaron y me ayudaron en el desarrollo de mi tesis.
RESUMEN
La presente investigación se tuvo como objetivo mejorar el proceso de prueba del módulo del sistema que desarrolla la empresa Experts Systems, mediante la automatización de prueba de software, que permite mejorar las pruebas de software para el personal de calidad, ya que las pruebas que se realizan son de forma manual, causando demora de evidenciar incidencia en el flujo para reportar al personal de desarrolla para su levantamiento y esto conlleva los retrasos en las entregas de los sprint.
La presente tesis es de tipo descriptivo experimental pre experimental, y por lado de desarrollo se está utilizando diferentes herramientas de Open Source y selenium que es el framework para la automatización del módulo del sistema. Esto va a permitir cuantificar los esfuerzos que se realiza en cada recurso.
La metodología ágil que se utiliza para el proyecto es marco de traba de SCRUM la cuan consta de 5 sprints, la cual abarca el desarrollo de la automatización de las pruebas realizadas. La automatización tendrá consecuencia de mejorar la imagen y los servicios de la empresa, teniendo la seguridad de la calidad de sus sistemas, se sabe que un sistema siempre esta propenso a errores, defectos o problemas, propenso las distintas pruebas ejecutadas en el ambiente de calidad, se reduce el riesgo.
La automatización de las pruebas en el módulo del sistema contribuye en la automatización de los tiempos realizado en las pruebas y tener una mayor cobertura de los escenarios de prueba.
ABSTRACT
The purpose of this research was to improve the test process of the system module developed by the company Experts Systems, by means of software test automation, which allows to improve the testing of software for the quality personnel, since the tests that are carried out are manually, causing delay of evidencing incidence in the flow to report the personnel of the development for their lifting and this leads to the delays in the deliveries of the sprint.
The present thesis is of a pre-experimental experimental descriptive type, and by development, different tools of Open Source and selenium are being used, which is the framework for the automation of the system module. This will allow you to quantify the efforts that are made in each resource.
The agile methodology used for the project is SUM's frame of work, which consists of 5 sprints, which encompasses the development of the automation of the tests performed.
Automation will have a consequence of improving the image and services of the company, having the security of the quality of its systems, it is known that a system is always prone to errors, defects or problems, prone the different tests executed in the quality environment, the risk is reduced.
The automation of the tests in the system module contributes to the automation of the times performed in the tests and to have greater coverage of the test scenarios.
INDICE
DEDICATORIA ... ii
AGRADECIMIENTO ... iii
RESUMEN ... iv
ABSTRACT ... v
I. INTRODUCCIÓN ... 1
1.1. Planteamiento del problema ... 1
1.2. Formulación del problema ... 2
1.2.1. Problema general ... 2
1.2.2. Problemas específicos ... 2
1.3. Objetivos de la investigación ... 2
1.3.1. Objetivo general ... 2
1.3.2. Objetivos específicos ... 3
1.4. Justificación de la investigación ... 3
1.4.1. Justificación Económica ... 3
1.4.2. Justificación Operativa ... 4
1.4.3. Justificación Legal ... 4
1.4.4. Justificación Tecnológica ... 5
1.4.5. Justificación Social ... 5
1.4.6. Justificación Teórico ... 5
1.4.7. Justificación Práctico ... 6
1.4.8. Justificación Metodológico ... 6
II. MARCO TEÓRICO ... 6
2.1. Antecedentes de la investigación ... 6
2.1.1. Antecedentes Nacionales ... 6
2.1.2. Antecedentes internacionales ... 11
2.2. Bases teóricas ... 13
2.2.1. Marcos de trabajo ... 13
2.2.2. Pruebas de software ... 14
2.2.3. Calidad de Software ... 18
2.2.4. Automatización de prueba ... 20
2.2.5. ¿Por qué usar Selenium? ... 24
2.3. Definición de términos ... 25
2.4. Hipótesis ... 28
2.4.1. Hipótesis general ... 28
2.4.2. Hipótesis especificas ... 28
2.5. Variables ... 28
2.5.1. Variable Independiente ... 28
2.5.2. Variable dependiente ... 28
2.5.3. Operacionalización de variables ... 29
III. METODOLOGÍA ... 30
3.1. Tipo de estudio ... 30
3.1.1. De acuerdo a la orientación ... 30
3.1.2. De acuerdo a la técnica de contrastación ... 30
3.2. El diseño de investigación ... 30
3.3. Descripción de la unidad de análisis población y muestra (cuantitativo). ... 30
3.3.1. Población ... 30
3.3.2. Muestra ... 31
3.4. Técnicas de instrumentos de recolección de datos... 31
3.4.1. Técnica de recolección de datos ... 31
3.4.2. Instrumento de recolección de datos ... 31
3.5. Técnicas de análisis y prueba de hipótesis (estudio cuantitativo) o Interpretación de la información (estudio cualitativo) ... 31
IV. RESULTADOS DE LA INVESTIGACIÓN ... 32
4.1. Descripción del trabajo de campo ... 32
4.1.1. Sprint 0: Planificación de pruebas Automatizadas ... 32
4.1.2. Sprint 1: Automatizar el Login ... 38
4.1.3. Sprint 2: Automatizar el módulo de búsqueda de número de registro ... 50
4.1.4. Sprint 3: Automatizar el módulo de búsqueda de RUC del obligado... 53
4.1.5. Sprint 5: Validación y resultados de pruebas piloto ... 56
4.2. Presentación resultado y prueba de hipótesis ... 58
4.2.1. Resultados del pre test ... 58
4.2.2. Resultados del post test ... 65
4.2.3. Prueba de hipótesis ... 72
4.3. Discusión de resultados ... 73
V. CONCLUSIONES ... 76
VI. RECOMENDACIONES ... 77
VII. REFERENCIAS BIBLIOGRAFICAS ... 78
VIII. ANEXOS ... 80
Matriz de consistencia de la investigación ... 80
Instrumentos de recolección de datos ... 82
I. INTRODUCCIÓN
1.1. Planteamiento del problema
El presente proyecto de investigación se desarrollará en la empresa EXPERTS SYSTEMS SOCIEDAD ANONIMA CERRADA, cuyo RUC es 20518135610, con domicilio fiscal en, AV. PRLG LIMA NRO. 1059 URB. PANDO 7 ETP LIMA - LIMA - SAN MIGUEL, cuyo representante legal es CASTRO GRIJALVA WILLIAM, cuya actividad económica principal es CONSULTORÍA DE INFORMÁTICA Y GESTIÓN DE INSTALACIONES INFORMÁTICAS, en el área de Calidad.
En la actualidad la empresa desarrolla sistemas de software, haciendo uso el marco de trabajo ágil, pero al realizar la prueba funcional a dichos sistemas, se realizan de forma manual y esto genera que el personal de calidad realice sobreesfuerzo en la ejecución de pruebas e invirtiendo demasiado tiempo en el proceso de pruebas de calidad de software.
Así mismo estas pruebas de calidad de software manuales se vuelve tedioso por la cantidad de pruebas que se realizan, conllevando a que el personal del área de calidad de la empresa, no realicen las pruebas a todos los módulos de forma eficiente, por el tiempo que se demora realizando dichas pruebas para cada módulo, ya que muchos de estos módulos están relacionados entre sí, es por ello que el personal del área de calidad no reporta a tiempo los errores encontrados en las pruebas realizadas a los módulos del sistemas, afectando al personal de desarrollo para realizar y levantamiento de dichos errores.
Con las pruebas de calidad de software de forma manual el personal de calidad muchas veces no se percata de errores en el sistema en desarrollo, conllevando los retrasos en los entregables a los usuarios y la reprogramación del cronograma de los entregables del proyecto, así mismo muchas veces generar contratación de personal adicional conllevando a la empresa generar gastos extras y muchas veces estos gastos disminuye la inversión en otros sistemas que debería desarrollarse para otros clientes.
De acuerdo a los problemas expuestos anterior mente, encontramos el propósito de la presente investigación, automatizar el proceso de pruebas de calidad de software, para mejorar la calidad de los sistemas que se desarrollan, mitigando el tiempo toma realizar las pruebas y aumentando la productividad del personal de la área de calidad de la empresa, para ello se empleara herramientas de pruebas de calidad de software para llevar a cabo determinadas tareas anteriormente efectuadas por los seres humanos(personal del área de calidad), para controlar la secuencia de las operaciones sin intervención humana.
1.2. Formulación del problema 1.2.1. Problema general
¿Cómo mejorará el proceso de prueba de software en el moduló del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022?
1.2.2. Problemas específicos
✓ ¿Cómo mejorará la prueba de software en relación al tiempo que toma realizar la prueba en moduló del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022?
✓ ¿Cómo mejorará la prueba de software en la integración de trabajo entre los desarrolladores y el personal de calidad en la prueba del moduló del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022?
✓ ¿Cómo mejorará el caso de prueba de software la calidad del moduló del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022?
1.3. Objetivos de la investigación 1.3.1. Objetivo general
Mejorar el proceso de prueba del moduló del sistema, mediante la automatización de prueba de software de la empresa Experts Systems S.A.C., ciudad de lima, 2022
1.3.2. Objetivos específicos
✓ Mejorar el tiempo que toma realizar la prueba en el módulo del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022 mediante la automatización de prueba de software
✓ Mejorar la integración de trabajo entre los desarrolladores y personal de calidad mediante la automatización de prueba de software en el moduló del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022.
✓ Mejorar la calidad del módulo que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022 mediante la automatización de casos de pruebas de software.
1.4. Justificación de la investigación 1.4.1. Justificación Económica
Es conveniente realizar automatización de pruebas de software con el fin que la empresa pueda reducir costos en la contratación de más personal de calidad.
La justificación financiera del proyecto se basa en la comparación de los ingresos y gastos a lo largo del tiempo y el correspondiente descuento. La principal ventaja económica del software es el ahorro de costos de mano de obra. El cálculo de los ahorros laborales debe incluir tanto los salarios por hora como los beneficios complementarios de los ahorros laborales para todos los turnos de trabajo. La inversión en el sistema está económicamente justificada en la mayoría de las aplicaciones, los clientes pueden realizar tareas de monitoreo o control en suites complejas ubicadas a grandes distancias de estaciones de cómputo simples con recursos de hardware mínimos y conexiones estables a Internet.
1.4.2. Justificación Operativa
Al realizar automatización de pruebas ayudara a la empresa a que las pruebas que realiza el personal de calidad modulo por modulo, lo realice en menor tiempo, encontrando error que puede haber en el sistema.
Es crucial que los sistemas se optimicen los procesos manuales que se realizan en la empresa, en este caso Experts Systems S.A.C, lo que lleva a un mejor aprovechamiento del proceso de pruebas de la empresa, lo que permite costos y tiempos ayudar a las entidades lograr el objetivo sin perjudicar la gestión de proyectos, sin comprometer la calidad de la gestión de las actividades en curso. Para lograr esto, la gestión de proyectos debe estar apoyada en técnicas de gestión.
1.4.3. Justificación Legal
✓ Decreto supremo N°123-2018-PCM
El decreto supremo aprueba el reglamento del sistema tiene que estar modernizado
✓ El decreto legislativo N° 1412 aprueba la ley de gobierno digital, con el objetivo de establecer el marco de gobierno digital en el estado y el régimen jurídico para el uso de tecnología digital en la administración publica
✓ El decreto de urgencia N°006-2020 que crea el sistema nacional de transformación digital se crea el referido sistema como un Sistema Funcional del Poder Ejecutivo, conformado por un conjunto de principios, normas, procedimientos, técnicas e instrumentos mediante los cuales se organizan las actividades de la administración pública y se promueven las actividades de las empresas, la sociedad civil y la academia orientadas a alcanzar los objetivos del país en materia de transformación digital
1.4.4. Justificación Tecnológica
Con la creciente modernización de la entidades públicas y privadas, el uso de las tecnologías se ha convertido en un aliado muy importante para mejorar la forma de ofrecer sus servicios o productos, por ello la presente investigación se justifica ya que el control de calidad de software nos permite ofrecer un producto de software de calidad, en beneficio de la sociedad ya que tendrán una buena experiencia con herramientas tecnológicas de calidad.
Con la presente investigación, la implementación de las pruebas automatizadas de calidad de software en la empresa Experts Systems Sociedad Anónima, beneficiará a sí misma ya podrá reducir sus gastos adicionales que generaba por la contratación de personal adicional que se empleaba para la realizar las pruebas de calidad de software manuales.
1.4.5. Justificación Social
Con la creciente modernización de la entidades públicas y privadas, el uso de las tecnologías se ha convertido en un aliado muy importante para mejorar la forma de ofrecer sus servicios o productos, por ello la presente investigación se justifica ya que el control de calidad de software nos permite ofrecer un producto de software de calidad, en beneficio de la sociedad ya que tendrán una buena experiencia con herramientas tecnológicas de calidad.
1.4.6. Justificación Teórico
El proyecto está diseñado para realizar la automatización de prueba funcional, la cual debe de contar el área de calidad en las pruebas, en función a un proceso de automatización en su alcance y limitación ya que esto va a demostrar al personal involucrado tanto a desarrolladores con al personar de calidad, teniendo una visión de automatizar para mejorar la productividad del entorno de trabajo.
1.4.7. Justificación Práctico
Va a permitir menorar el tiempo de realizar pruebas con la automatización, la cual se utilizará para determinadas tareas que anteriormente lo realizaba un personal, la cual se llevará con la demás operación sin que intervenga un personal
1.4.8. Justificación Metodológico
La automatización de prueba tiene el objetivo de realizar pruebas en menor tiempo de ejecución, cumpliendo con cada criterio de aceptación de requerimientos, para ello se utilizará herramientas de Open Source, así poder cubrir con las necesidades del personal del área de calidad durante el proceso de realizar pruebas al sistema de software.
II. MARCO TEÓRICO
2.1.Antecedentes de la investigación 2.1.1. Antecedentes Nacionales
a) (Hoyos Hipolito & Henriquez Palomino, 2019) en su tesis
“Sistema para la Automatización de pruebas de regresión basado en web en la empresa Pandora Technologies” Se plantea como objetivo general determinar el impacto de un sistema de automatización de pruebas de regresión en la empresa Pandora Technologies utilizando de tipo aplicada y de diseño experimental.
Teniendo como resultado que el tiempo en la realización de pruebas en que se generaron los datos disminuyó de 217.50 a 9.00, significativa Sig 0.000 donde es menor que el valor alfa de 0.05, lo que lleva al rechazo de la hipótesis nula y acepta la hipótesis alternativa con 95% de confianza. Esto quiere decir que la reduce el tiempo de generación de datos a 123.5 segundos, por lo que aplicar la automatización de pruebas mejora significativamente el tiempo de generación de datos en las pruebas de regresión de Pandora Technologies, 55% de reducción en comparación con las pruebas no sistemáticas.
Teniendo como conclusiones que los datos obtenidos, el desarrollo del sistema de automatización de pruebas de regresión basado en la web tuvo un impacto favorable en el proceso de calidad del software, lo que resultó en un ahorro de casi US $ 10,000, al tiempo que mejoró los registros de la empresa controles mejorados en aproximadamente un 55%. y mejorar la productividad en los procesos de desarrollo de software.
El porcentaje de reducción en el tiempo de prueba se ha
reducido en un 55%, llegando a 9,1 segundos en el tiempo de generación de datos, esto nos dice que el software de automatización funciona con mucha más precisión y más rápido que un desarrollador promedio, evita el trabajo repetitivo y tiene tiempo para más operaciones complejas.
b) (Chávez Lazarte, 2021) en su tesis “Automatización de casos de pruebas usando Selenium y TestNG Framework para mejorar el proceso de pruebas de un sistema que brinda servicios RPO, 2020”
se plantea como objetivo de automatizar los casos de pruebas, usando Selenium y TestNG Framework, para mejorar el proceso de pruebas de un sistema que brinda servicios RPO.
Empleando la investigación de tipo No aplicada, teniendo como resultados de prueba de humo reducido: con Project
✓ UI Automatización, la prueba lleva menos de 2 horas y no requiere intervención humana.
✓ Se incluye un número cada vez mayor de instancias de clientes en las pruebas: ahora se ejecutan pruebas de humo en todas las instancias de clientes.
✓ Independencia creada al ejecutar pruebas de humo: para validar
✓ subprocesos críticos del cliente, simplemente ejecute un trabajo de Jenkin para ejecutar pruebas automatizadas.
Se tubo como conclusiones de aumentar las instancias de clientes en las pruebas de humo: con el proyecto UI Automatizado, probamos con éxito a 100 clientes en pruebas de humo y
habilitamos recursos para incluir varias pruebas de aplicaciones más usables con más profundidad.
A través de la integración con Jenkins, las pruebas automatizadas se ejecutan diariamente, generando informes de prueba
e informando los resultados de la ejecución.
c) (Banda Torpoco, 2022) en su tesis “Automatización pruebas de calidad de código para las aplicaciones web con herramientas de código abierto” teniendo como objetivo general de mejorar las pruebas de calidad de código, despliegue a producción y control de versión de todas las aplicaciones web de la empresa cliente.
Obteniendo como resulta que la automatización de los controles de calidad del código disminuyó en 6,5 días, de según la encuesta que obtuvo 18,11 por día y luego alcanzó un valor de 11,61por día, aumentando la frecuencia de publicación a 1,62 por sprint. Antes de ejecutar el proyecto, el valor era de 1,63 liberaciones por sprint, luego de ejecutar el proyecto alcanzó un valor de 3,25 liberaciones por sprint. Por qué la automatización mejora el tiempo de entrega de implementación en implementación.
Se obtuvo como conclusión que los resultados obtenidos en el marco de la investigación concluyo que la automatización nos permite cumplir con los requisitos de software en menos tiempo, desde la integración hasta el despliegue de la aplicación. Permite el logro de metas. Las herramientas utilizadas en este proyecto fueron seleccionadas por su eficiencia, agilidad y excelente desempeño.
d) (Pareja Verastegui, 2021) en su tesis “Automatización de Pruebas Funcionales Web para mejorar el Área de Calidad de Software en una empresa del rubro de Retails en el año 2021” se planteó que el objetivo general es automatizar las Pruebas Funcionales Web para mejorar el área de calidad de software en la empresa del rubro de retails en el año 2021, se obtuvo como resultado, el desarrollo automatizado en los 12 certificados resultó en un beneficio de
rendimiento del 6,15 %, que se ha demostrado que mejora el rendimiento de las ejecuciones de certificados en el dominio de calidad del software.
Teniendo como conclusiones que determinado que la automatización de pruebas funcionales web, por parte de la empresa del sector distribución, mejora la calidad del software sector, contribuye a la optimización de los tiempos de ejecución de las pruebas de inspección y mayor cobertura y, por ende, reducción del esfuerzo humano, detección temprana de defectos potenciales y aumento de la calidad del producto de software.
e) (Chinarro Morales, 2019) con su tesis titulado “Definición e implementación del proceso de pruebas de software basado en la NTP-ISO/IEC 12207:2016 aplicado a una empresa consultora de software RPO,2020” teniendo como objetivo general desarrollar e implementar un proceso para la realización de las pruebas funcionales de software basada en la NTP-ISO/IEC 12207:2016.
Se obtuvo resultados que en el proceso de prueba de software manual utilizado por la organización para la aplicación del sistema se tomaba un tiempo de 3 semanas para la ejecución de dichas pruebas y al aplicar el proceso recientemente desarrollado e identificado, con la automatización de pruebas validó el tiempo de ejecución, que se redujo significativamente ya que se ejecutó correctamente durante 1 semanas, lo que permitió que Time verificara más. detalles y así brindarle al usuario un producto de calidad.
Se concluyo que el procedimiento de pruebas funcionales, el cual ha sido entregado a la consultora para garantizar un mejor desempeño durante las pruebas funcionales, resultando en un producto de calidad permitiendo considerar más de casos de prueba que coincidan con lo especificado por el cliente en sus requisitos originales, También se evaluó y seleccionó el mejor colaborador con sus características para la automatización de procesos. El proceso tiene el efecto positivo de reducir el tiempo
requerido para las pruebas funcionales, además se utiliza una herramienta de automatización para respaldar el proceso definido.
f) (Egoavil Rivera, 2021) en su tesis “Automatización de pruebas funcionales para mejorar el proceso de pruebas web y de APIS en un sistema de rentas” teniendo como objetivo general de Automatizar las pruebas funcionales del entorno web y de las API en el sistema Rentas 2019. Se logró que la automatización de pruebas funcionales del entorno web y de las API en el sistema Rentas 2019 crea los casos de prueba y preparar data para la ejecución de los casos. Se concluyendo que con la construcción de archivo CSV y el archivo Excel para administrar los datos configurables en UFT, Karate DSL y también los scripts de automatización en UFT (Unified Functional Testing).
g) (Fernandez Avalos, 2018) en su tesis de “Automatización de Procesos para mejorar las Pruebas de Software en el área de calidad del Banco de Crédito” que se tiene como objetivo Identificar cómo mejorará la automatización de procesos en el alcance de pruebas de software de Banco de Crédito en el área de calidad. Se obtuvo como resultado la generación datos de prueba de un antes y un después de usar la automatización de procesos, se puede ver que antes de aplicar la automatización, el tiempo promedio es 217.50 segundos, después de aplicar la automatización convertida, el tiempo se reduce a 9 segundos, por lo tanto, una disminución del 56,78%. De igual forma se observó en el pretest de la muestra, donde obtuvo el valor máximo de 257 segundos, mientras que en el postest fue de 95 segundos; esto muestra una diferencia significativa antes y después de implementar el proceso de automatización a través de la aplicación HP Unified Functional Testing; de igual forma el indicador Test Data Generation Time obtuvo un mínimo de 181 segundos antes y 93 segundos después, donde se verificó que el tiempo había bajado.
Se concluye que el tiempo de generación de datos para las pruebas de software en el campo de calidad de software de Banco de Crédito sin automatización de procesos fue de 181 segundos y con la implementación de la herramienta para proceso de automatización baja aun 93 segundo, donde significa una reducción de 88 segundos en las pruebas del software. Como resultado se redujo el tiempo de generación de datos de prueba en 56.78%, por lo que se determinó que la automatización de procesos mejoró el indicador de tiempo de generación de datos en pruebas de software de calidad Banco de Crédito.
2.1.2. Antecedentes internacionales
a) (Leaños Rodriguez, 2018) en su tesis “Mejora en la curva de tiempo de ejecución de proyectos de software con la integración de herramientas para la generación automática de casos de prueba, en Dualbiz S.R.L.” Teniendo como objetivo general la evaluación de la integración de una herramienta para la generación automática de casos de pruebas utilizando la metodología de investigación propositiva, con lineamiento pre-experimental teniendo como resultados de la integración se confirman utilizando la prueba de Stundent para las muestras relevantes, verificando la mejora en la curva de tiempo de ejecución de los proyectos de desarrollo de software durante el período de codificación del segmento para el contexto estudiado. Dando como conclusión Con la aplicación de herramientas de investigación, entrevista y encuesta, se logró conocer la situación actual de las etapas de codificación en Dualbiz S.R.L. se han diagnosticado, se han elaborado listas de problemas candidatos, se utilizan matrices de Vester para probar la motricidad de los problemas y De esta manera se han alcanzado problemas importantes a resolver en la propuesta: Los plazos de entrega no siempre se cumplen y las pruebas internas consumen un tiempo de codificación considerable.
b) (Gómez Peralta & Mora Saltos, 2020) en su tesis “Automatización de proceso para el manejo de ingreso a cuartos tecnológicos utilizando la herramienta JIRA software, para los edificios principales en guayaquil, quito y cuenca del banco guayaquil”
Teniendo como objetivo general Utilizar la herramienta de software Jira para automatizar el flujo de trabajo que implica en el ingreso de los departamentos de tecnología, aprovechando los recursos que el Banco de Guayaquil ya tiene disponibles. Teniendo como resultado que el proyecto simplificó y organizó tareas que antes se realizaban manualmente, y que pueden dar lugar a errores humanos, alteración de la información o envío de información a que empleados equivocados. Se llego a la conclusión que se han reducido los procesos operativos manuales en los departamentos encargados de gestionar los controles de acceso en las unidades tecnológicas conocidas como salas rack y centros de cómputo;
logrando así optimizar el tiempo de respuesta, reduciendo los errores humanos, agilizando el proceso para futuras auditorías y controlando con mucha más precisión dos áreas sensibles Esto es del Banco Guayaquil.
c) (Vega Llobell, 2018) en su tesis “Pruebas funcionales automatizadas para aplicaciones Web: Usando Selenium para aplicar pruebas de regresión automatizadas”, el objetivo de este TFG era establecer un flujo de trabajo de automatización de pruebas funcionales para aplicaciones web e integrarlo. Debe incluir todo el ciclo de prueba: automatización, ejecución de verificación posterior de los resultados. Para ello se utilizará como base una aplicación web corporativa, se aplicará todo el procedimiento descrito anteriormente. El resultado fue la elaboración de una herramienta de diseño modular que permite la ejecute pruebas en múltiples navegadores con diferentes resoluciones. La cual se llegó a la conclusión que, a pesar de la falta de pruebas, gracias a su automatización, se detectaron hasta cuatro errores diferentes en la aplicación. Todos ellos han sido
corregidos y de sus correcciones para los clientes. Además, se han automatizado pruebas para la batería, lo que garantizará que estos fallos no se repitan en el futuro.
2.2. Bases teóricas
2.2.1. Marcos de trabajo
En el desarrollo de software, un entorno de trabajo es una estructura tecnológica conceptual y de soporte definida, a módulos de software específicos, que pueden servir como base para organizar y desarrollar el software. A menudo, puede incluir soporte de programas, bibliotecas y lenguajes interpretados, entre otras herramientas, para ayudar a desarrollar y vincular diferentes componentes para un desarrollo (Riehle, 200).
2.2.1.1.Tipo de marco de trabajo 2.1.1.1.1. Scrum
Scrum es un marco que le permite encontrar métodos emergentes en áreas complejas, como la gestión de proyectos innovadores. No es un proceso completo y mucho menos una metodología. En lugar de proporcionar una descripción completa y detallada de cómo se deben realizar las tareas de un proyecto, crea un contexto relacional e itera, verifica y ajusta continuamente para que los actores creen su propio proceso. Esto sucede porque no hay mejores o buenas prácticas en un contexto complejo. Es el equipo correspondiente el que encontrará la mejor manera de resolver su problema. Este tipo de soluciones aparecerán. (Alaimo, 2013)
El progreso de los proyectos que utilizan Scrum se realiza y verifica en una serie de iteraciones conocidas como Sprints. Estos Sprints tienen una duración fija y se configuran con no más de un mes de anticipación. Al comienzo de cada Sprint, el equipo de desarrollo se compromete a entregar una gama de funcionalidades o características del producto en cuestión. (Alaimo, 2013)
Al final el Sprint le da tiempo que las características implicadas estén completadas, lo que involucra a su análisis, diseño, desarrollo, prueba e integración al producto. En este momento es cuando se realiza una reunión de revisión del producto construido durante el Sprint, donde el equipo de desarrollo muestra lo construido al Product Owner y a cualquier stakeholder interesado en participar. El feedback obtenido en esta reunión puede ser incluido entre las funcionalidades a construir en futuros Sprints.
(Alaimo, 2013)
Figura 1 SCRUM
Nota. La figura muestra el ciclo de vida de scrum fuente: (Subra Aurélien, 2018)
2.2.2. Pruebas de software
2.2.2.1. Ciclo de vida de pruebas de software
Es una serie de actividades que realizamos para realizar pruebas de software, se refiere a un proceso de prueba con pasos específicos, estos pasos deben realizarse en un orden específico para garantizar que el software cumpla con los objetivos de calidad. Realizamos cada actividad de manera planificada y sistemática y cada fase tiene sus propios objetivos y resultados (Maldonado Ramirez y otros, 2021).
2.2.2.1.1. Planificación de pruebas dentro del ciclo de vida de prueba
Durante esta fase, el gerente sénior de control de calidad normalmente definirá estimaciones de esfuerzo y costo para el proyecto y completará el plan de prueba.
En este punto, también definimos la prueba de estrategia.
Actividades:
✓ Preparación del plan de prueba / documento de estrategia para diferentes tipos de pruebas.
✓ Selección de herramientas de prueba.
✓ Estimación de los esfuerzos de prueba.
✓ Planificación de recursos y determinación de roles y responsabilidades.
Entregables:
✓ Plan de prueba / estrategia.
✓ Estimación del esfuerzo.
(Maldonado Ramirez y otros, 2021)
2.2.2.1.2. Desarrollo de caso de pruebas dentro del ciclo de vida
Durante esta fase, se crean casos de prueba y scripts de prueba, se prueban y se reelaboran. Definimos, generamos y evaluamos datos de prueba para la próxima versión.
Actividades
✓ Cree casos de prueba, scripts de automatización (si corresponde).
✓ Revisión y referencia de casos de prueba y guiones.
✓ Crear datos de prueba (como entorno de prueba está disponible). (Maldonado Ramirez y otros, 2021) Entregables
✓ Casos de prueba / scripts.
✓ Datos de prueba
(Maldonado Ramirez y otros, 2021)
2.2.2.1.3. Ejecución de caso de pruebas dentro del ciclo de vida
Durante esta fase, los evaluadores ejecutarán las pruebas de acuerdo con el plan de prueba y los casos de prueba preparados. Hemos informado el error al equipo de desarrollo de para solucionarlo y lo probaremos nuevamente después de restaurar
Actividades
✓ Realizar pruebas de acuerdo al plan.
✓ Documente los resultados de las pruebas y el registro de errores.
✓ Prueba las correcciones.
✓ Siga los defectos hasta el cierre.
Entregables
✓ Casos de prueba actualizado con resultados.
✓
Reporta defectos.(Maldonado Ramirez y otros, 2021) 2.2.2.2.Plan de prueba
Se elabora un plan de pruebas de software para lograr objetivos de calidad durante el desarrollo del sistema, responsable de definir aspectos como módulo o funcionalidad a verificar, tipos de prueba, ambiente, recursos asignados, entre otros aspectos. Incluya el alcance, la estrategia de prueba, los tipos de pruebas de software que se incluirán, los criterios de aceptación, los requisitos de infraestructura, los requisitos de personal y la programación (Maldonado Ramirez y otros, 2021).
2.2.2.3. Tipos de pruebas 2.2.2.3.1. Pruebas Unitarias
Este es el primer nivel de prueba. Incluye probar las unidades de software por separado, es decir, probar el funcionamiento normal de la unidad de código. La unidad de código se considera como una unidad de programa, como una función o método de una clase que se llama desde fuera de la unidad y puede llamar otras unidades. Es por esto que es necesario demostrar que cada unidad opera por
separado de las otras unidades de código. Estas pruebas generalmente las realizan los desarrolladores (Maldonado Ramirez y otros, 2021).
2.2.2.3.2. Pruebas funcionales
Se basa en la funcionalidad de un sistema que se describen en las especificaciones de requisitos.
✓ Completitud funcional
✓ Corrección funcional
✓ Pertenecía funcional
(Maldonado Ramirez y otros, 2021) 2.2.2.3.3. Pruebas no funcionales
Tiene en cuenta el comportamiento externo del software, es decir cómo funciona el sistema y se suelen usar técnicas de diseño de caja negra como:
✓ Pruebas de carga
✓ Pruebas de rendimiento
✓ Pruebas de volumen
✓ Pruebas de esfuerzo
✓ Pruebas de seguridad
✓ Pruebas de estabilidad
✓ Pruebas de compatibilidad
✓ Pruebas de usabilidad
(Maldonado Ramirez y otros, 2021) 2.2.2.3.4. Pruebas de integración
Este es el segundo nivel de prueba. Se enfocan en probar las interfaces entre componentes, interactuando con diferentes partes sistema, como el operativo, el sistema de archivos, el hardware y la interface de varios sistemas.
(Maldonado Ramirez y otros, 2021) 2.2.2.3.5. Pruebas del sistema
Es el tercer nivel de las pruebas. Se comprueba si el producto cumple con los requisitos especificados. Las pruebas de sistema pueden incluir pruebas basadas en riesgos y/o especificaciones de requisitos, proceso de negocio, casos de uso y otras descripciones
de texto de alto nivel o modelos de comportamiento de sistema, interacciones con el sistema operativo y recursos del sistema. Las pruebas de sistemas deben estudiar los requisitos funcionales y no funcionales del sistema y las características de calidad. Para ello se aplicarán técnicas de caja negra.
(Maldonado Ramirez y otros, 2021) 2.2.3. Calidad de Software
La calidad del software incluye el desarrollo de productos que sean razonables, respetando los estándares, satisfaciendo las necesidades del usuario, los requisitos implícitos (generalmente no se mencionan) y que tiendan a no tener fallas.
Para conseguir un software de calidad es necesario realizar una serie de trabajos a lo largo del proceso de desarrollo de la aplicación. Esto se denomina Software Quality Assurance (SQA: “Software Quality Assurance”). Según Pressman: es un diseño planificado y sistemático de las acciones necesarias para asegurar la calidad del software" (González Arechavala & De Cuadra García, 2001)
Figura 2
Evolución histórica del desarrollo de software
Nota. La figura muestra los hitos que constituyeron un cambio en la evolución histórico del desarrollo de software. Fuente: ( Guillermo, 2011)
2.2.3.1.Calidad Versus velocidad de desarrollo 2.2.3.1.1. Estándares
Para anticipar los proyectos de desarrollo, es necesario establecer estándares para las distintas tareas realizadas a lo largo de su ciclo de vida. Así es como todo lo que se puede reutilizar se utiliza como elemento de valor para ser predecible y también para reducir costos. De esta forma se crearon predios y procedimientos para su construcción en áreas como obras con requisitos, diseños y códigos. Estos estándares se han propuesto como un medio para asegurar la calidad de los procesos y productos. ( Guillermo, 2011)
2.2.3.1.2. Creatividad
Con procedimientos estándar y activos agrupados en nuevas metodologías y modelos de referencia, se comenzó a implementar la fase descrita, comenzando con la implementación de Internet como plataforma de comunicación, entrega, suministro y consumo de servicios. Como resultado, el tiempo de comercialización y la estabilidad de los requisitos se acortaron inesperadamente. Por ello, los estándares comenzaron a ser cuestionados, ya que proponían un modo de funcionamiento estable que contrastaba con la dinámica del nuevo período. Así nacieron las metodologías ágiles (Mary y Tom Poppendiek), cuando la comunidad comenzó a sopesar la creatividad y la velocidad de adaptación a nuevas situaciones frente al control y la previsibilidad de los proyectos. Este fenómeno de estabilidad de procesos versus innovación se vio hace décadas entre las fábricas de software en Japón y en la industria de software de América del Norte, cuando se analizó la excelente calidad de los productos del Este a expensas de la falta de nuevos productos, de productos ofrecidos por empresas estadounidenses. que trabajaba en un ambiente mucho menos controlado ( Guillermo, 2011).
2.2.3.1.3. Madurez
Como tantas veces a lo largo de la historia de esta industria, hace unos años, surgió una idea de moda. Esta vez creo que cuanto menos estructuradas están las empresas, mejor posicionadas están para hacer frente al cambio y conquistar nuevos mercados. Sin embargo, como muestra Consumó humano en su libro, también se encuentran en una posición mucho más vulnerable de perder todo lo que han logrado en tan solo unos meses. La razón de esto la explica W. Demming en su declaración del objetivo de la empresa.
Actualmente, el reto del aseguramiento de la calidad en las organizaciones dedicadas al desarrollo de software es organizarse para que sus proyectos sean ordenados y predecibles; aunque a su vez deben ser capaces de dejar de lado esos procesos rápidamente para reorganizarse, adaptarse a los cambios. Entonces es muy importante llegar a la madurez en los procesos, seguirlos cómodamente para que no se conviertan en una carga que aumente cuesta y dificulta la agilidad necesaria para el cambio.
Discutiremos este tema en relación con modelos de referencia como CMMi ( Guillermo, 2011)
2.2.4. Automatización de prueba
La automatización de pruebas funcionales, está diseñada al menos de alguna manera para simular humanos que ejecutan pruebas manuales.
La automatización requiere diseñar, construir y mantener varios niveles de software de prueba, incluido el entorno en el que se ejecutarán las pruebas, las herramientas utilizadas, las bibliotecas de código que proporcionan funcionalidad, secuencias de comandos y pruebas de explotación. estructura de registro e información para evaluar los resultados de las pruebas. Dependiendo de las herramientas utilizadas, monitorear y controlar la ejecución de la prueba puede ser una combinación de procesos manuales y automatizados (Alliance For Qualification, 2018).
Figura 3
Proceso de automatización de prueba
Nota. La figura muestra el proceso de automatización de prueba.
Fuente: (Ludmila Rinaudo, 2015)
2.2.4.1.Niveles de Automatización
Existen 3 niveles principales de automatización las cuales son automatización de pruebas unitarias, pruebas de aceptación y pruebas de interfaz de usuario.Las pruebas unitarias automatizadas son maravillosas porque brindan datos específicos a un programador: hay un error y está en la línea 47. Los programadores han aprendido que el error realmente puede estar en la línea 51 o 42, pero es mucho mejor tener una prueba de unidad automatizada que lo reduzca que tener un probador que diga: "Hay un error en la forma en que está recuperando registros de miembros de la base de datos, " lo cual podría representan 1000 o más líneas de código.
Además, debido a que las pruebas unitarias generalmente se escriben en el mismo lenguaje que el sistema, los programadores a menudo se sienten más cómodos escribiéndolas.
Las pruebas de nivel de servicio consisten en probar los servicios de una aplicación por separado desde su interfaz de usuario.
Las pruebas de interfaz de usuario automatizadas se colocan en la parte superior de la pirámide de automatización de pruebas porque queremos hacer lo menos posible. Queremos esto porque las pruebas de interfaz de usuario a menudo tienen los siguientes atributos negativos como es frágil y consume mucho tiempo (Cohn, 2010).
Figura 4
Pirámide de Cohn
Nota. La figura muestra la pirámide Fuente: (Roldán Martínez y otros, 2018)
2.2.4.2.Beneficios de automatización de pruebas
La automatización tiene una serie de beneficios que ayuda al nivel de calidad del software y a la vez disminuye costos. Los más importantes podrían ser:
✓ Ejecutar pruebas automatizadas puede ser más eficiente que ejecutarlas manualmente
✓ Reducción en el tiempo para ejecutar la prueba, permite ejecutar más pruebas por compilación
✓ Menor cantidad de errores por realizar pruebas manuales y complejas
✓ Realizar pruebas fuera de horario de trabajo
✓ Se puede realizar pruebas que no se pueden realizar de forma manual
(Alliance For Qualification, 2018)
2.2.4.3.Pruebas manuales vs Automatizadas
Las pruebas manales no se puede eliminar, pero si se puede reducir a lo máximo y se centra en casos específicos donde es más caro automatizar. La prueba automatizada es importante para poder aumentar la productividad y reducción de tiempo (Peres, 2018).
2.2.4.4.Herramientas para la automatización de pruebas funcionales
Las herramientas de pruebas son un apoyo que cubre una gran parte de las actividades de prueba y son aplicables en todo el ciclo de vida del software (Peres, 2018).
✓ Selenium: Es un software libre, es un proyecto que patrocina una serie de herramientas y bibliotecas que permiten y admiten la automatización del navegador web.
Proporciona extensiones para simular las interacciones del usuario con los navegadores, un servidor de
distribución para ampliar el mapeo del navegador e infraestructura para implementar la especificación W3C WebDriver que le permite codificar Intercambiable para todos los principales navegadores web (Selenium, 2022).
✓ SoapUI: Es un software de pago, permite realizar prueba funcional SOAP y REST. Con una interfaz gráfica fácil de usar y características de clase empresarial, SoapUI le permite crear y ejecutar rápida y fácilmente pruebas
funcionales, de regresión y de carga automatizadas (SoapUI, s.f.).
✓ Cucumber: Es un software libre que permite automatizar las pruebas de la aplicación web, que admikte el desarrollo impulsado por el comportamiento (BDD) y en lenguaje de generación de script es en Ruby (Cucumber, s.f.).
✓ Canoo Webtest: Es usado para Tes funcional de páginas web, es un framework de tests de código abierto, permite realizar tests que se define en XML como objetos Ant (Peres, 2018).
2.2.5. ¿Por qué usar Selenium?
Aunque hay diversas herramientas para automatizar una prueba, Selenium sobresale por tener un conjunto de herramientas, que permite a un usuario probar las aplicaciones web en diferentes formas de automatización como son:
✓ Crear y ejecutar secuencias de comandos independientes de explorador o sistema operativo.
✓ Realizar prueba de carga y estrés mediante la ejecución de la prueba
✓ Agregar plug-ins que va a permitir elaborar scripts de pruebas robustas
✓ Integrar los scripts de prueba a un proyecto de prueba, ya sea en Java, C#, PHP, Python o Ruby.
(Peres, 2018)
2.3. Definición de términos
✓ Automatización de pruebas
Automatización de pruebas, su definición todavía se enfoca en crear un mecanismo para automatizar casos de prueba, lo que significa que se utiliza un software especial para ejecutarlos a través de scripts preparados, no un probador. En general, se supone que, con la automatización, las actividades de prueba manuales tienden a ser reemplazadas por operaciones automatizadas, lo que significa que no se requiere la participación humana para crear una prueba. A diferencia de las pruebas manuales, donde todo el proceso requiere que los evaluadores interactúen con cada caso de prueba para analizar e informar los resultados. Por el contrario, la automatización de pruebas implica el uso de un software especial para controlar la ejecución de las pruebas y comparar los resultados reales con los resultados esperados (Serna M y otros, 2019).
✓ Proceso de prueba
Claramente, la definición del proceso de pruebas dentro del marco del laboratorio de calidad de la organización debe ser totalmente consistente con lo establecido en este modelo de madurez. En el caso de implementación en una organización del modelo CMMI, se deben establecer un conjunto de elementos que conforman la infraestructura y estos factores se deben tener en cuenta a lo largo de la siguiente definición.
Tal es el caso de los roles, con las responsabilidades, conocimientos y habilidades de cada rol, y las áreas de proceso en las que participa cada rol; el plan de contingencia y reducción de riesgos de la organización; Calendario; ciclo de vida del proyecto;
entre otros factores determinantes. Es fundamental conocer y comprender el ciclo de vida del software en una organización para poder establecer las pruebas y la calidad de los sistemas de TI de acuerdo con las actividades que allí se desarrollan (Núñez Jústiz y otros, 2014).
✓ Calidad de software
La definición de calidad del software es el grado en que un sistema, componente o proceso cumple con los requisitos y necesidades o expectativas específicas de un cliente o usuario.
Es extensible que el concepto de calidad del software es para muchos autores algo muy subjetivo y ambiguo porque no pueden medir o visualizar los resultados en un corto tiempo de implementación de un proyecto de software. Es el resultado de una buena gestión de proyectos y una buena práctica de ingeniería de software (Aizprua y otros, 2019).
✓ Sistemas
La definición de sistemas es un conjunto que están relacionados entres con un objetivo común, la gran mayoría se puede representar mediante modelo que conforma cinco bloques; elemento de entrada, elemento de salida. Sección de transformación, mecanismo de control y objetivos, el sistema tiene un objetivo común de satisfacer las necesidades de información de una organización (Fernández Alarcón, 2006).
✓ Software
El termino de software muchos lo asocian con los programas de computadora. Sin embargo, no solo es programa, sino son todos los documentos que están asociados y las configuraciones de datos que se necesita para que el programa opere correctamente (Alonso Galipienso y otros, 2006).
✓ Web
O’Reilly Media definió a la web como el diseño de sistemas que logran el efecto de conectividad a la red para que las personas lo usen mejor, esto va a incluir a la colaboración explicita destinadas a res, esto también incluye a todas las formas en las personas se conecten a una red y crea efectos de sinergia (Revuelta Domínguez
& Pérez Sánchez, 2009).
✓ Internet
La palabra internet es un nombre genérico que significa la unión de todas las redes de comunicación a nivel mundial. Se compone por una cantidad ilimitada de ordenadores que se interconectan entre sí (Fernández Coca, 1999).
✓ Scrum
El termino de scrum es una estrategia flexible de desarrollo de productos, donde los equipos de trabajos tienen un objetivo común.
Los principios de los métodos agiles de desarrollo los incorpora a la gestión de proyectos. El scrum se deriva directamente de scrummage que en la práctica se describe en el rugby (The blokehead, 2016).
✓ Pruebas unitarias
Estas pruebas unitarias son para detectar errores en el código, se centrar en la menor unidad de diseño de software. Estas pruebas suelen ser ejecutadas por el programador que construye el módulo, se centran en aspectos estructurales, intenta asegurar el tipo de cobertura de código en aspectos funcionales (Tuya y otros, 2005).
✓ Caso de prueba
Permite comprobar la correcta funcionalidad de software, como es el nivel de su estructura interna, de uso en un ambiente real de operación, también para la implementación y resultados de los modelos matemáticos utilizados. Ha el momento no hay un software libre de errores, es necesario realizar un número importante de pruebas que van a permitir cubrir el intervalo más amplio de posibilidades, y en algunos casos es inviable completar todas las pruebas (Peña Puerto & Almeida Ortega, 2010).
2.4. Hipótesis
2.4.1. Hipótesis general
La automatización de prueba de software mejora el proceso en el módulo del sistema que desarrolla la empresa Experts Systems S.A.C ciudad de lima, 2022
2.4.2. Hipótesis especificas
✓ La automatización de prueba de software mejora el tiempo que toma realizar la prueba en el módulo del sistema que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022.
✓
La automatización de prueba de software en el módulo que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022 mejora la integración de trabajo entre desarrolladores y personal de calidad.✓
La automatización de pruebas de software mejora la calidad de del módulo que desarrolla la empresa Experts Systems S.A.C., ciudad de lima, 2022.2.5. Variables
2.5.1. Variable Independiente
Automatización de prueba de software.
2.5.2. Variable dependiente
Proceso de prueba del moduló del sistema.
2.5.3. Operacionalización de variables Tabla 1
Operacionalización de variables
Variables
Definición Conceptual
Dimensiones Indicadores Instrumento Ítem Escala
Automatización de prueba de software.
Automatización de pruebas, su definición todavía se enfoca en crear un mecanismo para automatizar casos de prueba, lo que significa que se utiliza un software especial para ejecutarlos a través de scripts preparados, no un probador (Serna M y otros, 2019)
Calidad de software
Cumplimiento con los
requerimientos
Encuesta 1,2,3,4 Likert
Fiabilidad del
software Encuesta 5,6 Likert
Facilidad de uso
de software Encuesta 7,8 Likert
Proceso de prueba del moduló del sistema.
Claramente, la definición del
proceso de pruebas dentro del marco del laboratorio de calidad de la organización debe ser totalmente consistente con lo establecido en este modelo de madurez. (Núñez Jústiz y otros, 2014)
Eficacia
Tiempo de generación de prueba
Encuesta 9,10 Likert
Productividad en
la prueba Encuesta 11,12 Likert
III. METODOLOGÍA
3.1. Tipo de estudio
3.1.1. De acuerdo a la orientación
Básica: Cuando la investigación está orientada a lograr un nuevo conocimiento, de manera sistémica y metódica, con el único objetivo de ampliar el conocimiento.
3.1.2. De acuerdo a la técnica de contrastación
Descriptiva: Cuando los datos son obtenidos directamente de la realidad o del fenómeno, sin que estos sean manipulados por los investigadores.
3.2. El diseño de investigación
Tipo experimental de diseño pre experimental
3.3. Descripción de la unidad de análisis población y muestra (cuantitativo).
3.3.1. Población
La población de la tesis fueron el personal de la empresa Experts Systems que fueron implicados en el proyecto los cuales fueron:
Tabla 2
Encargados del proyecto de la empresa Experts Systems
N° de Personal Cargo
1 Gestor de proyecto 1 Analista de calidad 1 Analista funcional 1 Arquitecto de proyecto
1 DBA
1 Documentalista
1 QA
8 Desarrollador
1 Gestor por parte del usuario Total: 16 personas involucradas en el proyecto
3.3.2. Muestra
La probabilista aleatoria simple coincidentemente será lo mismo N=16
3.4.Técnicas de instrumentos de recolección de datos.
3.4.1. Técnica de recolección de datos
Se aplicó la técnica de la entrevista dirigida a los responsables del proyecto de la empresa Experts Systems S.A.C., se realizó con preguntas claras, de esta forma se recolectó la información que se requería para la tesis.
3.4.2. Instrumento de recolección de datos
Se aplicó el instrumento del cuestionario a las personas responsables del proyecto de la empresa Experts Systems S.A.C.
3.5.Técnicas de análisis y prueba de hipótesis (estudio cuantitativo) o Interpretación de la información (estudio cualitativo)
Para la presente tesis, se recopilo la información necesaria de las variables en estudio mediante un cuestionario previamente establecido por la tesista, así también el cuestionario fue previamente validado por los especialistas, para tener una mayor fiabilidad, posteriormente los datos que se obtuvieron fueron ingresados en una base de datos, para ello se utilizó la herramienta de ofimática de Microsoft Excel 2021 y luego estos datos fueron trasladados al software estadístico SPSS.V.26, donde el software nos permitió determinar las tablas de frecuencia y coeficientes asociados, para la contratación de hipótesis e interpretación de la mismas.
IV. RESULTADOS DE LA INVESTIGACIÓN
4.1. Descripción del trabajo de campo
En el sistema en el que se desarrolló en la empresa Experts Systems, se trabajó bajo la metodología ágil del marco de trabajo Scrum, después de realizar el análisis se especificó a través de los sprint o entregables, las cuales se fueron trabajando de acuerdo a los requerimientos solicitados por cada sprint, previamente definidos con el usuario del sistema que se desarrolló.
4.1.1. Sprint 0: Planificación de pruebas Automatizadas 4.1.1.1. Actividad N°1: Elaboración de caso de prueba
Se preciso el planteamiento de la lista del caso de prueba durante el análisis de la funcionalidad del sistema que desarrollo la empresa Experts Systems.
Entregable 1: Lista de caso de prueba del sistema web Para la realización del caso de prueba se basó en la funcionalidad del sistema, para luego realizar una estrategia de prueba de acuerdo a la regla de negocio del producto.
En la tabla se muestra una lista de escenarios de pruebas para el módulo con la descripción de la funcionalidad y los cambios constante que tiene el sistema durante el desarrollo.
Tabla 3
Lista de casos de pruebas generales
Módulo N° de
CDP Descripción de casos generarles Contexto Cambios Constantes 1 Buscar el número de registro
En este módulo se creará a un nuevo obligado y se generará una carta con las credenciales del obligado
SI
2 Seleccionar el botón generar carta NO
3 Buscar el RUC del obligado SI
4 Seleccionar representante legal SI
5 Generar carta NO
6 Enumerar carta SI
7 Descargar carta NO
8 Descargar solicitud NO
9 Buscar el número de registro SI
10 Buscar el número de carta SI
11 Buscar el número de ruc SI
12 Buscar la razón social SI
13 Exportar el reporte de las cartas
generados NO
4.1.1.2. Actividad N° 2: Definición de tipo de prueba a realizar
Al realizar el escenario y las decisiones del área de calidad. Se planteo realizar los tipos de prueba para la automatización de la prueba funcionar y de regresión del sistema que desarrollo la empresa Experts Systems.
Entregable 1: Tipos de pruebas para la automatización Se planteo el tipo de prueba a realizar para realizar la automatización para las pruebas funcionales y de regresión porque mayormente se realizar de forma manual.
✓ Prueba Funcional
✓ Prueba de regresión
Generar Carta
Figura 5
Selección de prueba para la automatización
Nota, La figura muestra la prueba para la automatización Fuente: Elaboración propia
4.1.1.3. Actividad N° 3: Definición los escenarios para automatizar Se realizo la definición del escenario para el desarrollo de la automatización. Para el proceso funcional, teniendo en cuenta a cambios constante durante el desarrollo.
Selección de tipo de prueba
Cambios en los procesos del sistema web
Ejecuciones de las pruebas manuales funcionales
Verificación de las pruebas manuales
Reporte de los resultados de las pruebas manuales
Automatización de pruebas funcionales
Automatización de pruebas de regresión Elección de
prueba
Figura 6
Definición del caso de prueba para la automatización
Nota, La figura muestra la definición de caso de prueba Fuente: Elaboración propia
Entregable 1: Cobertura de los escenarios de pruebas a automatizar
Se realizó la selección de los escenarios para la automatización de estos módulos porque son continuos a cambios y las pruebas son repetitivas.
En esta etapa de la cobertura de los escenarios de prueba y los módulos que se va a automatizar el sistema web.
Definición del caso de prueba para la
Ejecución de prueba funcional
Modulo tiene
cambios
Número de registro -
Casos de prueba repetitivo
Los módulos que se seleccionó
para automatizaci
ón de la prueba funcional que están propensos a
cambios
RUC Obligado -
Caso de ejecución regresiva
Login
Tabla 4
Lista de escenarios para pruebas automatizadas detalladas
Módulo Descripción de casos de pruebas generarles
N° de
Escenario Descripción de los escenarios
Buscar número de registro
1
Buscar un número de registro que si existe en el sistema que tiene integrado al SIGED
2
Buscar un número de registro que no existe en el sistema que tiene integrado al SIGED
Buscar archivo 3 Buscar el archivo que si existe en el sistema que tiene integrado al SIGED 4 Buscar el archivo que no existe en el
sistema que tiene integrado al SIGED
Buscar RUC obligados
5
Buscar el Ruc de obligado que si existe en el sistema que tiene integrado a la SUNAT
6
Buscar el Ruc de obligado que no existe en el sistema que tiene integrado a la SUNAT
Ingresar al sistema
7 Ingresar al sistema con un usuario y clave
8 El sistema no debe de permitir el ingreso con usuario que no esté activo Número de registro - IngresarRUC Obligado - IngresarLogin
4.1.1.4. Actividad N° 4: Formular la validación y resultados de las pruebas
Se planteo el documento de certificación para cada prueba a partir de los escenarios funcionales para comprobar si el criterio de aceptación ha sido satisfactorio o si se ha detenido la prueba que se estaba realizando la ejecución, también para comprobar que la ejecución se ha realizado con normalidad o si a sino anormal.
La ejecución normal significa que los casos de prueba se han ejecutado correctamente. Ejecución anormal, es cuando el caso de prueba no se ha ejecutado correctamente o no se pudo completar, también puede ser cuando en sistema hubo fallas.
Figura 7
Etapa de resultado y evaluación de la ejecución de pruebas
Nota, La figura muestra etapa de resultado y evaluación de la ejecución de pruebas Fuente: Elaboración propia
Validación y resultado de las pruebas
Resumen de los escenarios de prueba
Certificación de los escenarios de prueba ejecutada Resultado de la ejecución de
los escenarios de prueba
Reporte los escenarios de prueba