Desarrollo-Web-Eficiente-Organiza-tu-Proyecto-en-VS-Code

juliansntocanchonmo 9 views 31 slides Sep 10, 2025
Slide 1
Slide 1 of 31
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31

About This Presentation

Precentacion pruebas de sofware


Slide Content

Pruebas de
Software
Jorge E. Freile

1.Fechas importantes
Inicio Clase: 04-agosto
Fin Clase: 24-noviembre
Examen 2do Corte: 6 al 11 de Octubre
Examen 3er Corte: 18 al 24 de Noviembre

Unidad 2
Técnicas y mediciones de pruebas de software:

●Técnicas de pruebas de software
●Mediciones en técnicas de software

Introducción a las Pruebas Automatizadas
con Selenium IDE
¿Qué son las pruebas automatizadas?

Las pruebas automatizadas son un proceso que utiliza software para ejecutar pruebas en una
aplicación y comparar los resultados reales con los esperados. En lugar de realizar manualmente
cada prueba, se crean scripts que replican las acciones de un usuario y verifican que la aplicación
se comporte como se espera.

Introducción a las Pruebas Automatizadas
con Selenium IDE
¿Por qué automatizar las pruebas?

●Ahorro de tiempo: Las pruebas automatizadas pueden ejecutarse rápidamente y
repetidamente, lo que reduce significativamente el tiempo de prueba en comparación con
las pruebas manuales.
●Mayor precisión: Los scripts ejecutan las pruebas exactamente de la misma manera cada
vez, lo que reduce la posibilidad de errores humanos.
●Mayor cobertura: Se pueden ejecutar un mayor número de pruebas en menos tiempo, lo
que aumenta la cobertura de la aplicación.
●Detección temprana de errores: Los errores se pueden identificar en las primeras etapas
del desarrollo, lo que facilita su corrección.
●Reusabilidad: Los scripts de prueba se pueden reutilizar en diferentes versiones de la
aplicación.

Introducción a las Pruebas Automatizadas
con Selenium IDE
¿Qué es Selenium IDE?

Selenium IDE es una herramienta de desarrollo integrado para pruebas (IDE, por sus siglas en inglés) diseñada
para crear scripts de prueba de forma rápida y sencilla. Es una extensión de navegador (Firefox y Chrome) que
permite grabar, editar y depurar interacciones con una aplicación web.

¿Cómo funciona?

1.Instalación: Se instala como una extensión en Firefox o Chrome.
2.Grabación: Al activar la grabación, Selenium IDE registra cada interacción que realizas en el navegador,
como hacer clic en un botón, escribir en un campo de texto o navegar a una nueva página.
3.Edición: Los comandos grabados se pueden editar manualmente para agregar lógica más compleja o
personalizar la prueba.
4.Ejecución: Con un solo clic, puedes ejecutar el script de prueba y ver los resultados.

Introducción a las Pruebas Automatizadas
con Selenium IDE
Instalación: https://www.selenium.dev/selenium-ide/

Introducción a las Pruebas Automatizadas
con Selenium IDE
Instalación: https://www.selenium.dev/selenium-ide/

Introducción a las Pruebas Automatizadas
con Selenium IDE
Instalación: https://www.selenium.dev/selenium-ide/

Introducción a las Pruebas Automatizadas
con Selenium IDE
Ejecución :

Introducción a las Pruebas Automatizadas
con Selenium IDE
¿Que es un caso de prueba?

Un caso de prueba es como una receta: sigue los pasos y obtienes el resultado esperado. Nos permite verificar si
una funcionalidad específica funciona como debería.

¿Por qué son Importantes los Casos de Prueba?

Los casos de prueba son nuestra red de seguridad. Nos ayudan a identificar y corregir problemas antes de que
lleguen al usuario final, evitando costosas correcciones posteriores.

Tipos de Casos de Prueba

Existen diferentes tipos de casos de prueba, cada uno con un objetivo específico. La elección del tipo de caso de
prueba dependerá de la funcionalidad que se quiera probar. (funcionales, no funcionales, unitarios, de integración,
etc.)

Introducción a las Pruebas Automatizadas
con Selenium IDE
¿Que debe contener un caso de prueba?

Los componentes clave de un caso de
prueba son:

ID, descripción, pasos, datos de prueba,
resultados esperados, etc.

Introducción a las Pruebas Automatizadas
con Selenium IDE
Taller: Con este mismo formato realiza en
grupo el caso de prueba para el formulario
de reserva:

https://academybugs.com/my-bookings/

Luego ejecuta este caso de pruebas
automatizado con selenium.

Introducción a las Pruebas de APIs
¿Qué es una API?

Las API son mecanismos que permiten a dos componentes de software comunicarse entre sí mediante un conjunto
de definiciones y protocolos. Por ejemplo, el sistema de software del instituto de meteorología contiene datos
meteorológicos diarios. La aplicación meteorológica de su teléfono “habla” con este sistema a través de las API y le
muestra las actualizaciones meteorológicas diarias en su teléfono.

Mira este video:
https://www.youtube.com/watch?v=u2Ms34GE14U

Introducción a las Pruebas de APIs
¿Qué significa API?

API significa “interfaz de programación de aplicaciones”. En el contexto de las API, la palabra aplicación se refiere a
cualquier software con una función distinta. La interfaz puede considerarse como un contrato de servicio entre dos
aplicaciones. Este contrato define cómo se comunican entre sí mediante solicitudes y respuestas. La documentación
de su API contiene información sobre cómo los desarrolladores deben estructurar esas solicitudes y respuestas.

¿Cómo funcionan las API?
La arquitectura de las API suele explicarse en términos de cliente y servidor. La aplicación que envía la solicitud se
llama cliente, y la que envía la respuesta se llama servidor. En el ejemplo del tiempo, la base de datos meteorológicos
del instituto es el servidor y la aplicación móvil es el cliente.

Las API pueden funcionar de cuatro maneras diferentes, según el momento y el motivo de su creación.

Introducción a las Pruebas de APIs
API de SOAP
Estas API utilizan el protocolo simple de acceso a objetos. El cliente y el servidor intercambian mensajes mediante
XML. Se trata de una API menos flexible que era más popular en el pasado.

API de RPC
Estas API se denominan llamadas a procedimientos remotos. El cliente completa una función (o procedimiento) en el
servidor, y el servidor devuelve el resultado al cliente.

API de WebSocket
La API de WebSocket es otro desarrollo moderno de la API web que utiliza objetos JSON para transmitir datos. La
API de WebSocket admite la comunicación bidireccional entre las aplicaciones cliente y el servidor. El servidor
puede enviar mensajes de devolución de llamada a los clientes conectados, por lo que es más eficiente que la API de
REST.

Introducción a las Pruebas de APIs
API de REST
Estas son las API más populares y flexibles que se encuentran en la web actualmente. El cliente envía las solicitudes al
servidor como datos. El servidor utiliza esta entrada del cliente para iniciar funciones internas y devuelve los datos de
salida al cliente. Veamos las API de REST con más detalle a continuación.

Los Métodos HTTP más Comunes en REST

GET: Se utiliza para solicitar y recuperar un recurso. Es el método más común y seguro, ya que no modifica los datos en el
servidor. Ejemplo: Obtener una lista de usuarios: GET /users

POST: Se emplea para crear un nuevo recurso.
Ejemplo: Crear un nuevo usuario: POST /users

PUT: Se utiliza para actualizar completamente un recurso existente. Si el recurso no existe, se crea uno nuevo.
Ejemplo: Actualizar todos los datos de un usuario: PUT /users/123

Introducción a las Pruebas de APIs
DELETE: Se usa para eliminar un recurso.
Ejemplo: Eliminar un usuario: DELETE /users/123

PATCH: Se utiliza para actualizar parcialmente un recurso, es decir, modificar solo algunos campos.
Ejemplo: Cambiar la dirección de un usuario: PATCH /users/123

Introducción a las Pruebas de APIs
¿Cómo proteger una API de REST?
Todas las API deben protegerse mediante una autenticación y una supervisión adecuadas. Las dos maneras
principales de proteger las API de REST son las siguientes:

1. Tokens de autenticación
Se utilizan para autorizar a los usuarios a hacer la llamada a la API. Los tokens de autenticación comprueban que los
usuarios son quienes dicen ser y que tienen los derechos de acceso para esa llamada concreta a la API. Por ejemplo,
cuando inicia sesión en el servidor de correo electrónico, el cliente de correo electrónico utiliza tokens de
autenticación para un acceso seguro.

2. Claves de API
Las claves de API verifican el programa o la aplicación que hace la llamada a la API. Identifican la aplicación y se
aseguran de que tiene los derechos de acceso necesarios para hacer la llamada a la API en cuestión. Las claves de
API no son tan seguras como los tokens, pero permiten supervisar la API para recopilar datos sobre su uso. Es
posible que haya notado una larga cadena de caracteres y números en la URL de su navegador cuando visita
diferentes sitios web. Esta cadena es una clave de la API que el sitio web utiliza para hacer llamadas internas a la API.

Introducción a las Pruebas de APIs

¿Por qué son importantes las pruebas de API?

Detección temprana de errores: Identificar problemas en las primeras etapas del desarrollo ahorra tiempo y
recursos.

Validación de la funcionalidad: Verificar que la API cumple con los requisitos funcionales establecidos.

Mejora del rendimiento: Evaluar la velocidad, la escalabilidad y la capacidad de respuesta de la API.

Aseguramiento de la seguridad: Detectar vulnerabilidades y proteger los datos sensibles.

Introducción a las Pruebas de APIs

Herramientas populares para pruebas de API
Herramientas de interfaz gráfica de usuario (GUI)

Postman: Una de las herramientas más populares, ofrece una interfaz intuitiva para crear y ejecutar solicitudes
HTTP, gestionar colecciones y generar documentación.

SoapUI: Ideal para pruebas de API SOAP y REST, permite crear pruebas funcionales, de carga y de seguridad.

REST Assured: Una biblioteca de Java que facilita la escritura de pruebas automatizadas para API REST.

Introducción a las Pruebas de APIs
Postman es una herramienta esencial para desarrolladores y testers que se dedica a simplificar el proceso de crear y
probar APIs (Interfaces de Programación de Aplicaciones). Es como un cliente HTTP que te permite enviar
solicitudes a servicios web y analizar las respuestas que obtienes.

Introducción a las Pruebas de APIs
Herramientas en línea para realizar pruebas de las APIs:

Afortunadamente, existen numerosas herramientas en línea que facilitan el proceso de pruebas de API. Estas
herramientas ofrecen una amplia gama de funcionalidades, desde la creación y ejecución de pruebas hasta la
generación de informes detallados.
https://reqbin.com/

https://app.apidog.com/user/login

Ejercicio
Vamos a realizar test sobre la API: https://fakerestapi.azurewebsites.net/index.html

Con la Herramienta para pruebas de API Online: https://app.apidog.com/user/login

Realiza consultas GET

Crea un nuevo Usuario con POST

Mediciones en Técnicas de Software
Reflexión:
¿Por qué medir?
¿ Qué importancia tienen los datos en la toma de decisiones y la mejora continua?

Objetivo:
Comprender los conceptos clave, conocer las métricas más comunes y aprender a aplicarlas en proyectos
reales.

Mediciones en Técnicas de Software
Métricas de software: Son indicadores o medidas cuantitativas que utilizamos para evaluar y analizar diversos
aspectos de un sistema o proceso de software. En pocas palabras, son como los números que nos permiten entender
cómo está funcionando nuestro software, si está cumpliendo los objetivos establecidos y dónde podemos mejorar.

Tipos de métricas:

●De producto (tamaño, complejidad, defectos)
●De proceso (tiempo de desarrollo, esfuerzo)
●De proyecto (costo, productividad)

Por qué medir en pruebas de software:

●Evaluar la efectividad de las pruebas.
●Identificar áreas de mejora.
●Demostrar la calidad del software.
●Tomar decisiones basadas en datos.

Mediciones en Técnicas de Software
Métricas clave en pruebas de software

●Cobertura de código: ¿Cuánto código se está probando?
○ (Líneas de código ejecutadas durante las pruebas / Total de líneas de código) * 100
●Densidad de defectos: ¿Cuántos defectos por línea de código?
○Número de defectos / líneas de código
●Tasa de defectos: ¿Cuántos defectos se encuentran por unidad de tiempo?
○Número de defectos encontrados / Unidad de tiempo (por ejemplo, por día, por semana, por mes)
●Tiempo de ciclo de prueba: ¿Cuánto tiempo tarda en completarse una prueba?
○Fecha de finalización de la prueba - Fecha de inicio de la prueba
●Eficiencia de las pruebas: ¿Cuál es el costo por defecto encontrado?
○Costo total de las pruebas / Número de defectos encontrados

Uso de las métricas en la toma de decisiones
●Identificar cuellos de botella.
●Priorizar las pruebas.
●Optimizar los recursos.
●Evaluar la madurez del proceso de desarrollo.

Mediciones en Técnicas de Software
Caso de Estudio: Análisis de Defectos en
un Módulo de Cálculo

Imaginemos que somos un equipo de
desarrollo de software encargado de
crear una aplicación de cálculo de
nóminas. Se nos ha asignado la tarea de
analizar un módulo específico que se
encarga de calcular el impuesto sobre la
renta.

Mediciones en Técnicas de Software
Defectos Encontrados:

1.Falta de validación de entrada: La función no verifica si el valor de salario_bruto es positivo. Un
valor negativo podría generar resultados inesperados.
2.Error en el cálculo del impuesto: La fórmula para calcular el impuesto en el segundo rango salarial es
incorrecta. Debería ser impuesto = 1000 + (salario_bruto - 10000) * 0.12.
3.Falta de comentarios: El código carece de comentarios que expliquen el propósito de cada sección,
dificultando su comprensión y mantenimiento.


Rangos Aceptables de Defectos por Línea de Código:
Para este tipo de código, se considera que un rango aceptable de defectos por línea de código es de 0 a 0.1.
Es decir, idealmente no debería haber defectos, pero se considera aceptable encontrar un defecto por
cada 10 líneas de código.

Mediciones en Técnicas de Software
Defectos Encontrados:

1.Falta de validación de entrada: La función no verifica si el valor de salario_bruto es positivo. Un
valor negativo podría generar resultados inesperados.
2.Error en el cálculo del impuesto: La fórmula para calcular el impuesto en el segundo rango salarial es
incorrecta. Debería ser impuesto = 1000 + (salario_bruto - 10000) * 0.12.
3.Falta de comentarios: El código carece de comentarios que expliquen el propósito de cada sección,
dificultando su comprensión y mantenimiento.


Rangos Aceptables de Defectos por Línea de Código:
Para este tipo de código, se considera que un rango aceptable de defectos por línea de código es de 0 a 0.1.
Es decir, idealmente no debería haber defectos, pero se considera aceptable encontrar un defecto por
cada 10 líneas de código.

Mediciones en Técnicas de Software
Taller en Clase:

1.Identificar los defectos: Los estudiantes deben revisar el código y encontrar los defectos
mencionados anteriormente, así como cualquier otro que puedan detectar.
2.Calcular la densidad de defectos: Los estudiantes deben calcular la densidad de defectos por línea
de código para el módulo.
3.Evaluar la calidad del código: Basándose en la densidad de defectos calculada y en los rangos
aceptables, los estudiantes deben evaluar la calidad del código y proponer mejoras.
4.Reescribir el código: Los estudiantes deben corregir los defectos encontrados y mejorar la calidad
del código añadiendo comentarios y valoraciones.