Está en la página 1de 8

INSTITUTO TECNOLÓGICO SUPERIOR

DE CALKINÍ EN EL ESTADO DE
CAMPECHE

“INGENIERÍA EN SISTEMAS COMPUTACIONALES”


CARRERA

INGENIERIA DE SOFTWARE
MATERIA

DRA. MARLENE MENDEZ MORENO


DOCENTE

EQUIPO: “TEAM ALPHA”

PARCIAL 2
TEMA: 3 A 3.4 Pruebas en un proyecto de desarrollo de software.

FECHA DE ENTREGA: 19 – 05 – 2023

2022-2023P
CICLO ESCOLAR
3. PRUEBAS EN UN PROYECTO DE DESARROLLO DE SOFTWARE
¿Qué es una prueba de software?

Una prueba de software es un proceso por medio del cual se evalúa la funcionalidad de un
software y se intenta identificar posibles errores. Su propósito principal es asegurar que la
aplicación desarrollada cumpla con los estándares y se ofrezca al cliente un producto de
calidad.

El proceso comprende la examinación, análisis, observación y evaluación de diferentes


aspectos en el desempeño del software. Una vez realizados los tests, los examinadores
entregan los resultados al equipo de desarrollo y se implementan las mejoras necesarias.
Las pruebas constituyen uno de los pasos finales antes de lanzar el producto al mercado.

Beneficios de las pruebas de software

 Rentabilidad

Realizar pruebas en un proyecto puede hacer que la empresa ahorre mucho dinero en el
largo plazo. El desarrollo de software comprende diversas etapas y si se detecta un fallo en
las fases iniciales, el costo de reparar aquel error podría ser mucho menor.

 Seguridad

En un mundo digital lleno de hackers, para los usuarios siempre es importante encontrar
productos confiables que protejan su información. Las pruebas de software ayudan a
identificar y resolver vulnerabilidades en los productos de forma anticipada.

 Satisfacción del cliente

El objetivo final de toda empresa es entregar a los clientes un producto o servicio que
satisfaga sus necesidades. Las pruebas de software permiten ofrecer una mejor
experiencia de usuario. Brindar productos de calidad en un mercado saturado y de alta
competencia ayuda a crear una mejor reputación y construir una sólida base de clientes.

Las pruebas en un proyecto de desarrollo de software son una parte fundamental para
garantizar la calidad y confianza del producto final. A continuación, le proporcionaré
información sobre los diferentes tipos de pruebas que se pueden realizar durante el
proceso de desarrollo de software:

Pruebas unitarias: Son pruebas que se centran en verificar el correcto


funcionamiento de unidades individuales de código, como funciones, métodos o
clases. Se suelen escribir por los propios desarrolladores y se ejecutan de forma
automatizada para asegurar que cada unidad cumple con los requisitos
establecidos.
Pruebas de integración: Estas pruebas se realizan para verificar que las diferentes
unidades de código interactúan correctamente entre sí y se integran sin problemas.
El objetivo es detectar posibles errores de comunicación, interoperabilidad o
comportamiento inesperado al combinar las diferentes partes del sistema.
Pruebas de sistema: Se realizan para evaluar el sistema en su conjunto y
comprobar si cumple con los requisitos y especificaciones establecidas. Estas
pruebas se centran en aspectos como la funcionalidad general, el rendimiento, la
seguridad y la compatibilidad con el entorno operativo.
Pruebas de aceptación: Estas pruebas se llevan a cabo para verificar si el software
cumple con las expectativas del cliente y si cumple los requisitos del negocio. Se
realizan generalmente en un entorno similar al de producción y suelen ser
ejecutados por el cliente o los usuarios finales.
Pruebas de regresión: Son pruebas que se realizan después de realizar cambios en
el software para asegurar que las modificaciones no hayan introducido nuevos
errores y que las funcionalidades previamente implementadas sigan funcionando
correctamente.
Pruebas de rendimiento: Estas pruebas se enfocan en evaluar el comportamiento
del software bajo diferentes condiciones de carga y estrés. El objetivo es identificar
posibles cuellos de botella, problemas de rendimiento o capacidad de respuesta
del sistema.
Pruebas de seguridad: Se realizan para evaluar la resistencia del software frente a
posibles ataques o vulnerabilidades. Estas pruebas incluyen técnicas de hacking
ético y análisis de seguridad para identificar posibles debilidades y tomar las
medidas necesarias para reducir los riesgos.

Estos son solo algunos de los tipos de pruebas más comunes en un proyecto de desarrollo
de software. La selección y alcance de las pruebas que se obtendrán de las características
del proyecto, los requisitos del cliente y las mejores prácticas de la industria. Es importante
llevar a cabo un plan de pruebas adecuado para garantizar la calidad y la satisfacción del
cliente con el producto final.

3.1Elaboración del plan de pruebas de un proyecto de desarrollo de


Software
Planificación orientada a los objetivos del negocio

Definir alcance
En esta fase, es importante diseñar una planificación adaptada a las necesidades del
proyecto, sin perder de vista los objetivos del negocio. Debes revisar que no hayas dejado
objetivos fuera del alcance, todos deben estar cubiertos.

Determinar la estrategia

Cada plan de pruebas debe definir qué tipos de pruebas implementará para cumplir con el
alcance establecido. Los estándares y metodologías son establecidos a nivel de la
organización y para cada plan debe reflejarse cuales serán utilizados para llevar a cabo las
pruebas de acuerdo con las necesidades de cada proyecto.

Determinar tipos y niveles de pruebas

Para validar cada objetivo del negocio podremos utilizar diferentes tipos de pruebas:

Pruebas funcionales: Teniendo en cuenta la metodología de desarrollo y las


iteraciones o fases diseñadas deberás planificar las pruebas a realizar en cada
iteración.
Pruebas de regresión: A medida que avance el proyecto, las tareas de pruebas
aumentan su carga, por eso deberás planificar cómo ir cubriendo las necesidades
de pruebas de regresión sin que esto signifique aumentar los recursos.
Pruebas de rendimiento y seguridad: En base a los objetivos del negocio, deberás
definir y planificar si se realizarán este tipo de pruebas. Si la aplicación estará
expuesta en la nube, deberás planificar pruebas de rendimiento que permitan
validar que la arquitectura responde de forma adecuada a procesos de alta
demanda.
Pruebas de integración: Usualmente los sistemas no viven en solitario, sino que
interactúan con otros sistemas existentes tanto internos como externos.
Pruebas de extremo a extremo: Validar que los flujos críticos del sistema
funcionan correctamente, simulando el uso de la aplicación más utilizada por los
usuarios es una estrategia que asegura tranquilidad antes de un despliegue.

Identificar herramientas

Cada proyecto debe definir con cuáles herramientas apoyará: la gestión del proyecto, la
definición de las pruebas, el reporte de anomalías detectadas y su seguimiento y la
automatización de pruebas.

Detallar los casos de prueba

Planificar pensando en los cambios

Todos sabemos que los proyectos son dinámicos. Cambian las prioridades, hay actividades
que se demoran y surgen contingencias y nuevos requerimientos que se agregan.
Una planificación adecuada nos permitirá realizar cambios de forma preventiva y no de
forma reactiva, así puedes tener el control cuando la presión aumenta y los tiempos son
escasos.

Priorizar casos de prueba y actividades

Al tener priorizadas las actividades por objetivo y nivel de importancia, podrás ajustar la
planificación en los casos en que el calendario se reduzca o se recorten los presupuestos.

Planificar en base a expectativas.

Los proyectos tienen muchos integrantes y no siempre se produce el software de la misma


forma. Hay equipos que cambian, requerimientos más complejos o tecnologías nuevas que
el equipo desconoce.

Ajuste al plan de pruebas

Hacer un seguimiento activo del proyecto de desarrollo, ajustando la planificación de


forma acorde.

En proyectos ágiles, el seguimiento activo se realiza en las reuniones de planificación de


sprint, pero en otro tipo de proyectos es necesario que el analista de QA esté al tanto de
los avances y contratiempos del desarrollo y mantenga una estrecha comunicación con los
encargados del desarrollo, para poder ajustar la planificación de pruebas y actuar
preventivamente.

Ajustar en base a resultados.

Los datos mandan. Ajusta la planificación para reforzar las pruebas de los objetivos que
presentan más fallas y libera recursos de aquellos que presentan menores niveles de fallos.

3.2Pruebas de componentes
Las pruebas de componentes se ejecutan de forma independiente para comprobar que el
resultado sea el requerido. Su objetivo es verificar las funcionalidades y/o usabilidades de
los componentes, aunque no solo se limite a eso.

Para ilustrarla mejor, un ejemplo de esta prueba puede ser cualquier elemento que tenga
entrada y deba generar alguna salida. Puede ser el módulo de código, página web,
pantallas e incluso un sistema dentro de un sistema más grande, en un componente. Aquí
algunos usos de los componentes que puedes probar:

 Prueba de UI: para usabilidad y accesibilidad


 Prueba de carga: para asegurar el rendimiento
 Inyección de SQL: a través de componentes de UI para asegurar la seguridad
 Prueba de login: con credenciales válidas e inválidas

Las pruebas de componentes de software, también conocidas como pruebas unitarias, son
pruebas que se centran en verificar el correcto funcionamiento de unidades individuales
de código, como funciones, métodos o clases. Estas pruebas se realizan a nivel de código y
tienen como objetivo garantizar que cada componente funcione correctamente de forma
aislada antes de integrarlo en el sistema completo.

A continuación, le proporcionaré información sobre cómo realizar pruebas de


componentes de software de manera efectiva:

 Identificar los componentes: Identifica los componentes individuales que


necesitan ser probados. Estos pueden ser funciones, métodos, clases o incluso
módulos específicos del software.
 Preparar los datos de prueba: Define los datos de entrada necesarios para ejecutar
las pruebas de los componentes. Estos datos deben cubrir diferentes casos y
escenarios para garantizar una cobertura adecuada.
 Diseñar casos de prueba: Crea casos de prueba específicos para cada componente.
Define los pasos a seguir, incluyendo la configuración inicial, la ejecución del
componente y las comprobaciones de los resultados esperados.
 Ejecutar las pruebas: Utiliza un entorno de prueba adecuado para ejecutar las
pruebas de los componentes. Asegúrese de proporcionar los datos de prueba
definidos y observe los resultados obtenidos.
 Comprobar los resultados: Verifica si los resultados obtenidos coinciden con los
resultados esperados definidos en los casos de prueba. Si hay alguna discrepancia,
identifica y registra el error para su posterior resolución.
 Uso de herramientas de prueba: Puede utilizar herramientas de prueba
específicas, como frameworks de pruebas unitarias, para automatizar el proceso de
ejecución de las pruebas y facilitar la comparación de resultados esperados y
obtenidos.
 Realizar pruebas negativas: No te límites a probar solo los casos de uso esperados.
Realice pruebas negativas donde proporciones datos de entradas incorrectas o
inesperadas para evaluar cómo los componentes manejan situaciones de error o
excepciones.
 Realizar pruebas de cobertura: Evalúa la cobertura de las pruebas para asegurarte
de que se han probado todos los caminos y escenarios posibles en el componente.
Utilice métricas de cobertura de código, como la cobertura de instrucciones o la
cobertura de ramas, para medir el grado de cobertura alcanzado.
 Repetir las pruebas: A medida que realice cambios en el componente, repite las
pruebas para asegurarte de que los cambios introducidos no hayan afectado
negativamente su funcionamiento y que se mantenga la calidad del componente.
 Documentar los resultados: Registra los resultados de las pruebas, incluyendo los
casos de prueba utilizados, los resultados obtenidos y cualquier error identificado.
Estos registros serán útiles para el seguimiento, la resolución de problemas y la
revisión de las pruebas realizadas.

3.3Pruebas del sistema


Las pruebas del sistema tienen como objetivo ejercitar profundamente el sistema
comprobando la integración del sistema de información globalmente, verificando el
funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen
y con el resto de sistemas de información con los que se comunica.

Son pruebas de integración del sistema de información completo, y permiten probar el


sistema en su conjunto y con otros sistemas con los que se relaciona para verificar que las
especificaciones funcionales y técnica se cumplen. Dan una visión muy similar a su
comportamiento en el entorno de producción.

3.4Corrección de errores
La corrección de errores es el proceso de detectar errores en los mensajes transmitidos y
reconstruir los datos originales sin errores. La corrección de errores garantiza que se
obtengan mensajes corregidos y sin errores en el lado del receptor.

Los sistemas capaces de solicitar la retransmisión de mensajes incorrectos en respuesta a


la detección de errores incluyen una solicitud automática de retransmisión, o
procesamiento de solicitud de repetición automática (ARQ), en su paquete de software de
comunicación. Utilizan reconocimientos, mensajes de reconocimiento negativo y tiempos
de espera para lograr una mejor transmisión de datos.

ARQ es un método de control de errores (corrección de errores) que utiliza códigos de


detección de errores y confirmaciones positivas y negativas. Cuando el transmisor recibe
un acuse de recibo negativo o se agota el tiempo de espera antes de recibir el acuse de
recibo, el ARQ hace que el transmisor reenvíe el mensaje.

El código de corrección de errores (ECC) o la corrección de errores de reenvío (FEC) es un


método que implica agregar bits de datos de paridad al mensaje. El receptor leerá estos
bits de paridad para determinar si ocurrió un error durante la transmisión o el
almacenamiento. En este caso, el receptor verifica y corrige los errores cuando ocurren.
No le pide al transmisor que reenvíe la trama o el mensaje.

También se utiliza un método híbrido que combina la funcionalidad ARQ y FEC para la
corrección de errores. En este caso, el receptor solicita la retransmisión solo si los bits de
datos de paridad no son suficientes para la detección y corrección exitosa de errores.

Referencias
Nasi, D. D. (2023, 28 marzo). Instituto Certus | Carreras Técnicas y Educación Continua.
CERTUS. https://www.certus.edu.pe/
Software Testing Bureau. (2023, 16 marzo). Crear un buen Plan de Pruebas - Software
Testing Bureau. https://www.softwaretestingbureau.com/crear-un-buen-plan-de-
pruebas/
TRYCORE. (2023). Tipos de pruebas funcionales para el aseguramiento de la calidad.
Trycore. https://trycore.co/transformacion-digital/tipos-de-pruebas-funcionales/
Pruebas del Sistema - manuel.cillero.es. (2016, 17 octubre). manuel.cillero.es.
https://manuel.cillero.es/doc/metodologia/metrica-3/tecnicas/pruebas/sistema/
¿Qué es la corrección de errores? - definición de techopedia - Seguridad 2023. (2023). Icy
Science. https://es.theastrologypage.com/error-correction
Atlassian. (s. f.). Los distintos tipos de pruebas en software | Atlassian.
https://www.atlassian.com/es/continuous-delivery/software-testing/types-of-
software-testing

También podría gustarte