1.2 Objetivo e Importancia de Las Pruebas de Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria De Ingeniería y Ciencias Sociales y Administrativas

UPIICSA

Objetivo e importancia de las pruebas de software

Gallegos Pérez Erick

Ingeniería de Pruebas

5NM70

GARCIA RODRIGUEZ JOSE LUIS


Objetivo:

En este ensayo, discutiré el tema de las pruebas de software. Estaré explorando los
diferentes aspectos de este tema y brindando mi propia perspectiva al respecto. Espero
arrojar algo de luz nueva sobre este tema y proporcionar una perspectiva diferente para el
lector. Conocer acerca del tema relacionado con las pruebas de software, el cual se dio a la
tarea de indagar de manera directa, con respecto a los puntos señalados se espera
conservar un 80% por ciento de la información recabada logrando así, definir un espacio de
conocimiento común con el que diferentes personas y organizaciones puedan comunicarse
de manera efectiva sobre anomalías de software

Misión:

El propósito de las pruebas de software es encontrar errores en el software para que


puedan corregirse antes de que se publique el software. Las pruebas son importantes
porque pueden ayudar a garantizar que el software sea de alta calidad y satisfaga las
necesidades de los usuarios.
Ofrecer información confiable referente a los temas sobre las pruebas de software,
expuestos en este texto, para su correcta difusión y fácil acceso, para lograr así
proporcionar un amplio aprendizaje

Visión:

Las pruebas de software son importantes porque ayudan a garantizar que el software sea
de alta calidad y esté libre de errores. Las pruebas también pueden ayudar a garantizar que
el software cumpla con sus requisitos y sea adecuado para su propósito. Además, las
pruebas pueden ayudar a reducir el riesgo de fallas de software y mejorar la calidad general
del proceso de desarrollo de software.
Encontrar fuentes de información confiable y sostenibles para lograr mantener a los grupos
de interés informados de manera correcta y continua acerca los temas tratados
Contenido:

¿Cómo funcionan las pruebas de software?

A medida que el software se vuelve cada vez más complejo, la necesidad de pruebas
efectivas se vuelve más crítica. Las pruebas de software ayudan a garantizar que el
software funcione según lo previsto y satisfaga las necesidades de los usuarios. También
puede descubrir errores que podrían provocar fallas en el sistema o pérdida de datos.
Una estrategia de prueba eficaz puede ayudar a garantizar que el software se publique con
menos errores y que cualquier error que exista se descubra y corrija antes de que el
software esté disponible para el público. Las pruebas también pueden ayudar a evaluar el
rendimiento del software e identificar áreas que necesitan mejoras.

Hay muchos tipos diferentes de pruebas de software, cada uno con sus propias ventajas y
desventajas. Algunos tipos comunes de pruebas incluyen pruebas unitarias, pruebas de
integración, pruebas de sistemas y pruebas de aceptación. Elegir el tipo correcto de prueba
para una aplicación de software en particular puede ser fundamental para el éxito del
proceso de prueba.

La prueba de software es el proceso de evaluar y verificar que un producto o aplicación de


software hace lo que se supone que debe hacer. Los beneficios de las pruebas incluyen la
prevención de errores, la reducción de los costos de desarrollo y la mejora del rendimiento.

Las pruebas de software son una parte integral del ciclo de vida del desarrollo de software
(SDLC). Las pruebas son la forma en que puede estar seguro acerca de la funcionalidad, el
rendimiento y la experiencia del usuario. Ya sea que realice sus pruebas manualmente o a
través de la automatización, cuanto antes y más a menudo pueda llevar a cabo pruebas,
más probable es que identifique errores y errores, no sólo ahorrándole a usted y a su equipo
de posibles simulacros de incendio más adelante, sino también asegurándose de que su
aplicación de software haya sido revisada y auditada a fondo antes de que esté frente a sus
usuarios. Si los problemas se arrastran al entorno de producción, los más caros y lentos que
van a solucionar.
Las pruebas de software se pueden dividir en dos tipos diferentes: pruebas funcionales y no
funcionales. Diferentes aspectos de una aplicación de software requieren diferentes tipos de
pruebas, como pruebas de rendimiento, pruebas de escalabilidad, pruebas de integración,
pruebas unitarias y muchos más. Cada uno de estos tipos de pruebas de software ofrece
una excelente visibilidad de la aplicación, desde el código hasta la experiencia del usuario.
Vamos a entrar en los detalles de algunos de los tipos más comunes de pruebas de
software.

Tipos de pruebas de software

Hay muchos tipos diferentes de pruebas


de software, cada una con objetivos y
estrategias específicos:

➢ Prueba de aceptación: verifica si


todo el sistema funciona según
lo previsto.

➢ Pruebas de integración: asegura


que los componentes o
funciones del software operen
juntos.

➢ Pruebas de unidad: valida que


cada unidad de software
funcione según lo esperado. Una
unidad es el componente de prueba más pequeño de una aplicación.

➢ Pruebas funcionales: verifica funciones mediante la simulación de escenarios de


negocio, en función de los requisitos funcionales. La prueba de caja negra es una
forma común de verificar funciones.

➢ Pruebas de rendimiento: prueba cómo funciona el software bajo diferentes cargas de


trabajo. Las pruebas de carga, por ejemplo, se utilizan para evaluar el rendimiento
en condiciones de carga reales.

➢ Pruebas de regresión: verifica si las nuevas características rompen o degradan la


funcionalidad. Las pruebas de cordura se pueden utilizar para verificar menús,
funciones y comandos a nivel superficial, cuando no hay tiempo para una prueba de
regresión completa.

➢ Pruebas de estrés: prueba cuánta tensión puede soportar el sistema antes de que
falle. Considerado como un tipo de prueba no funcional.

➢ Pruebas de usabilidad: válida qué tan bien un cliente puede usar un sistema o una
aplicación web para completar una tarea.
En cada caso, la validación de los requisitos básicos es una evaluación crítica. Igual de
importante, las pruebas exploratorias ayudan a un tester o equipo de pruebas a descubrir
escenarios y situaciones difíciles de predecir que pueden conducir a errores de software.

Incluso una aplicación simple


puede estar sujeta a una gran
cantidad y variedad de pruebas. Un
plan de gestión de pruebas ayuda
a priorizar qué tipos de pruebas
proporcionan el mayor valor, dado
el tiempo y los recursos
disponibles. La efectividad de las
pruebas se optimiza ejecutando la
menor cantidad de pruebas para
encontrar la mayor cantidad de
defectos.

Mejores prácticas de pruebas de


software

La prueba de software es el proceso de verificar la funcionalidad de un programa de


software. Implica ejecutar el programa con diferentes entradas y verificar la salida para
garantizar que el programa funcione como se espera. Las pruebas se pueden realizar de
forma manual o automática.

La prueba manual la realiza un probador humano que ejecuta el programa con diferentes
entradas y verifica la salida. Este es un proceso lento y propenso a errores.

La prueba automática se realiza mediante el uso de una herramienta de software que


ejecuta el programa con diferentes entradas y verifica la salida. Este es un proceso más
eficiente pero puede ser más costoso.

Las pruebas de software siguen un


proceso común. Las tareas o
pasos incluyen la definición del
entorno de prueba, el desarrollo de
casos de prueba, la escritura de
guiones, el análisis de los
resultados de la prueba y el envío
de informes de defectos.
Las pruebas pueden llevar mucho
tiempo. Las pruebas manuales o
bajo demanda pueden ser
suficientes para compilaciones
pequeñas. Sin embargo, para sistemas más grandes, las herramientas se utilizan con
frecuencia para automatizar tareas. Las pruebas automatizadas ayudan a los equipos a
implementar diferentes escenarios, probar diferenciadores (como mover componentes a un
entorno de nube) y obtener comentarios rápidamente sobre lo que funciona y lo que no.
Un buen enfoque de prueba abarca la interfaz de programación de aplicaciones (API), la
interfaz de usuario y los niveles del sistema. Además, cuantas más pruebas se automaticen
y se ejecuten antes, mejor. Algunos equipos desarrollan herramientas de automatización de
pruebas internas. Sin embargo, las soluciones de los proveedores ofrecen funciones que
pueden optimizar las tareas clave de gestión de pruebas, como:

1. Prueba continua: los equipos de proyecto prueban cada compilación a medida que
está disponible. Este tipo de prueba de software se basa en la automatización de
pruebas que se integra con el proceso de implementación. Permite que el software
se valide en entornos de prueba realistas en una etapa más temprana del proceso,
lo que mejora el diseño y reduce los riesgos.

2. Gestión de la configuración: las organizaciones mantienen de forma centralizada los


activos de prueba y realizan un seguimiento de las compilaciones de software para
probar. Los equipos obtienen acceso a activos como código, requisitos, documentos
de diseño, modelos, scripts de prueba y resultados de prueba. Los buenos sistemas
incluyen autenticación de usuarios y seguimientos de auditoría para ayudar a los
equipos a cumplir con los requisitos de conformidad con un mínimo esfuerzo
administrativo.

3. Virtualización de servicios: es posible que los entornos de prueba no estén


disponibles, especialmente en las primeras etapas del desarrollo del código. La
virtualización de servicios simula los servicios y sistemas que faltan o que aún no se
han completado, lo que permite a los equipos reducir las dependencias y realizar
pruebas antes. Pueden reutilizar, implementar y cambiar una configuración para
probar diferentes escenarios sin tener que modificar el entorno original.

4. Seguimiento de defectos o errores: la supervisión de defectos es importante tanto


para los equipos de prueba como para los de desarrollo para medir y mejorar la
calidad. Las herramientas automatizadas permiten a los equipos realizar un
seguimiento de los defectos, medir su alcance e impacto y descubrir problemas
relacionados.
5. Métricas e informes: los informes y la analítica permiten a los miembros del equipo
compartir el estado, los objetivos y los resultados de las pruebas. Las herramientas
avanzadas integran las métricas del proyecto y presentan los resultados en un
panel. Los equipos ven rápidamente el estado general de un proyecto y pueden
supervisar las relaciones entre las pruebas, el desarrollo y otros elementos del
proyecto.

Por qué es
importante la prueba
de software
Pocos pueden
argumentar en contra
de la necesidad de un
control de calidad al
desarrollar software.
Los retrasos en las
entregas o los
defectos del software
pueden dañar la
reputación de una
marca, lo que provoca la frustración y la pérdida de clientes. En casos extremos, un error o
defecto puede degradar los sistemas interconectados o causar fallas graves.

Considere la posibilidad de que Nissan tenga que retirar más de 1 millón de automóviles
debido a un defecto de software en los detectores del sensor de la bolsa de aire. O un error
de software que provocó el fracaso del lanzamiento de un satélite militar de 1,200 millones
de USD. Los números hablan por sí mismos. Las fallas de software en los EE. UU. costaron
a la economía USD 1.1 billones en activos en 2016. Además, impactaron a 4.400 millones
de clientes.

Aunque las pruebas cuestan dinero, las empresas pueden ahorrar millones por año en
desarrollo y soporte si cuentan con una buena técnica de prueba y procesos de control de
calidad. Las primeras pruebas de software descubren problemas antes de que un producto
salga al mercado. Cuanto antes reciban los equipos de desarrollo los comentarios de las
pruebas, antes podrán abordar problemas como:

Defectos arquitectónicos
Malas decisiones de diseño
Funcionalidad no válida o incorrecta
Vulnerabilidades de seguridad
Problemas de escalabilidad

Cuando el desarrollo deja un amplio espacio para las pruebas, mejora la confiabilidad del
software y las aplicaciones de alta calidad se entregan con pocos errores. Un sistema que
cumple o incluso supera las expectativas del cliente genera potencialmente más ventas y
una mayor cuota de mercado.
Tipos de pruebas de software: pruebas funcionales y no funcionales

Pruebas funcionales

Las pruebas funcionales se llevan a cabo para comprobar las características críticas para el
negocio, la funcionalidad y la usabilidad. Las pruebas funcionales garantizan que las
características y funcionalidades del software se comportan según lo esperado sin ningún
problema. Válida principalmente toda la aplicación con respecto a las especificaciones
mencionadas en el documento Software Requirement Specification (SRS). Los tipos de
pruebas funcionales incluyen pruebas unitarias, pruebas de interfaz, pruebas de regresión,
además de muchas.

Pruebas unitarias

Las pruebas unitarias se centran en probar piezas/unidades individuales de una aplicación


de software al principio del SDLC. Cualquier función, procedimiento, método o módulo
puede ser una unidad que se someta a pruebas unitarias para determinar su corrección y
comportamiento esperado. Las pruebas unitarias son las primeras pruebas que los
desarrolladores realizan durante la fase de desarrollo.

POR EJEMPLO: Cuando se realiza como parte del proceso de desarrollo, la prueba unitaria
le permite al desarrollador probar las unidades individuales de código a medida que se
escriben. Esto permite la detección temprana de errores y puede ahorrar tiempo en el
proceso de desarrollo general.

Pruebas de integración

Las pruebas de integración implican probar diferentes módulos de una aplicación de


software como grupo. Una aplicación de software se compone de diferentes submódulos
que trabajan juntos para diferentes funcionalidades. El propósito de las pruebas de
integración es validar la integración de diferentes módulos juntos e identificar los errores y
problemas relacionados con ellos.

POR EJEMPLO: ejemplo básico de una prueba de integración sería tomar la salida de un
módulo e ingresarla en otro módulo y verificar que la salida sea la esperada.

Pruebas no funcionales

Las pruebas no funcionales


son como pruebas
funcionales; sin embargo, la
principal diferencia es que
esas funciones se prueban
bajo carga para el
rendimiento de los
observadores, fiabilidad,
usabilidad, escalabilidad, etc.
Las pruebas no funcionales, como las pruebas de carga y esfuerzo, normalmente se llevan
a cabo mediante herramientas y soluciones de automatización, como LoadView. Además de
las pruebas de rendimiento, los tipos de pruebas no funcionales incluyen pruebas de
instalación, pruebas de confiabilidad y pruebas de seguridad.

POR EJEMPLO: Cuando se realizan como parte de la garantía de calidad, las pruebas
unitarias generalmente las realizan probadores independientes. Esto permite que personas
que no están familiarizadas con el código prueben el código, lo que puede conducir al
descubrimiento de errores que el desarrollador no habría encontrado.

Performance Testing

Las pruebas de rendimiento son un tipo de pruebas no funcionales, realizadas para


determinar la velocidad, estabilidad y escalabilidad de una aplicación de software. Como su
nombre indica, el objetivo general de esta prueba es comprobar el rendimiento de una
aplicación con respecto a los diferentes puntos de referencia del sistema y de la red, como
la utilización de la CPU, la velocidad de carga de la página, el control de tráfico máximo, la
utilización de recursos del servidor, etc. Dentro de las pruebas de rendimiento, hay varios
otros tipos de pruebas, como pruebas de carga y pruebas de esfuerzo.

Ventajas de estos tipos de prueba

Performance Testing

1. Evalúa la velocidad y escalabilidad del sitio web/aplicación.


2. Identifica los cuellos de botella para las mejoras de rendimiento.
3. Detecta errores que se pasan por alto en las pruebas funcionales.
4. Optimización del sistema y mejoras de características
5. Garantiza la fiabilidad del sitio web bajo una gran carga.

Pruebas funcionales

Se asegura de que el sitio web / aplicación está libre de defectos.


Garantiza el comportamiento esperado de todas las funcionalidades.
Garantiza que la arquitectura sea correcta con la seguridad necesaria.
Mejora la calidad y las funcionalidades generales.
Minimiza los riesgos empresariales asociados con el sitio web/aplicación.

Pruebas de integración

➔ Se asegura de que todos los módulos de aplicación estén bien integrados y


funcionen juntos según lo esperado.
➔ Detecta problemas y conflictos interconectados para resolverlos antes de crear un
gran problema.
➔ Valida la funcionalidad, fiabilidad y estabilidad entre diferentes módulos.
➔ Detecta excepciones ignoradas para mejorar la calidad del código.
➔ Admite la canalización de CI/CD.
Pruebas unitarias

➢ Detección temprana de errores en las nuevas funcionalidades o características


desarrolladas.
➢ Minimiza los costos de las pruebas a medida que se detectan problemas desde el
principio.
➢ Mejora la calidad del código con una mejor refactorización del código.
➢ Apoya el proceso de desarrollo ágil.
➢ Simplifica la integración y permite una buena documentación.
Conclusiones

El propósito de las pruebas de software es encontrar errores en el software para que


puedan corregirse antes de que se publique el software. Las pruebas son importantes
porque pueden ayudar a garantizar que el software sea de alta calidad y satisfaga las
necesidades de los usuarios.

Hay muchos tipos diferentes de pruebas de software, cada uno con sus propias ventajas y
desventajas. Lo más importante es elegir el tipo correcto de prueba para la aplicación de
software en particular. Una estrategia de prueba eficaz puede ayudar a garantizar que el
software se publique con menos errores y que cualquier error que exista se descubra y
corrija antes de que el software esté disponible para el público.

Las pruebas de software son importantes porque ayudan a garantizar que el software
funcione según lo previsto y satisfaga las necesidades de los usuarios. También puede
ayudar a encontrar y corregir errores de software antes de que causen problemas.

Bibliografías

¿Qué es la prueba de software y cómo funciona? | IBM. (n.d.). Www.ibm.com.


https://www.ibm.com/mx-es/topics/software-testing

Lee, G. (2020, October 16). Tipos de pruebas de software: diferencias y ejemplos.


LoadView.
https://www.loadview-testing.com/es/blog/tipos-de-pruebas-de-software-diferencias-y-ejempl
os/

También podría gustarte