Está en la página 1de 61

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA,
INGENIERÍA, CIENCIAS FÍSICAS Y
MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA

Análisis comparativo de herramientas para la automatización de pruebas de Software

Trabajo de titulación modalidad Proyecto de Investigación, previo a la obtención del título de


Ingeniera Informática.

AUTORA: Velasco Tanguila Gina Elizabeth

TUTOR: Ing. Mario Raúl Morales Morales MSc.

QUITO , 2019
DERECHOS DE AUTOR

Yo Velasco Tanguila Gina Elizabeth en calidad de autora y titular de los derechos morales del
trabajo de titulación Análisis comparativo de herramientas para la automatización de pruebas de
Software, modalidad Proyecto de Investigación, de conformidad con el Art. 114 del CODIGO
ORGANICO DE LA ECONOMIA SOCIAL DE LOS CONOCIMIENTOS, CREATIVIDAD E
INNOVACIÓN, concedo a favor de la Universidad Central del Ecuador la licencia gratuita ,
intransferible y no exclusiva del uso comercial de la obra , con fines estrictamente académicos.
Conservo a mi favor todos los derechos de autor sobre la obra, establecidos en la normativa citada.

Así mismo, autorizo a la Universidad Central del Ecuador para que realice la digitalización y
publicación de este trabajo de titulación en el repositorio virtual, de conformidad a lo dispuesto en
el Art. 144 de la Ley Orgánica de Educación Superior.

El autor declara que la obra objeto de la presente autorización es original en su forma de expresión
y no infringe el derecho de autor de terceros, asumiendo la responsabilidad por cualquier
reclamación que pudiera presentarse por esta causa y liberando a la Universidad de toda
responsabilidad.

-----------------------------------------
Gina Elizabeth Velasco Tanguila

Cc: 1723623219

ginaelizabethvelasco@gmail.com

ii
APROBACIÓN DEL TUTOR

En mi calidad de Tutor del Trabajo de Titulación, presentado por GINA ELIZABETH


VELASCO TANGUILA, para optar por el Grado de Ingeniera Informática; cuyo título es
ANÁLISIS COMPARATIVO DE HERRAMIENTAS PARA LA AUTOMATIZACIÓN DE
PRUEBAS DE SOFTWARE, considero que dicho trabajo reúne los requisitos y méritos
suficientes para ser sometido a la presentación pública y evaluación por parte del tribunal
examinador que se designe.

En la ciudad de Quito, a los 5 días del mes de Febrero de 2019.

----------------------------------------------

Ing. Mario Raúl Morales Morales MSc.

DOCENTE - TUTOR

Cc.1709026577
DEDICATORIA

Este proyecto de investigación en primer lugar se lo dedico a dios ya que el siempre esta guiando

mis pasos y permitiéndome avanzar para cumplir cada una de mis metas, gracias a su bendición

hoy estoy cumpliendo uno de mis sueños en cuanto a mi vida profesional.

Este gran paso en mi vida profesional también se lo dedico a mis padres Fausto Velasco y Roció

Vaca, ya que sin su apoyo, cariño y su bendición no lo hubiera logrado, a mi madre Roció por sus

palabras de aliento para continuar con este largo camino que no fue fácil pero hoy es recompensado

al permitirme subir un escalón más en mi vida profesional. A mi padre Fausto por guiarme por el

camino correcto y siempre enseñarme que en la vida nunca hay que darse por vencido y que con el

apoyo y cariño de la familia todo se puede lograr.

A mi esposo Gustavo Cóndor y a mi hijo Cristopher Cóndor por ser un pilar fundamental en mi

vida. Mi hijo es la fuerza que día a día me empujaba a luchar para culminar este camino ya que se

que sé que puedo ser un ejemplo para él en un futuro. Mi esposo que sin con su comprensión y su

ayuda nada de esto sería posible ya que siempre confió en mi y en que lograría cumplir este gran

sueño.

A mis hermanos Jonathan, Najely y Valeria por la ayuda que me brindaron con mi hijo, no es fácil

lograr culminar una carrera sin el apoyo y el cariño de sus hermanos ya que muchas veces se

necesita del apoyo familiar para continuar con cualquier proyecto de vida.

A mi abuelita Anita Santillán y a mi tía Gladys Velasco que se que desde el cielo me envían

siempre su bendición, mi abuelita que desde pequeña me enseñó a luchar muy duro para conseguir

cumplir mis metas siempre con amor y mucho cariño.

Gina Velasco T.
AGRADECIMIENTOS

 Doy gracias a Dios por la fuerza y la salud que me dio para poder cumplir este sueño.

 A mis padres por su ayuda moral y personal, por su amor y su cariño para poder culminar

esta carrera Universitaria.

 A mi esposo por su ayuda a lo largo de esta carrera, ya que sin su ayuda no hubiera podido

continuar y culminar con éxito mi carrera.

 A m hijo por ser mi inspiración para cumplir mis metas, por ser ese tesoro grande que la

vida puede dar y que me impulso a culminar mi carrera.

 Al Ing. Mario Morales que me acompaño a lo largo de esta carrera y que mas que mi Tutor

fue mi profesor, que desde las aulas hasta este momento en el que culmina mi carrera ha

sabido guiarme de una manera muy profesional, por ser una excelente persona y un

excelente profesional.

 A mis amigos y amigas que siempre me brindaron apoyo y aliento para seguir adelante y

no rendirme para cumplir esta meta.


CONTENIDO

DERECHOS DE AUTOR...................................................................................................................ii
APROBACIÓN DEL TUTOR ...........................................................................................................iii
DEDICATORIA ................................................................................................................................ iv
AGRADECIMIENTOS ......................................................................................................................v
CONTENIDO .................................................................................................................................... vi
LISTA DE FIGURAS ...................................................................................................................... viii
LISTADO DE TABLAS .....................................................................................................................x
RESUMEN ......................................................................................................................................... xi
ABSTRACT ...................................................................................................................................... xii
INTRODUCCIÓN ............................................................................................................................. 1
1. DEFINICIÓN DEL PROBLEMA ............................................................................................. 2
1.1 Planteamiento del Problema ................................................................................................... 2
1.2 Formulación del Problema ..................................................................................................... 2
1.3 Interrogantes de la Investigación ............................................................................................ 2
1.4 Hipótesis ................................................................................................................................. 2
1.5 Objetivos de la Investigación ................................................................................................. 2
1.5.1 Objetivo General ................................................................................................................ 2
1.5.2 Objetivos Específicos ......................................................................................................... 3
1.6 Justificación............................................................................................................................ 3
1.7 Alcance ................................................................................................................................... 3
1.8 Limitaciones ........................................................................................................................... 3
2. MARCO TEORICO ................................................................................................................... 4
2.1 Antecedentes .......................................................................................................................... 4
2.2 Marco Conceptual .................................................................................................................. 5
2.2.1 Calidad de Software ........................................................................................................... 5
2.2.2 Revisiones Técnicas ........................................................................................................... 6
2.2.3 Métricas de software .......................................................................................................... 7
2.2.4 Pruebas de Software ........................................................................................................... 7
2.2.5 Proceso de Pruebas ............................................................................................................. 7
2.2.6 Técnicas de Pruebas ........................................................................................................... 8
3. METODOLOGÍA .................................................................................................................... 13
3.1 Metodología de la Investigación. ......................................................................................... 13
3.2 Diseño Descriptivo. .............................................................................................................. 13
3.3 Procedimiento. ..................................................................................................................... 15
4. CÁLCULOS Y RESULTADOS .............................................................................................. 16
4.1 Estudio de herramientas. ...................................................................................................... 16
4.1.1 UnifiedFunctionalTesting................................................................................................. 16
4.1.2 Selenium. .......................................................................................................................... 16
4.1.3 Eggplant. .......................................................................................................................... 16
4.1.4 Ranorex. ........................................................................................................................... 16
4.1.5 TestComplete. .................................................................................................................. 16
4.1.6 Visual Studio Test Professional. ...................................................................................... 17
4.2 Selección de las herramientas. ............................................................................................. 18
4.2.1 Características de las herramientas................................................................................... 18
4.2.2 Criterios para la selección de herramientas ...................................................................... 20
4.3 Justificación de la selección de herramientas ....................................................................... 25
5. DISCUSIÓN ............................................................................................................................ 38
6. CONCLUSIONES Y RECOMENDACIONES ....................................................................... 39
7. ANEXOS.................................................................................................................................. 40
7.1.1 Instalación y Configuración de las herramientas Selenium ............................................. 40
7.1.2 Instalación y Configuración de las herramientas TestComplete ...................................... 45
BIBLIOGRAFÍA.............................................................................................................................. 48
LISTA DE FIGURAS
Figura 1Diagrama de Caja Negra ....................................................................................................... 8
Figura 2 Diagrama de Caja Blanca .................................................................................................... 9
Figura 3Flujo de Casos de Prueba .................................................................................................... 11
Figura 4Ingreso a grabación Selenium. ............................................................................................ 26
Figura 5Crear Proyecto en Selenium. .............................................................................................. 27
Figura 6Establecer URL de prueba. ................................................................................................. 27
Figura 7Grabación Selenium. ........................................................................................................... 28
Figura 8Creación de caso de prueba. ............................................................................................... 28
Figura 9Configuración rapidez de ejecución caso de prueba. .......................................................... 29
Figura 10Resultado de grabación de caso de prueba. ...................................................................... 29
Figura 11Creación de proyecto TestComplete. ................................................................................ 30
Figura 12Configuración de caso de prueba. ..................................................................................... 30
Figura 13Iniciargrabación del caso de prueba. ................................................................................. 30
Figura 14Grabación TestComplete. ................................................................................................. 31
Figura 15Resultado de la grabación de caso de prueba TestComplete. ........................................... 31
Figura 16Ejecutar los casos de prueba. ............................................................................................ 32
Figura 17Resultado de la ejecución de las pruebas. ......................................................................... 32
Figura 18Reproducir caso de prueba. ............................................................................................... 33
Figura 19Reproducción caso de prueba TestComplete. ................................................................... 33
Figura 20Resultado de la ejecución de las pruebas TestComplete................................................... 33
Figura 21Reporte de casos ejecutados vs errores. ............................................................................ 34
Figura 22Reporte ejecutado con Test ResultsReporting. ................................................................. 34
Figura 23Reporte TestCompleteHTML. .......................................................................................... 35
Figura 24Herramientas de Integración para gestión de incidencias. ................................................ 35
Figura 25Reporte Generado Jenkins. ............................................................................................... 36
Figura 26 Descarga Selenium Server (SeleniumHQ, 2015)............................................................. 40
Figura 27 DescargaSeleniumWebDriver para Java (SeleniumHQ, 2015). ...................................... 40
Figura 28Descarga Chrome Driver (SeleniumHQ, 2015). ............................................................... 41
Figura 29Creación de Proyecto Eclipse ........................................................................................... 42
Figura 30 Creación de un paquete. ................................................................................................... 42
Figura 31Nombrar un paquete.......................................................................................................... 42
Figura 32Creación de una clase. ...................................................................................................... 43
Figura 33Nombramiento de la clase................................................................................................. 43
Figura 34Clase Creada. .................................................................................................................... 43
Figura 35Configuración BuildPath. ................................................................................................. 44
Figura36Librerías Selenium. ............................................................................................................ 44
Figura 37Seleccionar Librerías Selenium. ....................................................................................... 45
Figura 38Descargar Trial TestComplete. ......................................................................................... 45
Figura 39InstalaciónTestComplete. ................................................................................................. 46
Figura 40InstalaciónTestComplete en Chrome. ............................................................................... 46
Figura 41Finalizar Instalación TestComplete. ................................................................................. 47
Figura 42Pantalla Inicio TestComplete. ........................................................................................... 47
LISTADO DE TABLAS
Tabla 1:Definiciones de Calidad. ....................................................................................................... 5
Tabla 2: Análisis de las herramientas adaptación de (GlobeTesting, 2012). .................................. 17
Tabla 3 Características importantes de las herramientas .................................................................. 19
Tabla 4: Popularidad por ranking de las herramientas. .................................................................... 20
Tabla 5: Puntaje Popularidad adaptación (Sabev, 2017). ................................................................ 20
Tabla 6: Puntaje Costo Licencia....................................................................................................... 21
Tabla 7: Puntaje Instalación y Configuración adaptación (Sabev, 2017). ...................................... 21
Tabla 8: Puntaje SUS (SystemUsabilityScale). ................................................................................ 22
Tabla 9: Puntaje Grabación y Reproducción adaptación (Sabev, 2017). ......................................... 23
Tabla 10: Puntaje Facilidad de Programación. ................................................................................. 23
Tabla 11: Puntaje por Eficiencia adaptación (Sabev, 2017)............................................................. 24
Tabla 12: Puntaje por Eficiencia. ..................................................................................................... 24
Tabla 13:Resultado aplicación de criterios de selección. ................................................................. 25
Tabla 14:Resumen aplicaciones seleccionadas para comparación. .................................................. 25
Tabla 15Cuadro comparativo de herramientas por caso de prueba. ................................................. 36
TITULO: Análisis comparativo de herramientas para la automatización de pruebas de software.

Autor: Gina Elizabeth Velasco Tanguila.

Tutor: Ing. Mario Raúl Morales Morales MSc

RESUMEN

El presente trabajo de investigación es de tipo descriptivo, comparativo y bibliográfico, cuyo


objetivo principal era el análisis de herramientas para automatización de pruebas funcionales,
partiendo de un marco teórico donde se describen las definiciones más importantes acerca de
calidad y pruebas de software. La selección de las herramientas se realizó en base a la aplicación de
criterios de popularidad y madurez de donde se tomaron dos herramientas como resultado, las
mismas cumplen con las necesidades principales del usuario en este caso facilitar la ejecución de
pruebas funcionales, se realizaron tres casos de prueba que fueron aplicados en las herramientas
seleccionadas con la finalidad de obtener datos relevantes para la comparación. En base al análisis
y comparación realizada en el presente trabajo se pudo obtener resultados que fueron utilizados
para la elaboración de conclusiones y recomendaciones que pueden ser utilizadas para trabajos
futuros relacionados con el tema de automatización de pruebas de software.

PALABRAS CLAVE: DESCRIPTIVO/ MADUREZ INFORMÁTICA/ POPULARIDAD/


AUTOMATIZACIÓN/ HERRAMIENTAS/ COMPARACIÓN.
TITLE: Comparative analysis of tools for software testing automation.

Author: Gina Elizabeth Velasco Tanguila.

Tutor: Ing. Mario Raúl Morales Morales.

ABSTRACT

The present research work is descriptive, comparative and bibliographic, whose main objective was
the analysis of tools for the automation of functional tests, based on a theoretical framework
describing the most important definitions of quality and software testing. The selection of the tools
was made based on the application of criteria of popularity and maturity from where two tools were
taken as a result, they meet the main needs of the user to facilitate the execution of functional tests,
also three test cases were performed and applied to the selected tools in order to get data relevant
for comparison. Based on the analysis and comparison made in the present work, it was possible to
get results that were used for the elaboration of conclusions and recommendations that can be used
for future works related to the topic of automation of software tests.

KEYWORDS: DESCRIPTIVE / INFORMATIC MATURITY / POPULARITY /


AUTOMATION / TOOLS / COMPARISON.
INTRODUCCIÓN

Los sistemas o aplicativos son creados por personas, por lo que no se puede garantizar que no se
hayan cometido errores durante el desarrollo e implementación de los mismos. Por lo que el costo
asumido por los errores encontrados luego de haberse adquirido el sistema pone en pérdida de
dinero y tiempo de los recursos asignados para el proceso de desarrollo. Según (Chinarro Morales,
Ruiz Rivera, & Ruiz Lizam, 2017) para evitar este tipo de percances se inició con las pruebas de
software para garantizar la disminución de fallos del sistema en producción. Anteriormente las
pruebas de software estaban orientadas a la corrección directa del código fuente de sistemas
realizados por los programadores. Tomando en cuenta el tiempo invertido de los desarrolladores se
vio la necesidad de crear un grupo para lo que es Test únicamente, creando así el equipo de control
de calidad. Conforme se ha ido avanzando en el tiempo y la tecnología, se inició la utilización
masiva de test para garantizar el cumplimiento de la especificación de los requerimientos dados por
el usuario, dichos test se realizan al final del desarrollo del software

Se debe tomar en cuenta que el ciclo de pruebas es algo largo ya que se deben realizar diferentes
tipos de pruebas, este esfuerzo y tiempo no es solo por parte del área de Calidad sino también por
parte del usuario al realizar las pruebas funcionales y en el caso de necesitarse pruebas de regresión
el tiempo se duplica ya que se repite el proceso de pruebas por ambas partes.

La automatización de las pruebas funcionales reduce significativamente el esfuerzo dedicado a las


mismas y a las de regresión en productos que se encuentran en continuo mantenimiento. La misma
que debe ser considerada un proyecto en sí mismo con objetivos definidos. Según (Esmite, Farías,
Farías, & Pérez, 2007) la experiencia de utilizar metodologías en un proyecto en este caso uno de
pruebas es muy importante ya que al igual que todo proyecto se sigue una secuencia de pasos.
Actualmente el área de Control de Calidad realiza sus pruebas funcionales de forma manual
basándose en los requerimientos funcionales que muchas veces no son claros, esto ocasiona que
los usuarios reporten incidencias cuya frecuencia retrasa el óptimo desarrollo de sus funciones. Por
lo que se desea hacer un análisis acerca de herramientas útiles para la automatización de pruebas de
software tomando en cuenta las necesidades del usuario y además de los casos de prueba
funcionales que sean establecidos al momento de realizar el levantamiento de los requerimientos
para el proyecto al que se aplique el desarrollo. Partiendo del análisis de las herramientas que
mejor se acerquen a la funcionalidad establecida que es la automatización de las pruebas de
software se realizará una comparativa entre ellas para llegar a la conclusión de cuál es la mejor
opción para cumplir con este proceso.

1
1. DEFINICIÓN DEL PROBLEMA

1.1 Planteamiento del Problema

Actualmente, el área de Control de Calidad realiza sus pruebas funcionales de manera manual
basándose en los requerimientos funcionales que muchas veces no son claros a su vez ni por el
usuario, esto ocasiona que la empresa tenga que invertir más tiempo y recursos para subsanar los
errores no encontrados, lo que implica que los usuarios reporten incidencias cuya frecuencia retrasa
el óptimo desarrollo de sus funciones.

Buscar herramientas que ayuden con la tarea de realizar pruebas funcionales automatizadas seria
una solución para disminuir el tiempo de inversión en el proceso de calidad, las mismas que no se
pueden elegir si no se cuenta con ayuda para la selección, es importante saber qué tipo de
herramientas permiten realizar este tipo de pruebas y bajo qué condiciones podrían seleccionarse.

1.2 Formulación del Problema

Existen características diferenciales importantes entre las distintas herramientas de automatización


para pruebas de software, por lo que es necesario elaborar un análisis comparativo para definir cuál
es la mejor opción al realizar el proceso de control de calidad.

1.3 Interrogantes de la Investigación

 ¿Qué herramientas automatizan pruebas de software?


 ¿Cómo mejora la automatización el proceso de pruebas?

1.4 Hipótesis

Es posible determinar criterios que permitan valorar herramientas de automatización para pruebas
de software.

1.5 Objetivos de la Investigación

1.5.1 Objetivo General

Proponer criterios referenciales para el análisis de herramientas de automatización de pruebas.

2
1.5.2 Objetivos Específicos

 Realizar un análisis comparativo de herramientas para la automatización de pruebas de


software.
 Elaborar un conjunto de recomendaciones para seleccionar adecuadamente una
herramienta de automatización de pruebas de software.

1.6 Justificación

El uso de herramientas automatizadas de pruebas de software permite una mayor eficiencia en


la implementación de un sistema, además de permitir productos con menores índices de
fallas.

1.7 Alcance

Estudio de dos herramientas que permiten la automatización de pruebas de software. En base


al estudio, proponer un modelo de referencia que facilite el uso de herramientas de
automatización de pruebas.

1.8 Limitaciones

• Se tomarán dos herramientas que su funcionalidad sea la automatización de las


pruebas independientemente de si estas son de software libre o propietario.
• No se realizará el análisis estático, es decir que no se efectuarán revisiones técnicas de
código.

3
2. MARCO TEORICO

2.1 Antecedentes

Los sistemas o aplicativos son creados por personas, por ende no se puede garantizar que no se
hayan cometido errores durante el desarrollo e implementación de los mismos. Por lo que el
costo asumido por los errores encontrados en el sistema luego de haberse adquirido pone en
pérdida de dinero y tiempo de los recursos asignados para el proceso de desarrollo. Para evitar
este tipo de percances se inició con las pruebas de software para garantizar la disminución de
fallos del sistema en producción. Anteriormente las pruebas de software estaban orientadas a
la corrección directamente del código fuente de los programas realizados por los
programadores(Chinarro Morales, Ruiz Rivera, & Ruiz Lizam, 2017).

Con el pasar del tiempo la industria del software ha experimentado un crecimiento


impresionante, según (Sepúlveda Cuevas & Cravero Leal, 2014) ésta viene atada de una
mayor exigencia de usuarios con respecto a las prestaciones y calidad de sus productos. Esto
ha generado necesidades significativas de las empresas por incorporar estándares de calidad en
sus procesos. Este trabajo permitirá presentar una propuesta que ayude a estandarizar los
procesos asociados al desarrollo de proyectos informáticos pertenecientes a una empresa.

Se debe tomar en cuenta que el ciclo de pruebas es algo largo ya que se deben realizar
diferentes tipos de ellas, este esfuerzo y tiempo no es solo por parte del Analista de Calidad
sino también por parte del usuario al realizar las pruebas; por otro lado la verificación del
sistema luego de corregido un error nos conduce a lo que se conoce como pruebas de
regresión(López León & Millo Sánchez, 2016).

En el caso de necesitarse pruebas de regresión el tiempo se duplica ya que el proceso se


repitepor ambas partes. La automatización de pruebas reduce significativamente el esfuerzo
dedicado a las pruebas de regresión ya que existen productos que se encuentran en continuo
mantenimiento. Como trabajo a futuro se observará un conjunto de herramientas que ayuden a
mejorar y reducir dicho esfuerzo al momento de la aprobación del sistema.

4
2.2 Marco Conceptual

2.2.1 Calidad de Software

La Ingeniería de software se orienta a un objetivo específico que es cumplir con la satisfacción del
usuario. Para cumplir con lo anterior, se plantea a la Ingeniería como la disciplina encargada de
todos los aspectos relacionados con la producción de software, incluyendo la gestión y
aseguramiento de calidad, mediante propuestas que apuntan hacia la forma de gestionar los
proyectos (Sepúlveda Cuevas & Cravero Leal, 2014). A continuación en la tabla 1 veremos una
serie de definiciones de calidad descritas por algunos autores.

Tabla 1:Definiciones de Calidad.

Definición Descripción Autor

Calidad del software La calidad puede entenderse como el grado en (Sepúlveda Cuevas &
el que el software posee una combinación Cravero Leal, 2014)
deseada de atributos como la confiabilidad o
interoperabilidad, entre otros

Definición de El concepto de calidad puede entenderse como (López Echeverry,


Calidad el grado en el que el software posee una Cabrera, & Valencia
combinación deseada de atributos como la Ayala, 2008)
confiabilidad o interoperabilidad, entre otros

Afirmación de Es la concordancia del software producido con (Pressman S., 2010)


Calidad los requerimientos establecidos, los estándares
de desarrollo prefijados y los requerimientos
no establecidos formalmente, conformes a lo
que desea el usuario.

Calidad de Software El obtener software de calidad involucra (Ochoa, 2018)


utilizar procedimientos estándares para
análisis, diseño, programación y pruebas, que
permitan compensar los requerimientos de
trabajo para lograr confiabilidad,

5
mantenibilidad y facilidad de pruebas.

Calidad La calidad es un conjunto de métricas estándar (Aristegui O., 2010)


o listas de control, y representa lo que los
usuarios buscan en un producto.

Las definiciones de calidad están orientadas a las facilidades que ofrece el software una vez esté
terminado, según (López Echeverry, Cabrera, & Valencia Ayala, 2008) éste debe contener las
siguientes capacidades:

 Fiabilidad:Operar sin errores.


 Modificable:Permitir hacer cambios necesarios de una forma sencilla.
 Comprensible:Comprender el software operativo a un cambio o arreglo.
 Rendimiento: Velocidad y compacidad del software.
 Utilizable: Capacidad de uso sencillo del software.
 Probable:Construir y ejecutar fácilmente casos de prueba.
 Portable:Mover el software fácilmente de un entorno de trabajo a otro.

2.2.2 Revisiones Técnicas

Las revisiones técnicas son el método más utilizado para validar la calidad de un producto .En este
proceso se encuentran involucrado el esfuerzo humano que examina o ayuda a examinar un
producto, pero lo importante es que se comprenda que el resultado de cada acción debe ser eficaz
para cumplir con un resultado exitoso (Somerville, 2011).

 Técnicas Estáticas.-Aquella en el que un sistema de software se revisa para encontrar


errores, omisiones y anomalías. Se basa principalmente en el código fuente, pero puede
inspeccionarse cualquier representación legible del software como los requerimientos o un
modelo del diseño. Existen métricas que pueden ser efectuadas según (Pressman S., 2010)
a continuación se verán las más representativas:
 Esfuerzo de preparación: Es requerido para revisar un producto del trabajo antes de la
reunión de revisión real.
 Esfuerzo de evaluación: Es requerido para una revisión real del producto.

6
 Esfuerzo de la repetición:Es aquel que se dedica a la corrección de los errores
descubiertos durante la revisión.
 Tamaño del producto del trabajo: Es la medición del tamaño del producto del
trabajo que se ha revisado.
 Errores menores detectados: Es el número de errores detectados que pueden
clasificarse como menores ya que no requieren un gran esfuerzo para corregirse.
 Errores mayores detectados: Es el número de errores encontrados que pueden
clasificarse como mayores ya que requieren más esfuerzo para corregirse.

2.2.3 Métricas de software

Las métricas de software se miden fácilmente, pueden ser por tamaño, complejidad entre otras.
Todo esto ser realiza para demostrar que existe calidad en el software, se construyen basándose en
datos históricos del producto, según (Somerville, 2011) las métricas del software se dividen en dos
clases:

 Métricas dinámicas.- Son métricas recogidas por las mediciones que se realizan a un
programa en ejecución.
 Métricas estáticas.-Son métricas recogidas por mediciones hechas en el diseño,código, o
documentación de un software.

2.2.4 Pruebas de Software

La prueba de software puede serusada para mostrar la presencia de errores, pero nunca su ausencia.
Es una actividad realizada para evaluar la calidad del producto y mejorarla, identificando defectos
y problemas. Es una verificación dinámica del comportamiento de un programa contra el
comportamiento esperado, usando un conjunto finito de casos de prueba, seleccionados de manera
adecuada (Paz Mera, 2016).

2.2.5 Proceso de Pruebas

Es importante que se elabore un proceso en el cual exista un plan y una matriz de pruebas para que
al ejecutar los casos de prueba se pueda dictaminar si el caso funciona adecuadamente y así
establecerlo como una conformidad, en el evento de que un caso de prueba al ejecutar el producto
de software no funcione de forma adecuada se relacionará como una no conformidad. A estas
métricas se les define un nivel o puntuación acorde a la clasificación, las técnicas y la matriz que se
utilicen. Las métricas ayudan a estimar los tiempos, esfuerzos y asignaciones; determinan también

7
los niveles de riesgo para que el equipo de desarrollo pueda ajustar los flujos de actividades y
optimizar así los recursos y el talento de los equipos de desarrollo. Por tanto, la implementación de
un proceso de pruebas brinda las pautas para definir objetivos, analizar y viabilizar los
requerimientos, diseñar, detallar, programar, implementar y asegurar la calidad de un producto de
desarrollo software (Paz Mera, 2016).

2.2.6 Técnicas de Pruebas

Existen dos grandes agrupaciones para las pruebas de software: de caja negra y de caja blanca,
estas están orientadas a encontrar circunstancias en las que el programa no se comporta de acuerdo
a las especificaciones. A continuación se especifica la funcionalidad de cada una de las
agrupaciones (López León & Millo Sánchez, 2016).

 Caja Negra: Puede utilizarse para lograr objetivos de cobertura de entrada y salida como
se muestra en la Figura 1 , con entradas humanas, vía interfaces a un sistema, o parámetros
de interfaz de las pruebas funcionales. En esta técnica es importante identificar las clases
de equivalencia y luego se generan los casos de prueba con los diferentes valores o
especificaciones a ser probados, la técnica vista no se preocupa tanto por cómo está hecha
la aplicación sino que cumpla con las especificaciones dadas por el usuario (Paz Mera,
2016)

Entrada FUNCIONES Salida


(Aplicación)

Figura 1Diagrama de Caja Negra

 Caja Blanca: Es un tipo de pruebas de software que se realiza sobre las funciones internas
de un módulo. Así como las pruebas de caja negra ejercitan los requisitos funcionales
desde el exterior del módulo, las de caja blanca están dirigidas a las funciones internas, en
la Figura 2 se muestra como de igual se toma en cuenta las entradas y las salidas
(Pressman S., 2010).

8
Figura 2 Diagrama de Caja Blanca

2.2.7 Clasificación de las Pruebas

La clasificación de las pruebas son: funcionales, no funcionales y estructurales.

 Pruebas funcionales.-Se denominan pruebas funcionales a aquellas que tienen por


finalidad, identificar inconsistencias, asegurar requisitos funcionales, reducir costos de no
conformidades, evitar reprocesos, mejorar la productividad y aumentar la satisfacción del
usuario (Chinarro Morales, Ruiz Rivera, & Ruiz Lizam, 2017).
 Pruebas no funcionales.- Hacen referencia a las pruebas necesarias “para medir las
características de los sistemas y software que pueden cuantificarse. Se debe tener en cuenta
que se orientan hacia el comportamiento externo del software y en la mayoría de los casos
utilizan técnicas de diseño de pruebas de caja negra (Paz Mera, 2016).
 Pruebas estructurales.-Estas pruebas son las que se centran en los detalles de arquitectura
o lógica, tal vez no aborden directamente los requerimientos específicos. pueden ejecutarse
en todos los niveles de pruebas se basan directamente en componentes, integración,
sistema, etc (Pressman S., 2010).

2.2.8 Tipos de Pruebas

Los tipos de prueba que se verán a continuación se basan en las pruebas funcionales, pueden
hacerse en diferentes niveles dependiendo del objetivo de las pruebas, cada una de ellas se realizan
en determinados momentos del ciclo de vida del software. Según (Fernández Pérez, Cué Delgado,
Cruz Aguila, Gonzalez Jorrín, Acosta Molina, & Hernández Aguila, 2007) se listan los siguientes
tipos.

 Unitarias.-Permite probar el comportamiento de cada uno de las componentes de forma


independiente. Se prueba la funcionalidad de una clase o conjunto de clases
correlacionadas.

9
 Integración.- El objetivo es probar la unión de las componentes del sistema, una vez que
hayan pasado las pruebas unitarias se deber verificar que los componentes interactúen
correctamente en cuanto a funcionalidad. Este tipo de prueba deberá realizarse durante la
fase de construcción, una vez sea implementados todos los componentes.
 Sistema.-Comprueba la funcionalidad de todo el sistema y cualquier detalle de diseño
interno. Se deben verificar principalmente los requisitos no funcionales definidos para el
producto, comprobar que el sistema puede gestionar los volúmenes de información
requeridos, seguridad e interfaces con otros sistemas funcionando correctamente bajo las
condiciones más extremas.
 Aceptación.- Es un conjunto de pruebas que se ejecutan nuevamente en acompañamiento
del usuario, teniendo como principal objetivo cubrir correctamente con todos los requisitos
solicitados en el sistema.
 Regresión.-Son pruebas que se realizan para verificar que cambios ocurridos en algún
componente del sistema no provoquen errores adicionales en otros componentes que ya
han sido probados, por lo que se realiza una regresión de pruebas.

2.2.9 Casos de Prueba

Los casos de prueba conllevan los requisitos funcionales, por lo que cada requisito especifica
mínimo un caso de prueba. Cada caso de prueba está compuesto por varios pasos a ejecutar,
dependiendo de la complejidad del requisito, y cada paso está compuesto por una acción, que será
realizada por el tester o el usuario. Para que un caso de prueba tenga un resultado esperado exitoso
los pasos deben cumplir con los requerimientos establecidos por el usuario. Si uno de los pasos no
lo cumple, todo el caso de prueba resultará fallido en la figura 3 se muestra un flujo ejemplo de
casos de prueba. Existen diferentes técnicas de derivación de casos de prueba para probar una
unidad de software. Estas se pueden dividir en dos, de caja negra (funcional) o de caja blanca
(estructural). Los casos de prueba son esenciales para todas las actividades de pruebas, según
(Ochoa, 2018):

 Son la base para diseñar y ejecutar los procedimientos de pruebas.


 La profundidad de las pruebas es proporcional al número de casos de pruebas.
 El diseño, desarrollo y los recursos necesarios son gobernados por los casos de pruebas
requeridos.
 Si los casos de prueba no son correctos, la calidad del sistema se pone en duda y las
pruebas dejan de ser confiables.

10
Identificar los casos de prueba y escenarios relevantes para
ejecución.

Identificar los casos de prueba y escenarios redundantes y


eliminarlos.

Ejecutar los casos y registrar los resultados de la ejecución, luego


documentarlos

Registrar y notificar las no conformidades encontradas al


ejecutar los casos.

Revisar las incidencias corregidas y ejecutar nuevamente los


casos de prueba más relevantes.

Registrar los resultados de la regresión en la ejecución de los


casos de prueba...

Figura 3Flujo de Casos de Prueba

2.2.10 Automatización de Pruebas

Las pruebas automatizadas son sólo un tipo de prueba que utiliza scripts para ejecutar
automáticamente una serie casos bajo prueba para comprobar que los pasos se codificaron
adecuadamente. Las pruebas automatizadas tienen como propósito aligerar el proceso de ejecución
de pruebas esto según (Ochoa, 2018), sin embargo traen consigo limitantes, como la alta
dependencia que se tiene con las herramientas de automatización y la complejidad que conlleva su
configuración a la hora de interactuar con ellas .Para lo cual se requiere que el personal capacitado
y que tenga el conocimiento adecuado sobre el uso de estas herramientas.

Una de las ventajas de la automatización es la reproducibilidad y el tiempo de ejecución


predecible, que deben servir como indicadores de la calidad del software. A menudo, la

11
automatización de las pruebas funcionales puede ser complicada, por lo que el personal que realice
esta tarea se debe familiarizar con los principios básicos de cómo crear este tipo de pruebas. A
continuación se describen algunos principios básicos para lograr la automatización de estas pruebas
(Ramesh, 2014).

2.2.11 Principios para automatización


a) Diseñar las pruebas.- El objetivo es crear una clase base que sea responsable de llevar
las funciones principales de la aplicación, con base en las especificaciones se identifica
la funcionalidad principal de la aplicación, que cubrirá las pruebas y luego cada día se
añaden más funcionalidades en paralelo con la implementación según (Ramesh, 2014).
Cada método de apoyo a la prueba y la creación de nuevos usuarios, se debe realizar
separado de las pruebas, es decir, se implementa en diferentes clases.
b) Implementación de las pruebas.-En esta actividad se realiza la instalación del
hardware, software y herramientas de automatización necesarias para realizar las
pruebas. Además se selecciona el equipo de probadores y se capacita al
personal(Fernández Pérez, Cué Delgado, Cruz Aguila, Gonzalez Jorrín, Acosta Molina,
& Hernández Aguila, 2007).
c) Scripts automatizados.- Existen algunas cuestiones técnicas que deben concretarse y
que varían de una herramienta a otra. Para esto una vez diseñados e implementados los
casos de prueba se deben realizar los scripts que se adapten a la herramienta
seleccionada (Aristegui O., 2010).
d) Ejecución de las pruebas.- Se realizan las pruebas planificadas tal y como se
documenta en las casos de pruebas. Una vez que se realicen las pruebas, se registran y
comprueban los resultados, ya que se han realizado las pruebas se realiza un informe
donde se registren los hallazgos en el caso de existir, caso contrario se registra el
estado exitoso (Fernández Pérez, Cué Delgado, Cruz Aguila, Gonzalez Jorrín, Acosta
Molina, & Hernández Aguila, 2007).
e) Mantenimiento de las pruebas.-Según (Aristegui O., 2010) el beneficio real de
automatizar las pruebas se obtiene en la fase de mantenimiento, ya que consiste en
utilizaron software para probar el sistema donde un proceso manual se reemplaza por
pruebas rápidas de tal manera se mejora la precisión, y se ahorra tiempo y dinero en la
ejecución de pruebas anteriormente realizadas (también llamadas pruebas de
regresión).

12
3. METODOLOGÍA

3.1 Metodología de la Investigación.

La siguiente investigación es de tipo aplicada al método descriptivo, pues el objetivo está orientado
a identificar características principales de un tema en dos o más grupos (Vara Horna, 2012). Es
decir, únicamente pretenden medir o recoger información de manera independiente o conjunta
sobre los conceptos o las variables a las que se refieren. Se ha escogido el tipo de investigación
descriptiva comparativa que plantea que los estudios analizan la forma como varían algunas
características entre dos o más grupos de interés, de tal manera que se recolecta información
relevante con respecto a un mismo fenómeno y luego se comparará los datos recogidos (Hernández
Sampieri & Fernández Collado, 2010).

Es importante recordar que se realizará una investigación bibliográfica, mediante consultas en


estudios previamente realizados, artículos de revistas tecnológicas de fuentes relevantes
académicamente, así como también consultas de reconocidos sitios web para conocer las
herramientas que se van a comparar.

3.2 Diseño Descriptivo.

Para el estudio comparativo se utilizaron ciertos criterios de popularidad y madurez de las


herramientas, para analizar los datos con los que se medirán tales criterios, se tomará en cuenta
tablas de ponderación por cada criterio.

Partiendo de que se aplicarán criterios para selección de herramientas diremos que se utilizaran
ocho criterios divididos en popularidad y madures para lo cual se definió que para popularidad se
medirá esta como criterio y para madurez que es como va mejorando conforme al tiempo un
software, se medirán siete criterios que se encuentran divididos en costo, instalación y
configuración, usabilidad, facilidad de programación, grabación y reproducción, eficiencia y
calidad en reportes.

El autor (Sabev, 2017) planteó estos ocho criterios para herramientas que permiten automatización
de pruebas, en base a esto diremos que se tomaran los criterios que serán aplicados de la siguiente
manera.

Popularidad.- Es muy importante que una herramienta de software sea popular en su industria, así
como entre los investigadores, las innovaciones son continuas por lo que en este caso de toma
como criterio de popularidad al número de búsquedas acerca de las herramientas que serán

13
analizadas para lo cual se toman como índice a las páginas más visitadas según (Sabev, 2017), estas
son Google, Google Scholar, Research Gate y Wikipedia.

Costo de Licencia.- El costo de una herramienta es muy importante debido a que las compañías
buscan obtener herramientas de calidad y con costos que se encuentren dentro de los presupuestos
por lo que es costo de la licencia es un criterio de evaluación necesario para la evaluación de estas
herramientas, este criterio se lo toma dentro de la madurez de un software ya que los costos pueden
variar de acuerdo a las características que se van mejorando en cada herramienta.

Instalación y Configuración.- Se necesita que la herramienta permita una instalación rápida y


sencilla, al igual que la configuración de la misma ya que lo que se busca es automatización y
disminuir tiempos al momento de realizar una aplicación de calidad, por lo que para que se cumpla
con este criterio se deben tener en cuenta 3 factores: instalación, configuración y documentación.

Usabilidad.- Según la ISO/IEC 9241-11 se indica que para la evaluación de una herramienta de
software debe existir usabilidad, esto es necesario para verificar la herramienta garantice que puede
ser utilizada por usuarios específicos y cumplir con el objetivo de la misma que en este caso es la
automatización de pruebas.

Facilidad de Programación.- Este criterio viene atado de la usabilidad ya que es importante que la
herramienta tenga facilidad en el uso y en este caso al utilizarla para programar scripts que cumplan
con el objetivo de la herramienta que es automatizar pruebas, es importante saber si se puede
programar en cualquier lenguaje ya que el no tener conocimiento sobre el lenguaje de
programación puede ocasionar demora en aprender a utilizar la misma.

Grabación y Reproducción de scripts.-Es relevante que la herramienta cumpla con el objetivo


que es la automatización de pruebas, esto se basa en el hecho de que se graban los casos de prueba
y estos se ejecuten automáticamente, para lo cual se tomará en cuenta el tipo de grabación y si este
permite una correcta reproducción o si tiene fallas al momento de grabar y reproducir.

Eficiencia.- Este ítem se refiere a la capacidad de rendimiento que tiene la herramienta en relación
con en el tiempo de ejecución, por lo que se tomará como índice el tiempo que se demora en
ejecutarse un caso de prueba, partiendo de este se verá la eficiencia de la herramienta.

Elaboración de Reportes.-Al ejecutar pruebas de software es muy importante tener como


respaldo reportes que permitan obtener y guardar información acerca de las pruebas realizadas, por

14
lo que es importante tener en cuenta si la herramienta tiene la opción de generar reportes o al
menos de integrarse con otras aplicaciones que permitan generar los mismos.

Estos criterios serán aplicados en la sección de cálculos y resultados basados en las características
de cada una de las herramientas, para la ponderación de cada uno de estos criterios se tomará la
valoración dada por algunos autores como (Sabev, 2017), (Chinarro Morales, Ruiz Rivera, & Ruiz
Lizam, 2017), entre otros que muestran que para facilidad se debe medir de 1 a 5 siendo 5 el valor
más alto y 1 el valor más bajo, en el caso de no cumplir el valor podrá ser 0.

Como se tienen ocho criterios de evaluación para el cálculo final de la selección de herramientas se
debe tener como máximo un valor de 40 ya que todas las ponderaciones dan como máximo 5
puntos y si lo multiplicamos por los ocho criterios nos da el puntaje máximo dicho anteriormente.

3.3 Procedimiento.

Para la realización del estudio comparativo el procedimiento a seguir será el siguiente:

3.3.1 Estudio de Herramientas: Consiste en la selección de las herramientas que van a


ser evaluadas para encontrar las dos mejores de acuerdo a los criterios descritos más
adelante.
3.3.2 Selecciónde Herramientas: Este paso se enfoca en buscar dos herramientas de
automatización de software las mismas deben tener procedencia confiable y
verificable para su comparación.
3.3.3 Justificación de la Selección de Herramientas: A continuación, se procede a
definir las herramientas, la justificación de la elección, en este caso se ve reflejada
en las ponderaciones de los criterios, además de la instalación y las pruebas en un
caso de prueba establecido como ejemplo para la demostración de la utilización de
las mismas.
3.3.4 Análisis de Resultados: Como parte final de la investigación se procede al estudio
comparativo entre las herramientas seleccionadas, así como también a la realización
de tablas para una mejor interpretación de los resultados que servirán de ayuda a la
compresión de las conclusiones obtenidas.

15
4. CÁLCULOS Y RESULTADOS

4.1 Estudio de herramientas.

Debido las necesidades de utilizar herramientas para la automatización se ha requerido analizar las
características más relevantes de una variedad de herramientas. Para dicho análisis se ha tenido en
cuenta la fácil utilización, las tecnologías soportadas, la integración con herramientas externas de
gestión, el posible soporte de las herramientas y las plataformas compatibles (GlobeTesting,
2012)nos proporciona un ranking de las mejores herramientas para automatización:

4.1.1 UnifiedFunctionalTesting.

Permite la identificación proactiva de defectos en una etapa temprana al momento de realizar


pruebas, ya que la automatización es un paso importante para mejorar la calidad de la
aplicación(MicroFocus, 2019).

4.1.2 Selenium.
Automatiza los navegadores. Principalmente sirve para automatizar aplicaciones web con fines de
prueba, las tareas de administración basadas en la web pueden y deberían también ser
automatizadas (SeleniumHQ, 2015).

4.1.3 Eggplant.
Eggplant ayuda a monitorear y analizar la experiencia de usuario de extremo a extremo y mejorar
los resultados de negocio por medio de la automatización de pruebas(EggPlant, 2018).

4.1.4 Ranorex.
Automatizalas pruebas en un escritorio de Windows y luego las ejecuta localmente o remotamente,
en dispositivos móviles IOS o Android reales o en simuladores / emuladores.

4.1.5 TestComplete.
Herramienta de automatización de pruebas de la industria con un motor de reconocimiento de
objetos híbridos impulsado por Inteligencia Artificial para detectar y probar cada aplicación de
escritorio, web y móvil con facilidad (SmartBear, 2019).

16
4.1.6 Visual Studio Test Professional.
Esta herramienta ayuda a la coordinación de todas las actividades de administración de pruebas,
incluidas las pruebas de planificación, creación, ejecución y seguimiento desde una ubicación
central de un sistema(Microsoft, 2019).

En la tabla 2 se muestran características importantes de cada una de la herramientas que están


siendo analizadas para lo cual se valora de la siguiente manera si cumple el color es verde y si no
cumple el color es rojo , en el caso de cumplir en parte se detalla la respuesta.

Tabla 2: Análisis de las herramientas adaptación de (GlobeTesting, 2012).

Unifiedfunc Visual
Características tionalTestin Selenium Eggplant Ranorex Testcomplete Studio Test
g Professional

Simulación
equivalente a la
acción del usuario
final.

Administración /
almacenamiento
de objetos.

Soporte en
variedad de
navegadores

Parámetros de
reconocimiento de
objetos.

Lenguaje
orientado a
objetos ,
integración con
herramientas
externas y
librerías

17
Integración con
herramientas de
gestión de pruebas

Numerosas
tecnologías Solo web
soportadas?

Soporte para Windows, Windows,


Sistema operativo Windows MacOS y MacOS y Windows Windows Windows
/ plataformas Linux Linux

Facilidad de
creación de
scripts.

Soporte técnico. Excelente Comunidad Bueno Bueno Bueno Excelente

Lenguajes
soportados para la Numerosos Numerosos Numerosos Numerosos
Visual Basic SenseTalk
creación de lenguajes lenguajes lenguajes lenguajes
scripts.

Integración con
proceso de
desarrollo.

4.2 Selección de las herramientas.

Se eligió trabajar con dos herramientas de automatización.Para la selecciónde las mismas se


analizará cada una de ellasbasándose en 8 criterios de madurez y popularidad según (Sabev, 2017),
de los cuales serán ponderados y registrados en la tabla 3:

4.2.1 Características de las herramientas.

A continuación se muestra una tabla con características relevantes para cada aplicación.

18
Tabla 3 Características importantes de las herramientas
Ultima Lenguajes Estado de Ultima
Herramienta Desarrollador URL Licencia Demo
Versión Soportados Actualización Actualización
https://w $800
Own,
Unifiedfuncti ww.micr UFT_14. usuario/
MicroFocus keyworddrive 30 días ACTIVA 2019
onalTesting ofocus.c 51 por 3
n, VBScript
om meses
Java, .NET,
JavaScript,
https://w
Python, Free
ww.selen
Selenium SeleniumHQ 3.141.59 Ruby, PHP, (Apache N/A ACTIVA 2018
iumhq.or
Perl, R, 2.0)
g/
Objective C,
Haskell
$4950
Java, .NET,
https://eg anual
Eggplant Eggplant 18.2.3 C#, Ruby, 30 días ACTIVA 2019
gplant.io/ por
C++, Python
usuario
$2900
https://w .NET
anual
Ranorex RanorexGmbH ww.ranor 8.3 (C#,VisualBa 30 días ACTIVA 2018
por
ex.com/ sic)
usuario
JavaScript,
Python, $8400
https://s
SmartBear VBScript, anual
Testcomplete martbear. 14.0 30 días ACTIVA 2019
Software JScript, por
com/
Delphi, C++, usuario
C#
https://vi
sualstudi
$250
o.micros .NET
Visual VT PRO mensual
Microsoft oft.com/e (C#,VisualBa 30 días ACTIVA 2019
Studio Test 2017 es por
s/vs/test- sic)
usuario
professio
nal/

Para obtener los datos de popularidad se obtuvieron resultados de Google donde se lleva a cabo una
búsqueda con el nombre de la herramienta y el nombre "herramienta de prueba" el número de
resultados se registra en la columna Google Search, una búsqueda similar a la anterior se realiza en
Google Scholar, ResearchGate y Wikipedia de tal manera que se mide el ranking de popularidad
en las pagina de búsqueda más relevantes. Por lo que en la tabla 4 se registra la popularidad
sumando los 4 valores de Ranking y se los divide para 4, siendo así el que tenga menor valor el
que se encuentre en primer lugar de popularidad.

19
Tabla 4: Popularidad por ranking de las herramientas.
Google Ranking Google Ranking Research Ranking Wikipedia Ranking
Herramienta Popularidad
Search GS Schoolar GSch Gate RG (1 año) WK
Unifiedfuncti 29,800,00
3 70.100 2 21 2 4416 2 2,25
onalTesting 0
41,100,00
Selenium 2 816.000 1 16 3 21637 1 1,75
0
11,900,00
Eggplant 4 54.100 3 1 6 107 5 4.5
0
Ranorex 276,000 6 305 6 3 5 901 4 5.25
Testcomplete 1,170,000 5 9.650 5 9 4 1326 3 4.25
Visual
89,600,000 1 21.100 4 43 1 0 6 3
Studio Test

4.2.2 Criterios para la selección de herramientas

Se realizó el análisis de las herramientas de acuerdo a 8 criterios dados y evaluados por (Sabev,
2017): Popularidad (P), Costo Licencia (CL), Instalación y Configuración (IC), Usabilidad (U),
Facilidad de Programación (FP),Grabación y Reproducción de scripts (GR), Eficiencia (E),
Reportes(R).Veremos a continuación la tabla de los resultados aplicando los criterios descritos
anteriormente a cada una de las herramientas.

A. Popularidad (P).- Se dará puntos similares acorde a las herramientas, para lo cual se
tomara la valoración de la tabla 5 , con estos valores se darán los puntajes de popularidad
siendo 5 el puntaje más alto y se lo da al valor más bajo encontrado en la tabla 4 de como
ya se explicó anteriormente :

Tabla 5: Puntaje Popularidad adaptación (Sabev, 2017).

Rango popularidad Puntaje

5
0 - 3.0

3.1 - 6.0 4

6.1 - 7.5 3

20
7.6 – 9.0 2

9.0 – 15 1

B. Costo Licencia (CL).-Es un factor importante en muchas empresas de software, dando


los puntajes de acuerdo a la tabla 3 donde se registran los valores de las licencias por cada
una de las herramientas. Los puntajes se darán de acuerdo a la tabla 6 siendo 5 el puntaje
más alto en este caso dado a licencias gratuitas y 0 el valor más bajo dado al costo más
alto:

Tabla 6: Puntaje Costo Licencia.

Costo Licencia Puntaje

5
Gratuitas

>1000/por usuario 4

1000-2000/por usuario 3

2001-5000/por usuario 2

5000-10000/por usuario 1

C. Instalación y Configuración (IC).- Complejidad de la herramienta es decir si la


herramienta puede ser instalada, configurada. A continuación veremos la tabla 7 de
puntuación para este criterio , siendo 5 el valor más alto y este se obtiene de la suma de 3
criterios que son tiempo de instalación , documentación y configuración.

Tabla 7: Puntaje Instalación y Configuración adaptación (Sabev, 2017).

21
Instalación Puntaje Instalación Puntaje Documentación Configuración

2 1/ si tiene 2 /facilidad
0 – 120 /segundos

121 segundos en adelante 1 0 si no tiene documentación 1/dificultad media

0 /dificultad alta

D. Usabilidad (U).-Según la norma ISO 9241-11, la facilidad de uso es la medida en que un


producto puede ser utilizado por los usuarios para lograr sus objetivos con efectividad,
eficiencia y satisfacción, se realiza un cuestionario de escala de usabilidad (SUS)
otorgado por la norma ISO, el mismo que entrega como resultado un puntaje SUS. A
continuación en la tabla 8 veremos los valor por rango de SUS en el cual 100 es el más
alto y 5 como el puntaje más alto para este valor :

Tabla 8: Puntaje SUS (SystemUsabilityScale).

Puntaje SUS Puntaje

5
80 – 100

73 – 84 4

52 – 72 3

39 – 51 2

26 - 38 1

E. Grabacióny Reproducción (GR).-La grabación y la reproducción del script de prueba


es una parte importante del uso de la herramienta ya que esto permite eficiencia al
momento de automatizar las pruebas , a continuación veremos la tabla 9 de puntajes para

22
el criterio respectivo donde 5 es el puntaje más alto y se van restando los puntos negativo
en el caso de no cumplir con la descripción de la tabla 9 :

Tabla 9: Puntaje Grabación y Reproducción adaptación (Sabev, 2017).

Descripción Puntaje

Permite grabación por medio de scripts y sus datos son editables 5

No tiene opción de más de 1 grabación -1

Tiene dificultad de grabación -2

Tiene un error grave en la grabación -4

F. Facilidad de Programación (FP).- Se debe tener en cuenta que se trata de automatizar


las pruebas por lo que se necesita que la programación de los casos sean fáciles para las
personas que configuren la herramienta. A continuación veremos en la tabla 10 de puntajes
según la facilidad de programación siendo 5 el valor más alto:

Tabla 10: Puntaje Facilidad de Programación.

Descripción Puntaje

5
Facilidad de Programación y elección de lenguajes de programación

Programación con dificultad media y elección de lenguajes de programación 4

Dificultad alta y tiene elección de lenguajes de programación 3

Programación con scripts complejos y lenguaje de programación único 2

Lenguaje de Programación no conocido 1

23
G. Eficiencia (E).-La ejecución rápida de la prueba es muy importante para una
herramienta de automatización, especialmente cuando hay muchos casos de prueba.
(Sabev, 2017) tomó un conjunto simple de 4 casos de prueba es grabados en diferentes
herramientas , tomando como objeto de prueba la calculadora de Windows y como datos
los ejercicios de suma, resta, multiplicación y división. De estos casos se obtuvo la tabla
11 de puntajes por tiempo de ejecución la cual veremos a continuación siendo 5 el valor
más alto para el menor tiempo de ejecución.

Tabla 11: Puntaje por Eficiencia adaptación (Sabev, 2017).

Rango de tiempo(segundos) Puntaje

5
0-5

5 - 10 4

11 - 20 3

21 - 40 2

40 - 90 1

H. Reportes (R).- La presentación de informes de prueba proporciona un valor importante


sobre cómo fue la ejecución de la prueba. Por lo que se tomara un puntaje de valoración
para este criterio el cual se verá en la tabla 12 siendo 5 el valor más alto y se lo da la
herramienta que ejecuta mejores reportes

Tabla 12: Puntaje por Eficiencia.

Descripción Puntaje

5
Reportes automáticos y configurables

Reportes automáticos pero no configurables 4

24
Reportes manuales o que se generen a partir de otras herramientas 3

Se generan a partir de otras herramientas 2

No se tiene opciones y es todo manual 1

Se registran los valores obtenidos de cada uno de los criterios y se realizo una sumatoria en la
tabla 13.

Tabla 13:Resultado aplicación de criterios de selección.

P CL IC U FP GR E R Resultado
Herramienta
UnifiedfunctionalTesting 5 2 4 3 3 3 4 4 28
Selenium 5 5 3 4 4 4 4 3 32
Ranorex 4 2 3 3 3 4 4 4 27
Testcomplete 4 2 4 3 3 3 3 5 27
Visual Studio Test 5 2 3 3 3 3 3 3 25
Eggplant 4 2 3 3 3 3 3 3 24

4.3 Justificación de la selección de herramientas

De la valoración por criterios de cada una de las herramientas se tomaron 2 con un índice de
valoración superior se muestran en la tabla 14, en este caso dieron como resultado una herramienta
con licencia gratuita (Selenium) y una con licencia pagada (TestComplete) para la comparación de
las mismas, los valores se obtuvieron de acuerdo a la metodología descrita en la sección 3.

Como se puede observar en la tabla 13 se obtuvieron las dos mejores herramientas de acuerdo a
popularidad y madurez, además de seleccionarlas por facilidad de programación ya que se necesita
que permita generar scripts en varios lenguajes de programación.

Tabla 14:Resumen aplicaciones seleccionadas para comparación.

Herramienta P CL IC U FP GR E R Resultado
Testcomplete 4 2 4 3 3 3 3 5 27
Selenium 5 5 3 4 4 4 4 3 32

25
4.3.1 Caso de Prueba

Para demostrar el funcionamiento de las herramientas se plantea tomar una página web (Tienda
Online). Se encuentra realizada en lenguaje Java Script, las herramientas tiene la opción de realizar
scripts de pruebas en varios lenguajes uno de ellos es el seleccionado.

 Caso I.- El primer caso de prueba es la grabación de la prueba en las diferentes herramientas.
a) Selenium.- Se debe acceder a la página web a probar en la siguiente dirección:
https://ginaelizabethvelasco.wixsite.com/zafirostudio. Se ingresa a Selenium y se escoge la
opción de grabar prueba.

Figura 4Ingreso a grabación Selenium.

Selenium al ingresar a grabación obliga a que el usuario cree un nuevo proyecto y que se registre la
URL de la página a probar, es necesario recordar que esta herramienta permite realizar pruebas
únicamente Web. Una vez registrada la URL de la página se debe ingresar el nombre del caso de
prueba a grabar, se pueden grabar y crear varios casos de prueba dentro de un proyecto.

26
Figura 5Crear Proyecto en Selenium.

Figura 6Establecer URL de prueba.

27
Figura 7Grabación Selenium.

Figura 8Creación de caso de prueba.

Se puede observar que una vez que se realizo la grabación de la prueba, se muestra una ventana en
la cual se reflejan los comandos ejecutados en la pagina Tienda Virtual, los mismos que se
encuentran asociados al caso de prueba registrado como “Agregar artículos al carro de compras”.
Se tiene la opción de configurar la rapidez del tiempo de ejecución de las pruebas.

28
Figura 9Configuración rapidez de ejecución caso de prueba.

Figura 10Resultado de grabación de caso de prueba.

b) TestComplete.- Para la prueba se debe crear un proyecto en la herramienta, seleccionar el


tipo de prueba y si la aplicación es Web, Móvil o de escritorio ya que TestComplete lo
permite. En este caso se realizará la prueba en Web, para lo cual se accede a la página web
que se encuentra en la siguiente dirección:
https://ginaelizabethvelasco.wixsite.com/zafirostudio.

29
Figura 11Creación de proyecto TestComplete.

Figura 12Configuración de caso de prueba.

Figura 13Iniciargrabación del caso de prueba.

30
Figura 14Grabación TestComplete.

En el caso de TestComplete se observa que al crear la grabación se genera el script en conjunto con
un grupo de imágenes que muestran la secuencia de grabación del caso de prueba.

Figura 15Resultado de la grabación de caso de prueba TestComplete.

 Caso II.- Se debe realizar la validación de los casos de prueba, es decir la reproducción de los
mismos de tal manera que se observe el tiempo de ejecución, así como los casos de éxito y los
errores generados al ejecutar las pruebas que se grabaron en el Caso I.
a) Selenium.- Una vez que se registra el caso de prueba como resultado de la grabación, se
tiene la opción de reproducir la prueba, y se va registrando en el Log los pasos que se
ejecutan correctamente así como los casos que generan algún tipo de error.

31
Figura 16Ejecutar los casos de prueba.

Después de la ejecución de los casos de prueba se muestra en la consola los pasos que dan
resultados exitosos , en el caso de que un paso genere un error éste se muestra en la consola , de tal
manera que el usuario puede observar la ejecución de la grabación paso a paso.

Figura 17Resultado de la ejecución de las pruebas.

b) TestComplete.-Se tiene la opción de ejecutar la prueba previamente grabada, se genera


una tabla de log en la cual se registran los pasos que fueron exitosos y los erróneos en el
caso de existir.

32
Figura 18Reproducir caso de prueba.

Figura 19Reproducción
19 caso de prueba TestComplete.

Una vez que se ejecuta el caso de prueba grabado se muestra en una consola de log los resultados
de la ejecución, se muestra el número de casos que se reprodujeron y cuántos de estos fueron
exitosos, en el caso de haber un error se muestra el detalle del mismo.

Figura 20Resultado
Resultado de la ejecución de las pruebas TestComplete.

 Caso III.- Ya realizada la ejecución de la grabación de pruebas, se obtuvieron resultados con


los que se pueden generar reportes, es importante este caso ya que de esta manera
maner se puede
tener una mejor trazabilidad de las pruebas realizadas y de el funcionamiento de la herramienta
de automatización.

33
a) Selenium.-Selenium IDE Muestra un reporte de los casos ejecutados y errores
encontrados, además tiene la opción de exportar el script y ejecutar reportes en PDF, XML
o gráficos al integrarse con otras herramientas.

Figura 21Reporte de casos ejecutados vs errores.

Selenium no tiene la opción de ejecutar reportes directamente desde la herramienta, pero se pueden
ejecutar reportes desde herramientas con las que se permite integración en la Figura 19. Se tiene un
ejemplo de cómo se muestra el reporte en la herramienta Test ResultsReporting.

Figura 22Reporte ejecutado con Test ResultsReporting.

b) TestComplete.-Esta herramienta muestra un reporte en HTML de los casos de prueba


ejecutados y errores encontrados,además permite la integración desde la consola con otras
herramientas de gestión de incidencias.

34
Figura 23Reporte TestCompleteHTML.

TestComplete tiene la opción de integrarse con otras herramientas para la elaboración de reportes,
una vez ejecutados los casos de prueba las herramientas que se muestran en la consola sirven como
gestor de incidencias, los mismos que permiten generar reportes de los errores que sean registrado,
a continuación se muestra un ejemplo de reporte generado en la herramienta Jenkins Figura 31.

Figura 24Herramientas de Integración para gestión de incidencias.

35
Figura 25Reporte Generado Jenkins.

4.4 Análisis de Resultados

Se realizaron 3 casos para probar el funcionamiento de cada una de las herramientas aplicadas para
el mismo tipo de prueba, en este caso una página Web cuyo lenguaje de programación es
JavaScript, tomando como casos la grabación, ejecución y generación de reportes que son
relevantes y cubren el objetivo de la
la automatización de pruebas. Cada una de las herramientas
cumple con los casos establecidos de diferente manera por lo cual se realiza la tabla 15 donde se
encuentra la comparativa de la herramienta para cada caso.

Tabla 15Cuadro
Cuadro comparativo de herramientas por caso de prueba.

Caso de Prueba Selenium TestComplete


 La interfaz para grabación  Permite la grabación de
es intuitiva ya que desde pruebas para sistemas Web,
que se elige la opción de móviles y de escritorio.
grabar se tiene un paso a  La interfaz para creación de
paso para la creación de un proyectos no intuitiva ya
nuevo proyecto. que no existe un paso a
Caso I  Tiene únicamente la opción paso.
(Grabación caso de prueba) de grabar pruebas para  Los mandos para detener,
sistemas Web. pausar y grabar
ar se
 No se tiene los mandos para encuentran en la pantalla
detener y pausar en la facilitando la grabación de
pantalla de grabación. la prueba.
 Se tiene la facilidad de  Se tiene un visualizador de
crear nuevos mandos, al imagen, que permite

36
momento de realizar esta observar en que parte de la
acción se puede elegir el pantalla se encuentra el
componente con solo paso que está siendo
dirigirse a la pantalla de la ejecutado.
página.
 Tiene la opción de  No tiene la opción de
seleccionar la velocidad configurar la velocidad de
con la que se va a ejecutar ejecución de la prueba.
el caso de prueba.  Muestra el tiempo de
 No muestra el tiempo de ejecución de la prueba.
ejecución de la prueba.  La consola de log se
encuentra organizada,
permitiendo que la lectura
Caso II de la ejecución sea fácil.
(Ejecución caso de prueba)  Permite organizar la
ejecución por medio de
filtros, de tal manera que se
puede ordenar los logs por
tipo, nombre, hora, etc.
 Tiene la opción de reportar
un error a cualquiera de las
herramientas de integración
para gestión de incidencias.
 Se puede exportar el script  En la versión paga se tiene
para generar los reportes la opción de integrarse con
por medio de otras herramientas de gestión de
herramientas. incidencias para registrar
 Se debe conocer acerca de errores y de esta manera
Caso III
herramientas de generación generar reportes en estas
(Generación de reportes)
de reportes por ejemplo herramientas.
JasperReport.  La elaboración de los
reportes en las herramientas
con las que se integra son
intuitivas.

37
5. DISCUSIÓN

En la presente investigación se realizó un análisis comparativo basado en criterios de madurez y


popularidad del cual se obtuvo como resultado dosherramientas que cumplen con lo requerido que
es la automatización de pruebas funcionales,donde se encontró que la herramientasSelenium y
TestCompletetienen los requisitos necesarios que son grabar y ejecutar casos de prueba
automatizados. Estas herramientas pueden desempeñar un rol importante para organizaciones que
requieren productos de calidad. Cabe recalcar que estas herramientas requieren de mucho esfuerzo
al momento de generar los casos de prueba, una vez que estos son generados es el tiempo de
ejecución el que se reduce al igual que las pruebas de regresión.

Es importante tener en cuenta que Selenium siendo una herramienta gratuita cubre con lo requerido
de una herramienta de automatización de pruebas, la grabación y ejecución de los casos de prueba
son efectivas. Para una empresa que no posee el presupuesto necesario para la parte de pruebas
Selenium es la herramienta perfecta para la elaboración de pruebas funcionales.

De acuerdo con los resultados obtenidos en el análisis de las herramientas independientemente del
tipo de licencia que posee la herramienta, se puede decir que existe un mejor desempeño por parte
de TestComplete ya que tiene integración directa con herramientas de gestión de incidencias y un
diseño intuitivo al momento de la grabación de un caso de prueba, esto es muy importante ya que
facilita el tiempo de utilización de la herramienta, al tener integración con las herramientas de
gestión permite obtener reportes de asignación y resolución de errores.

Las limitaciones que se obtuvieron al momento de generar esta investigación fueron, el registro de
errores en las herramientas de integración en TestComplete ya que se utilizó la versión de prueba.
Otra de las limitaciones fue el generar reportes en Selenium ya que las herramientas que cubren con
esta funcionalidad necesitan de programación, pero es importante saber que existe mucha
documentación para la elaboración de los reportes por lo que se pudo realizar esta acción en
Selenium.

38
6. CONCLUSIONES Y RECOMENDACIONES

6.1 Conclusiones

Se realizó el análisis comparativo de dos herramientas que permiten la elaboración y ejecución de


pruebas funcionales automáticas, permitiendo así que se ahorre tiempo y esfuerzo por parte de los
usuarios al momento de entregar un sistema de calidad.

Tomando en cuenta un modelo referencial que parte de los siguientes criterios: popularidad, costo
licencia, instalación y configuración, usabilidad, facilidad de programación, Grabación y
reproducción de scripts, Eficiencia y elaboración de reportes, se evaluaron una cantidad de
herramientas que cumplen con el objetivo de automatización de pruebas.

Se determinó una gama de herramientas y la descripción relevante de cada una para mejorar la
selección, de tal manera que si un usuario necesita alguna herramienta diferente a las analizadas
puede dirigirse al cuadro de descripción de las mismas y tomar una de su preferencia siempre que
esta cumpla con las necesidades requeridas.

Cada empresa puede tener una necesidad diferente al momento de obtener un software para
automatización de pruebas, con el análisis de las herramientas más populares se pudo obtener
cuales se acercan más a las necesidades de los usuarios en cuanto a calidad de software

6.2 Recomendaciones

Para la comparación de las herramientas seleccionadas en este caso dos, se tomaron como índice
una herramienta gratuita y una licenciada por lo que se pudo observar la perspectiva en cuanto a
costos, para una futura investigación se recomienda realizar una comparación entre dos
herramientas con licencia pagada ya que ahí se puede también notar qué tanto interviene en cuanto
a características el costo de cada una de ellas.

Es importante tener en cuenta que para automatizar pruebas no solamente se debe permitir grabar
los casos y reproducirlos automáticamente, sino también disminuir tiempos en la elaboración de
reportes y de informes de pruebas. Para estudios futuros, se sugiere analizar herramientas de
integración para generación de reportes que se encuentren ligadas a herramientas de automatización
de software.

39
7. ANEXOS

7.1.1 Instalación y Configuración de las herramientas Selenium

A continuación se listan los pasos a seguir para la configuración de selenium web driver para
eclipse.

a. Instalar el jdk, para este caso se utilizó jdk1.8.0_201.


http://www.oracle.com/technetwork/java/javase/downloads/
b. Descargar eclipse. https://eclipse.org/
c. Descargar selenium desde la página: http://www.seleniumhq.org/download/
1. Selenium Standalone Server(selenium-server-standalone-3.141.59).

Figura 26 Descarga Selenium Server (SeleniumHQ, 2015).

d. El selenium webDriver para Java(selenium-java-3.141.59).

Figura 27 DescargaSeleniumWebDriver para Java (SeleniumHQ, 2015).

40
e. Driver para el navegador Chrome(chromedriver_win32).

Figura 28Descarga Chrome Driver (SeleniumHQ, 2015).

f. Configuracion de un proyecto (Eclipse 2018-12)


1. Abrir eclipse, seleccionar New Java Project y colocamos un nombre a nuestro
proyecto.
2. Seleccionar la ruta de ubicación del proyecto.
3. Seleccionar JRE como se muestra en la imagen (Use an execution environment JRE)
4. Seleccionar la opción: Create separate folders for soucers and class files.
5. Finalizamos la creación.

41
Figura 29Creación de Proyecto Eclipse

6. Seleccionamos la opción: File  New


7. Seleccionamos la opción: Package.

Figura 30 Creación de un paquete.

8. Introducimos el nombre del paquete.


9. Seleccionamos la opción Finish.

Figura 31Nombrar un paquete.

10. Hacemos click derecho en el paquete que fue creado.


11. Seleccionamos: New  Class.

42
Figura 32Creación de una clase.

12. Introducimos el nombre de la clase.


13. Presionamos la ocpión Finish.

Figura 33Nombramiento de la clase.

14. A continuación se mostrará la clase creada.

Figura 34Clase Creada.

43
15. Click derecho en “SeleniumProyecto” y seleccionamos la opción BuildPath.
16. En la pantalla seleccionar la opción Configure BuildPath.
17. Click en la pestaña Libraries.
18. Click en la opción AddExternalJARs.

Figura 35Configuración BuildPath.

Nota: previamente se deberá descomprimir el archivo selenium-java-3.141.59 en una ruta deseada.

19. Nos ubicamos en la carpeta donde se encuentra descomprimido el archivo selenium-


java-3.141.49 hasta llegar a la carpeta /libs y presionamos la opción Abrir.

Figura36Librerías Selenium.

20. Seleccionamos todos los archivos .jar y presionamos la opción Abrir.

44
Figura 37Seleccionar Librerías Selenium.

21. Una vez realizado este paso ya podremos utilizar nuestro proyecto y programar
nuestras pruebas con Selenium Webdriver.

7.1.2 Instalación y Configuración de las herramientas TestComplete

A continuación se listan los pasos a seguir para la configuración de TestComplete.

a. Descargar desde la página: https://smartbear.com/product/testcomplete/overview/.

1. Descargar el Free Trial.

Figura 38Descargar Trial TestComplete.

2. Ejecutar el programa .
3. Presionar Install y esperar que se instale el programa.

45
Figura 39InstalaciónTestComplete.

4. Añadir extensión a Google Chrome.


5. El icono de TestComplete se muestra en Chrome.

Figura 40InstalaciónTestComplete en Chrome.

6. Finalizar la instalación.
7. Ejecutar TestComplete.

46
Figura 41Finalizar Instalación TestComplete.

Figura 42Pantalla Inicio TestComplete.

47
BIBLIOGRAFÍA

Aristegui O., J. L. (2010). Los casos de prueba en la prueba de software. Revista Digital
Lámpsakos, 3, pag.27-34.

Chinarro Morales, E., Ruiz Rivera, M. E., & Ruiz Lizam, E. (2017). Desarrollo de un modelo de
pruebas funcionales de software basado en la herramienta SELENIUM. Revista Industrial Data ,
20 (1), 139-148.

EggPlant. (2018). EggPlant. Obtenido de https://eggplant.io/

Esmite, I., Farías, M., Farías, N., & Pérez, B. (2007). Automatización y Gestión de las Pruebas
Funcionales usando Herramientas Open Source Centro de Ensayos de Software (CES). XIII
Congreso Argentino de Ciencias de la Computación (CACIC). Uruguay.

Fernández Pérez, Y., Cué Delgado, R. L., Cruz Aguila, C. L., Gonzalez Jorrín, M., Acosta Molina,
D., & Hernández Aguila, V. (2007). Pruebas de aceptación para un software con la presencia de
una entidad certificadora de la calidad. Universidad de las Ciencias Informáticas, 1 (3), Pag.81-93.

GlobeTesting. (Marzo de 2012). GlobeTesting. Obtenido de


https://www.globetesting.com/2012/03/comparativa-de-herramientas-para-pruebas-automaticas/

Hernández Sampieri, R., & Fernández Collado, C. (2010). Metodología de la Investigación (Vol.
5ta edición). Mexico: MC Graw Hill.

López Echeverry, A. M., Cabrera, C., & Valencia Ayala, L. E. (2008). Introducción a la calidad de
Software. Scientia et Technica Año XIV, 39, pg.326-331.

López León, H., & Millo Sánchez, R. (2016). Pruebas de Software en XEOS. VI Taller
Internacional de Tecnologías de Software Libre y Código Abierto. Cuba: Universidad Central
“Marta Abreu” de las Villa.

MicroFocus. (2019). MicroFocus. Obtenido de Unified Functional Testing (UFT):


https://www.microfocus.com/es-es/products/unified-functional-automated-testing/overview

Microsoft. (2019). Visual Studio. Obtenido de Visual Studio Test Professional:


https://visualstudio.microsoft.com/es/vs/test-professional/

48
Ochoa, L. L. (2018). Automatización de Pruebas de Software. 16th LACCEI International Multi-
Conference for Engineering, Education, and Technology.Perú.

Paz Mera, J. A. (2016). Análisis del proceso de pruebas de calidad de software. Ingeniería
Solidaria, 12 (20), Pg. 163-176.

Pressman S., R. (2010). INGENIERÍA DEL SOFTWARE. UN ENFOQUE PRÁCTICO (Vol. 7).
Mexico: University of Connecticut.

Ramesh, K. (28 de Abril de 2014). Automatizar las pruebas funcionales. Revista Antioqueña de las
Ciencias Computacionales y la Ingeniería de Softwar ,
http://fundacioniai.org/raccis/v4n1/n6a2.pdf.

Ranorex, I. (2018). Ranorex. Obtenido de https://www.ranorex.com/

Sabev, P. (2017). A Comparative Study of GUI Automated Tools for Software Testing. En S. 2017
(Ed.), The Third International Conference on Advances and Trendsin Software Engineering (págs.
pag.7-15). Rusia: Department of Informatics and Information Technologies “Angel Kanchev”
University of Ruse .

SeleniumHQ. (2015). SeleniumHQ. Obtenido de https://www.seleniumhq.org

Sepúlveda Cuevas, S., & Cravero Leal, A. (2014). Estandarización de los procesos asociados al
desarrollo de proyectos informáticos: un caso de estudio. Revista Computación y Sistemas, 18 (2),
375-389.

SmartBear. (2019). SmartBear Software. Obtenido de TestComplete:


https://smartbear.com/product/testcomplete/overview/

Somerville, I. (2011). Ingenieía de Software (Vol. 9). España: Pearson Education.

Vara Horna, A. A. (2012). Siete pasos para una tesis exitosa (Vol. 2012). (U. S. Porres, Ed.) Peru,
lIMA: Facultad de Ciencias Administrativas y Recursos humanos.

49

También podría gustarte