Está en la página 1de 22

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

EVALUACION DE SOFTWARE
EVALUACIÓN DE SOFTWARE
PASO 2 ANÁLISIS Y PLANEACIÓN

PRESENTADO POR
JUAN PABLO ANAYA RODRIGUEZ (1016090463)
ANGEL ENRIQUE APONTE (80130195)
KAREN MILENA ARROYAVE (1030612069)
DANNY LEANDRO BURITICÁ MOLANO (1140417028)

GRUPO
301569_4

TUTOR:
GEOVANNI CATALAN

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS E TECNOLOGÍA E INGENIERÍA – ECBTI
BOGOTA.D.C
MARZO 2021

1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

INTRODUCCIÓN

La calidad del software es un factor que causa preocupación y genera esfuerzos de trabajo. Si
bien un software nunca llega a ser perfecto, se debe conseguir la mejor calidad posible
logrando satisfacer las expectativas de los usuarios o clientes.

Obtener calidad de software requiere aplica metodologías, normas, procedimientos o


estándares que permitan un análisis, diseño, desarrollo, implementación y evaluación correcto
logrando un producto acorde a los requerimientos establecidos. En este sentido, en esta fase
de trabajo colaborativo, son exploradas diferentes aplicaciones que permiten evaluar aspectos
técnicos de soluciones digitales, lo que nos permitirá tener un acercamiento real y experimental
de este tipo de procesos tan fundamentales en el área de la ingeniería de sistemas.

2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

OBJETIVOS

 Conocer profundamente los conceptos de ingeniería de software relacionados con el


aseguramiento de la calidad que le permitan definir claramente las características, sub-
características y las métricas de calidad que pueden ser evaluadas en un producto
software.
 Realizar un informe dando respuesta a las preguntas orientadoras.
 Presentar una presentación sobre la Norma ISO 9126 y el concepto de métrica.
 Investigar sobre Herramientas de software para automatización de pruebas de software.

3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

DESARROLLO

Link de las bitácoras individuales de cada integrante del grupo

Nombre estudiante Link (Bitácora Individual)


Juan Pablo Anaya https://drive.google.com/drive/folders/1MKp0DR2KoOnW4DXp8r9W
9g7Gi8bWEP7Z?usp=sharing
Danny Leandro Buriticá https://drive.google.com/drive/folders/1AJvteihw12pW_nTxHjDSrOX
B8If2DWHP?usp=sharing
https://drive.google.com/drive/folders/1CiK7yEVetS4reT22JdncXy72S
kbSG52T?usp=sharing
Karen Milena Arroyave
Camilo Andres Dorado https://drive.google.com/drive/folders/1txsw24u5fITChpQgyKODEEX
x0YQd4-Si?usp=sharing
Angel Enrique Aponte https://unadvirtualedu-
my.sharepoint.com/:f:/g/personal/aeaponte_unadvirtual_edu_co/EoXf2f
nJAjtOuAGCU5xFCQoBA34LFdnz9U0aJr0hmSxYkw?e=zQdLFx

4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

HERRAMIENTAS DE SOFTWARE PARA AUTOMATIZACIÓN DE PRUEBAS DE


SOFTWARE.

JMETER (LOAD TESTING)

JMeter es una aplicación de testing open source, desarrollada bajo el lenguaje de


programación java, permite ejecutar pruebas de rendimiento en aplicaciones web para
determinar si el sistema desarrollado cumple con los requisitos de rendimiento. Esta prueba se
realiza a través de la simulación de una cantidad específica de usuarios activos (concurrentes)
que envían peticiones a la herramienta, de esta manera se evalúa el tiempo de respuesta que
da el sistema a dichas peticiones haciendo una representación gráfica de los datos generados.

Esta aplicación de testing tiene un funcionamiento a nivel de protocolo, es decir que no es un


navegador. Con respecto a servicios remotos y web, esta herramienta no ejecuta todas las
acciones admitidas por los navegadores.

JMeter es una herramienta utilizada en las pruebas de software que facilita la gestión integral
de los procesos de pruebas de rendimiento. Este software realiza un tipo de prueba de
rendimiento del tipo funcional y no funcional. Adicional de esto, brinda un subconjunto de
pruebas fuera de las de rendimiento en donde también se realizan pruebas de estrés, de picos,
de resistencia y pruebas de volumen.

Características de JMeter:

 Interfaz amigable de fácil uso.


 Independiente, al ser 100% java puede ejecutarse en diferentes plataformas.
 Permite el muestreo simultáneo de funciones diferentes.
 Muestra el resultado de la prueba en diferentes formatos como gráficas, tablas entre
otros.
 Admite complementos de visualización para ampliar las pruebas.
 Admite diferentes estrategias de prueba como: pruebas de carga, pruebas distribuidas y
pruebas funcionales.
 Ejecuta pruebas distribuidas entre diferentes ordenadores que actúan como clientes.
 Simula el ingreso de múltiples usuarios que ejecutan subprocesos simultáneos.
 Evalúa el rendimiento del servidor de bases de datos, donde los protocolos básicos son
compatibles.

5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
 Licencia de código abierto.

Esta herramienta o software es de código abierto basada en Java con una interfaz gráfica de
usuario

Evidencias de uso:

1. Usando Peticiones HTTPS: ejecutar peticiones a sitios sin modificar el proxy. Para ello,
creamos un grupo de hilos.

Adicionamos al grupo de hilos las peticiones:

6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
Creamos una petición al servidor del sitio web el tiempo y a al sitio web de economía del
tiempo.

Cuando se adicionan los listener para procesar la información capturara por Jmeter, se
ejecuta la prueba y se obtienen los resultados:

En el “summary report” se observan los resultados de la ejecución, aquí se debe validar que no
se reporten errores en las pruebas realizadas. En este ejercicio se hacer usan 50 usuarios:

2. HTTP(s) Test Script Recorder: permite grabar las acciones ejecutadas en el navegador
usando proxy.

7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

3. Podemos configurar los usuarios (Threads), son los usuarios virtuales que vamos a
usar.

9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
Salida de datos:

POSTMAN – API TESTING

Postman es un cliente HTTP que permite gestionar peticiones a API´s. Postman tiene muchas
funcionalidades para gestionar todo el ciclo de vida de una API, pero también tiene la
posibilidad de crear tests y automatizarlos para una colección de peticiones.

Beneficios de aplicar el test a las API’s

 Una vez escritas las pruebas para todas las peticiones y lanzado las pruebas cada vez
que haya un nuevo cambio en la API, se garantiza que las aplicaciones que dependen
de la API funcionen como se espera. Y si las pruebas no pasan, a la vez, se tendrá
información sobre lo que se tiene que arreglar.
 Podemos hacer pruebas tanto como en el tipo de respuesta que se da a las
aplicaciones clientes, como del contenido. Cualquier cambio de esquema o de código
HTTP puede ser detectado por la prueba.
 Conforme la API evolucione, las pruebas evolucionarán con ella, con lo que se garantiza
su mantenimiento y reducción de errores.
 Si se tiene un equipo de desarrollo de back-end separado con el de front-end, se tiene
en las pruebas de Postman una herramienta para: garantizar una documentación
adecuada ya que los dos equipos saben cuál es el comportamiento de la API, pueden
consultarlo y ejecutarlo siempre que quieran.

En Postman los script de testing se crean utilizando el lenguaje de programación JavaScript,


además existe una gran variedad de snippets para realizar tests.

11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
Para escribir un test tendrá el siguiente formato

Ejemplo:

Cuando se ejecuta una petición GET, se ejecuta el test que se ha construido, el resultado se
puede observar en la pestaña Test Result, y el test se ejecutara cada vez que se realice una
petición

12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
Para añadir mas test seria de la siguiente manera:

Estas pruebas se realizarán cada vez que se realice una petición a una API y como respuesta
se obtendrá si cumple o no, o si existe un error, también se puede agregar más test que
permitan garantizar la calidad e integridad de la API.

13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

PHPUNIT

PHPUnit es un framework que se busca implementar para las pruebas unitarias en lenguaje
PHP. Una prueba unitaria es la forma de comprobar que un código está funcionando
correctamente sobre una unidad de código. Esta unidad de código se puede definir como la
parte más pequeña que se puede probar en una aplicación. PHPUnit con estas pruebas
unitarias, tiene como fin aislar una parte del código, como son esas funciones y probar que
funcionan correctamente. A continuación se brinda un ejemplo de PHPUnit con Paypal:

INSPECCIONAR DE CROME

Extraer datos de una página web de forma automática

Cuando se ingresan datos o se realiza una búsqueda de datos, a menudo es necesario extraer
los resultados de la página web o descargar un archivo, para almacenarlo o importarlo en otro
proceso, carpeta de red o sistema de gestión de documentos. El proceso en general consiste
en inspeccionar la página y obtener el valor deseado de cierto objeto en esa página. Una vez
que se obtiene el valor buscado, éste se puede almacenar para su uso posterior. Los valores
pueden ser una etiqueta HTML, texto o valor de campo, un hipervínculo a un archivo, o
cualquier otro atributo específico que deba ser usado durante el proceso. Los valores se
pueden almacenar en un archivo de base de datos, archivo Excel, archivo CSV u otro
documento.

La inspección del código HTML de una página también es otra forma muy útil de extraer datos
de una página web. Una vez que se ha actualizado una página, puede inspeccionar el código

14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
HTML completo o elementos seleccionados, para asegurar que los datos necesarios estén
disponibles y la automatización se pueda continuar ejecutando según lo programado.

Google Chrome

Simplemente haga clic derecho en el área de cualquier sitio web y elija Inspeccionar. También
puede usar su atajo de teclado - Ctrl + Shift + I.
Si desea ver el registro de errores, puede seleccionar la pestaña Consola y detectar, por
ejemplo, advertencias de contenido mixto:

Firefox

De nuevo, haga clic con el botón derecho en un área en blanco de la página o seleccione un
elemento y elija Inspeccionar elemento. Además, puede usar su método abreviado de teclado -
Ctrl + Shift + I o Ctrl + Shift + I.

Opera

Use el atajo de teclado Ctrl + Shift + I o seleccione Inspeccionar elemento del menú haciendo
clic derecho en cualquier elemento de la página.

Internet Explorer

Una vez más, haga clic derecho en la página y seleccione Inspeccionar elemento o presione
F12 en el teclado.

15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

SELENIUM

Selenium es uno de los frameworks más utilizados para probar aplicaciones web,
principalmente para la interfaz web y las pruebas funcionales. Viene con una serie de
herramientas como Selenium IDE, Selenium RC, Selenium WebDriver y Selenium Grid que
ofrece diferentes soluciones para atender diferentes requisitos de automatización de pruebas.

Permite a los usuarios simular actividades comunes realizadas por usuarios finales; ingresar
texto en los campos, seleccionar valores desplegables y casillas de verificación, y hacer clic en
enlaces en documentos. También proporciona muchos otros controles, como el movimiento del
mouse, la ejecución arbitraria de JavaScript y mucho más.

Instalación del Plugin en Firefox

Ingresar al plugin de selenium en los plugins de Firefox

Presionar el botón Add to Firefox

16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

Aparecerá una alerta en donde nos solicita permitir añadir el plugin, presionar el botón añadir.

Nos aparecerá el icono de la aplicación en la parte derecha arriba.

Al presionar el icono nos aparecerá una ventana en donde podemos escoger un proyecto, crear
un nuevo proyecto, abrir un proyecto existente, en este paso se debe escoger el proyecto web.

APPIUM

17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
Appium es una herramienta de código abierto para automatizar aplicaciones nativas, web
móviles e híbridas en plataformas móviles iOS, móviles Android y Windows. Las aplicaciones
nativas son aquellas escritas con los SDK de iOS, Android o Windows. Las aplicaciones web
móviles son aplicaciones web a las que se accede mediante un navegador móvil (Appium es
compatible con Safari en iOS y Chrome o la aplicación 'Navegador' incorporada en Android).
Las aplicaciones híbridas tienen un envoltorio alrededor de una "vista web", un control nativo
que permite la interacción con el contenido web. Proyectos como Apache Cordova o Phonegap
facilitan la creación de aplicaciones utilizando tecnologías web que luego se agrupan en un
contenedor nativo, creando una aplicación híbrida.

ISTALACIÓN EN UBUNTU 16.04.

Instalar dependencias requeridas:

sudo apt-get install build-essential \

curl git m4 ruby texinfo libbz2-dev \

libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev

Instalar appium

npm install -g appium

npm install wd

Start Appium

Appium

18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

PREGUNTAS

¿POR QUÉ ES IMPORTANTE LA UTILIZACIÓN DE LOS MODELOS DE CALIDAD EN EL


DESARROLLO DEL SOFTWARE?

Los modelos de calidad permiten estandarizar el análisis, diseño, programación y prueba del
software estableciendo una única forma de trabajo generando beneficios para lograr una mayor
productividad, tanto para el desarrollo del software, como para el control de calidad del
software.

En la actualizad los procesos de software son un elemento muy importante en las


organizaciones generando competitividad alta, es por esto que el aplicar los modelos de calidad
en dichos software genera una relevancia para evitar riesgos en las distintas empresas, para
así reflejar un alta capacidad en sus procesos, desarrollos y actividades diarias. Creando las
ventajas para los clientes con productos y servicios entregados a tiempo, que cumplan los
requerimientos de calidad, mayor control en las operaciones, mejora en la productividad, etc.

¿CÓMO SERÍA LA CALIDAD DEL SOFTWARE SI NO EXISTIERAN MODELOS Y


ESTÁNDARES DE CALIDAD?

La calidad sería algo subjetiva, es decir, lo que sería calidad para una empresa para otra no lo
es, cada empresa generaría sus propios modelos y estándares de calidad generando
incompatibilidad en los productos software de estas empresas generando problemas para las
empresas desarrolladoras de software, como también a los clientes y usuarios de estos
productos software.

¿JUSTIFIQUE TRES FACTORES QUE DETERMINAN LA CALIDAD DEL SOFTWARE?

 Corrección: Es la capacidad que tiene el software para funcionar correctamente en las


tareas asignadas, generando a su vez validación que permitan que se hagan
autovalidaciones automáticas en el software.
 Robustez: Es la capacidad que tiene el software para funcionar bien, y si ocurre un
error, este debe de estar en la capacidad de tratarlo de manera adecuada.
Adicionalmente el software esta tan optimizado aprovechando así los recursos del
sistema al máximo para que sea capaz de autocorrecciones, generación de alertas en
tiempo real.

19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE
 Extensibilidad: Es la capacidad que tiene el software para añadirle nuevas funciones o
modificar las existentes a un muy bajo costo. Con una modalidad de multitareas que
permiten ser ajustadas a las necesidades y cumpliendo los modelos de calidad.

20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

CONCLUSIONES

Identificamos los conceptos de ingeniería de software relacionados con el aseguramiento de la


calidad que le permitan definir claramente las características, sub-características y las métricas
de calidad que pueden ser evaluadas en un producto software.

Se realizó un informe dando respuesta a las preguntas orientadoras.

Realizamos la presentación sobre la Norma ISO 9126 y el concepto de métrica.

Conceptualizamos sobre las Herramientas de software para automatización de pruebas de


software.

21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
EVALUACION DE SOFTWARE

BIBLIOGRAFIA

 ¿Qué es JMeter?. (2021). Retrieved 11 March 2021, from


https://testingbaires.com/2019/11/22/que-es-jmeter/
 Qué es PHPUnit. (2021). Retrieved 11 March 2021, from
https://openwebinars.net/blog/que-es-phpunit/
 Izquierdo, C. (2018). Cómo se hace: API testing con Postman. Recuperado de
https://medium.com/@cesiztel/c%C3%B3mo-se-hace-api-testing-con-postman-
978a521552f4
 ALFONSO, Pedro L. “Revisión de modelos para evaluar la calidad de productos web.
Experimentación en portales bancarios del NEA”, M.S. tesis, Dep: facultad de
Informática, Universidad Nacional de La Plata, Argentina, 2012.
 ¿Cómo inspeccionar los elementos del sitio web? (s. f.). Hostinger Help Center.
Recuperado 9 de marzo de 2021, de https://support.hostinger.es/es/articles/2333029-
como-inspeccionar-los-elementos-del-sitio-web

22

También podría gustarte