Está en la página 1de 9

INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

MODELOS DE PRUEBA DE SOFTWARE

OBJETIVO E IMPORTANCIA DE LAS


PRUEBAS DE SOFTWARE

UNIDAD I

JOSE LUIS GARCÍA RODRÍGUEZ

HERNANDEZ MARTINEZ MARTIN

Secuencia: 5CM51 CDMX, 26 Marzo 2024


INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

Las pruebas de software son un proceso sistemático y metódico que tiene


como objetivo principal verificar y validar que un programa informático cumple
con los requisitos especificados y se comporta como se espera en diferentes
escenarios. A lo largo del ciclo de vida del desarrollo de software, las pruebas
juegan un papel fundamental en la detección temprana de errores y defectos,
lo que permite a los desarrolladores corregirlos antes de que lleguen a los
usuarios finales.

Los objetivos de las pruebas de software son diversos y abarcan desde


asegurar que el software cumpla con sus funcionalidades previstas hasta
identificar posibles efectos secundarios no deseados que podrían surgir
durante su uso. Entre los objetivos específicos se encuentran probar si el
software hace lo que debe, verificar si el software provoca efectos secundarios
adversos, descubrir errores no documentados previamente, encontrar la mayor
cantidad de errores en el menor tiempo posible y demostrar que las funciones
del software cumplen con las expectativas del cliente.

La importancia de las pruebas de software radica en su capacidad para


mejorar la calidad, fiabilidad y seguridad de las aplicaciones informáticas, lo
que a su vez contribuye a la satisfacción del cliente, la reducción de costos
asociados con errores en producción y la reputación de la empresa. En un
entorno cada vez más competitivo, invertir en pruebas de software adecuadas
se ha convertido en una necesidad para garantizar el éxito y la aceptación de
cualquier producto o servicio basado en tecnología.

Su objetivo principal es asegurar la calidad y fiabilidad del software antes de


su lanzamiento al mercado. Algunos de los objetivos clave de las pruebas de
software incluyen:

OBJETIVOS

Probar si el software no hace lo que debe.

Este objetivo garantiza que el software cumple con todas las funcionalidades
y requisitos especificados en los documentos de diseño y requisitos. Al realizar
pruebas exhaustivas para verificar que el software realiza todas las tareas
previstas de manera correcta, se asegura que los usuarios finales obtengan
un producto que cumple con sus expectativas y necesidades. Además, al
identificar cualquier discrepancia entre lo esperado y lo observado, los equipos
de desarrollo pueden corregir rápidamente cualquier error o defecto antes de
que afecte la experiencia del usuario.
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

Probar si el software hace lo que no debe, es decir, si provoca efectos


secundarios adversos.

Al evaluar si el software puede generar efectos secundarios no deseados, las


pruebas ayudan a garantizar la estabilidad y seguridad del sistema. Identificar
posibles comportamientos inesperados o consecuencias adversas derivadas
del uso del software es crucial para prevenir situaciones indeseadas que
podrían afectar la integridad de los datos, la privacidad del usuario o la
funcionalidad del sistema en su conjunto. Al detectar y corregir estos posibles
efectos secundarios, se mejora la calidad y fiabilidad del software, lo que a su
vez aumenta la confianza de los usuarios en el producto.

Descubrir un error que aún no ha sido descubierto.

Este objetivo resalta la importancia de las pruebas en la identificación de


errores desconocidos o no documentados en el software. A través de
diferentes técnicas de prueba, como pruebas exploratorias o pruebas de
estrés, los equipos de calidad pueden descubrir defectos que de otra manera
podrían pasar desapercibidos. Al encontrar y corregir estos errores ocultos, se
mejora la estabilidad y confiabilidad del software, reduciendo la probabilidad
de fallos inesperados una vez que el producto está en producción. Este
enfoque proactivo en la detección temprana de problemas contribuye significa

Encontrar el mayor número de errores con la menor cantidad de tiempo


y esfuerzo posibles.

La eficiencia en las pruebas de software es crucial para maximizar la detección


de errores en el menor tiempo posible. Al emplear estrategias de prueba
efectivas, como la automatización de pruebas o el uso de herramientas
especializadas, los equipos de calidad pueden identificar un mayor número de
defectos en un período más corto, optimizando así el proceso de desarrollo. Al
reducir el tiempo y esfuerzo dedicado a las pruebas, se logra una mayor
eficacia en la detección y corrección de errores, permitiendo a los
desarrolladores enfocarse en otras áreas críticas del proyecto.
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

Mostrar hasta qué punto las funciones del software operan de acuerdo
con las especificaciones y requisitos del cliente.

Este objetivo se enfoca en validar que las funciones del software se alinean
con las expectativas y necesidades del cliente. Al realizar pruebas funcionales
y de aceptación, se demuestra que el software cumple con los requisitos
acordados y opera según lo esperado por el cliente. Esta validación es crucial
para garantizar la satisfacción del usuario final y la entrega de un producto que
cumple con las expectativas comerciales y técnicas establecidas. Al mostrar
que el software opera según las especificaciones acordadas, se fortalece la
confianza del cliente en el producto y se asegura una mayor aceptación en el
mercado.

CARACTERISTICAS

Planificación Detallada:

La planificación detallada de las pruebas de software es una característica


esencial que implica la elaboración de un plan integral que guíe la ejecución
de las pruebas. En este proceso, se definen claramente los objetivos de las
pruebas, se identifican los recursos necesarios, se establece un cronograma
detallado y se seleccionan las técnicas y herramientas de prueba más
adecuadas para el proyecto en cuestión. Una planificación meticulosa
garantiza que las pruebas se realicen de manera estructurada y organizada, lo
que a su vez contribuye a la eficacia y eficiencia del proceso de prueba.

Diversidad de Técnicas de Prueba:

Las pruebas de software pueden involucrar una amplia gama de técnicas, cada
una diseñada para evaluar aspectos específicos del software y detectar
diferentes tipos de defectos. Estas técnicas incluyen pruebas funcionales,
pruebas de rendimiento, pruebas de seguridad, pruebas de usabilidad, entre
otras. Al utilizar una combinación adecuada de técnicas de prueba, se logra
una cobertura exhaustiva que permite identificar diversos problemas
potenciales en el software. La diversidad de técnicas de prueba también
contribuye a la robustez y calidad del proceso de prueba en su conjunto.

Automatización de Pruebas:

La automatización de pruebas es una característica clave en el desarrollo de


software que permite ejecutar pruebas repetitivas de forma eficiente y
consistente. Al desarrollar scripts de prueba automatizados, se pueden realizar
pruebas de regresión, pruebas de carga y otras pruebas repetitivas de manera
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

rápida y precisa. La automatización no solo ahorra tiempo y recursos al


eliminar tareas manuales repetitivas, sino que también facilita la identificación
temprana de problemas, la integración continua y la entrega continua en el
proceso de desarrollo de software. Además, la automatización contribuye a la
mejora de la calidad del software al garantizar una cobertura exhaustiva de las
pruebas.

Documentación Exhaustiva:

La documentación exhaustiva de las pruebas es un aspecto crítico del proceso


de prueba que implica la creación y mantenimiento de registros detallados
sobre las pruebas realizadas, los resultados obtenidos, los errores
encontrados y las acciones correctivas tomadas. Esta documentación
proporciona una trazabilidad completa del proceso de prueba, lo que facilita la
identificación y corrección eficiente de problemas. Además, la documentación
exhaustiva garantiza la transparencia en el proceso de prueba, facilita la
comunicación entre los miembros del equipo y asegura la reproducibilidad de
las pruebas en el futuro.

TESTING DE SOFTWARE

El testing de software, también conocido como prueba de software, es un


proceso sistemático y metódico que tiene como objetivo principal evaluar la
calidad, funcionalidad y rendimiento de un programa informático o aplicación
antes de su lanzamiento al mercado. Consiste en la ejecución controlada del
software con el propósito de identificar errores, defectos o problemas que
puedan afectar su correcto funcionamiento.

Este proceso implica la creación de casos de prueba, la ejecución de pruebas


en diferentes escenarios y la comparación de los resultados obtenidos con los
resultados esperados. El objetivo es detectar posibles fallos en el software y
garantizar que cumple con los requisitos especificados, las expectativas del
usuario y los estándares de calidad establecidos.

El testing de software se puede clasificar en diferentes tipos según los


aspectos que se evalúan, como pruebas funcionales, pruebas no funcionales
(como pruebas de rendimiento, seguridad, usabilidad), pruebas de regresión,
entre otras. Cada tipo de prueba se enfoca en aspectos específicos del
software para garantizar su correcto funcionamiento en diferentes situaciones
y escenarios.

La importancia del testing de software radica en su capacidad para identificar


errores y defectos en etapas tempranas del desarrollo, lo que permite
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

corregirlos antes de que afecten a los usuarios finales. Al garantizar la calidad


y fiabilidad del software, el testing contribuye a reducir costos asociados con
correcciones tardías, mejorar la satisfacción del cliente y mantener la
reputación de la empresa.

Existen diversos tipos de testing de software, cada uno diseñado para evaluar
aspectos específicos del software. Algunos de los tipos más comunes incluyen:

Pruebas Funcionales

Se centran en verificar que el software cumple con las funciones y requisitos


especificados en la documentación del diseño. Estas pruebas evalúan si el
software realiza las tareas previstas de manera correcta y produce los
resultados esperados.

Tipos de Pruebas: Incluyen pruebas de caja negra, pruebas de caja blanca,


pruebas de integración, pruebas de aceptación del usuario, entre otras.

Ejemplo: Verificar que al hacer clic en un botón de "Enviar" en un formulario,


los datos se envíen correctamente a la base de datos.

Pruebas de Rendimiento

Evalúan la capacidad del software para manejar cargas de trabajo específicas,


determinar su velocidad, eficiencia y capacidad de respuesta bajo diversas
condiciones.

Tipos de Pruebas: Incluyen pruebas de carga, pruebas de estrés, pruebas de


rendimiento y escalabilidad.

Ejemplo: Evaluar cómo responde una aplicación web cuando múltiples


usuarios intentan acceder simultáneamente.

Pruebas de Usabilidad

Se enfocan en evaluar la facilidad de uso, la experiencia del usuario y la


interfaz del software para garantizar que sea intuitivo y amigable para el
usuario final.

Tipos de Pruebas: Incluyen pruebas de accesibilidad, pruebas de navegación,


pruebas de diseño y pruebas de experiencia del usuario.
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

Ejemplo: Evaluar la facilidad con la que un usuario puede completar una tarea
específica dentro de una aplicación.

Pruebas de Seguridad

Buscan identificar vulnerabilidades y posibles brechas de seguridad en el


software para proteger la información confidencial y garantizar la integridad del
sistema.

Tipos de Pruebas: Incluyen pruebas de penetración, pruebas de


vulnerabilidad, pruebas de autenticación y autorización.

Ejemplo: Identificar posibles puntos débiles en un sistema que podrían ser


explotados por un atacante.

Pruebas de Regresión

Se realizan para asegurar que los cambios o actualizaciones en el software no


han introducido nuevos errores y que las funcionalidades existentes siguen
funcionando correctamente.

Tipos de Pruebas: Incluyen pruebas automáticas de regresión, pruebas


manuales de regresión y pruebas selectivas.

Ejemplo: Verificar que una nueva función implementada en una aplicación no


ha afectado el funcionamiento de las características existentes.

La importancia del testing de software radica en su capacidad para identificar


errores y defectos en etapas tempranas del desarrollo, lo que permite
corregirlos antes de que afecten a los usuarios finales. Al garantizar la calidad
y fiabilidad del software, el testing contribuye a reducir costos asociados con
correcciones tardías, mejorar la satisfacción del cliente y mantener la
reputación de la empresa.

PRUEBAS AUTOMATIZADAS

Las pruebas automatizadas son un enfoque fundamental en el proceso de


testing de software que implica el uso de herramientas y scripts de prueba para
ejecutar casos de prueba de forma automatizada. Este método permite repetir
pruebas de manera eficiente, rápida y consistente, lo que resulta en una
mejora significativa en la eficiencia y calidad del proceso de testing.
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

Algunas características y beneficios clave de las pruebas automatizadas son:

Repetibilidad y Consistencia:

Las pruebas automatizadas garantizan la ejecución consistente de los casos


de prueba, eliminando la variabilidad humana y asegurando que los mismos
pasos se sigan cada vez que se ejecuta la prueba. Esto ayuda a identificar
problemas de manera más confiable y a reproducir errores de forma
consistente.

Ahorro de Tiempo y Recursos:

Al automatizar las pruebas, se reduce significativamente el tiempo necesario


para ejecutar los casos de prueba, lo que permite a los equipos de desarrollo
centrarse en tareas más críticas. Además, al eliminar la necesidad de realizar
pruebas manuales repetitivas, se ahorran recursos y se aumenta la
productividad del equipo.

Mayor Cobertura de Pruebas:

Las pruebas automatizadas permiten ejecutar un gran número de casos de


prueba en un corto período de tiempo, lo que aumenta la cobertura de pruebas
y ayuda a identificar un mayor número de errores. Esto contribuye a una mayor
confianza en la calidad del software al garantizar una exhaustiva evaluación
del sistema.

Integración Continua:

Las pruebas automatizadas son esenciales para la implementación de


prácticas de integración continua y entrega continua (CI/CD). Al automatizar
las pruebas, se pueden realizar pruebas cada vez que se realiza una nueva
integración o implementación, lo que ayuda a identificar problemas
tempranamente y garantizar la estabilidad del software en todo momento.

Facilidad de Mantenimiento:

Aunque requieren una inversión inicial en su desarrollo, las pruebas


automatizadas son más fáciles de mantener a largo plazo en comparación con
las pruebas manuales. Los scripts de prueba pueden actualizarse rápidamente
para reflejar cambios en el software, lo que asegura que las pruebas sigan
siendo relevantes y efectivas a medida que el software evoluciona.
INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias


Sociales y Administrativas

CONCLUSIÓN

El proceso de testing de software es un componente crítico en el desarrollo de


aplicaciones informáticas, ya que garantiza la calidad, fiabilidad y
funcionalidad del software antes de su lanzamiento al mercado. Mediante la
realización de pruebas exhaustivas, como pruebas funcionales, pruebas de
rendimiento, pruebas de usabilidad y pruebas de seguridad, se verifica que el
software cumple con los requisitos especificados, se comporta como se espera
y es seguro para su uso.

La automatización de pruebas emerge como una herramienta invaluable en


este proceso, permitiendo una ejecución eficiente y consistente de casos de
prueba, lo que resulta en un ahorro de tiempo, recursos y una mayor cobertura
de pruebas. La repetibilidad, consistencia y facilidad de integración con
prácticas como la integración continua hacen de las pruebas automatizadas
una estrategia esencial para mejorar la eficiencia y calidad del testing de
software.

En conjunto, la combinación de una planificación detallada, una diversidad de


técnicas de prueba, la documentación exhaustiva y la implementación de
pruebas automatizadas contribuyen a la detección temprana de errores, la
reducción de costos asociados con correcciones tardías, el aumento de la
productividad del equipo y la garantía de un producto final de alta calidad y
satisfacción del cliente. Por lo tanto, invertir en un proceso sólido de testing de
software es fundamental para el éxito y la competitividad en el desarrollo de
aplicaciones informáticas en el entorno actual.

CIBERGRAFÍA

ISTQB (International Software Testing Qualifications Board):


https://www.istqb.org/

Ministry of Testing: https://www.ministryoftesting.com/

Software Testing Help: https://www.softwaretestinghelp.com/

Xebia Academy: https://xebia.com/academy/


The Association for Software Testing: https://associationforsoftwaretesting.org/

También podría gustarte