Está en la página 1de 7

TÉCNICAS DE PRUEBAS

Niveles de Prueba
Generalmente se comienza probando las partes
más pequeñas y se continua con las más grandes
• Para el software convencional
◦ El módulo (componente) se prueba primero
◦ Se continua con la integración de módulos
• Para el software orientado a objetos
◦ Se prueba primero una clase (atributos,
métodos, colaboración)
El ámbito o destino de las pruebas del software puede variar entres niveles:
• Un módulo único
◦ Pruebas Unitarias.
• Un grupo de módulos (relacionados por propósito, uso, comportamiento o estructura)
◦ Pruebas de integración.
• Un sistema completo
◦ Pruebas de sistemas.
Pruebas de Unidad.
La prueba de unidad es la primera fase de las pruebas dinámicas y se realizan sobre cada
módulo del software de manera independiente. El objetivo es comprobar que el módulo, entendido
como una unidad funcional, está correctamente codificado.

Para probar cada módulo se requiere de un módulo controlador y de uno o más módulos
simulados (stubs).
Estas pruebas suelen llevarse a cabo con:
• Acceso al código fuente probado.
• Ayuda de herramientas de depuracion.
• Participación (opcional) de los programadores que escribieron el código.
Pruebas de Integración.
Pruebas de integración Su objetivo es identificar errores introducidos por la combinación de
programas o componentes probados unitariamente, para asegurar que la comunicación, enlaces y los
datos compartidos ocurran apropiadamente. Se diseñan para descubrir errores o completitud en las
especificaciones de las interfaces.
Existen dos enfoques:
• Big bang, combinar todos los componentes y probar el sistema como un todo
• Integración incremental, los componentes se integran y prueban poco a poco
◦ Integración descendente (componentes de funcionales)
▪ Primero en profundidad, completando ramas de árbol.
▪ Primero en anchura, completando niveles de jerarquía.

◦ Integración ascendente (componentes de infraestructura, e.g. acceso a BD)


▪ Se comienza por los módulos hoja (pruebas unitarias).
▪ Se combinan los módulos según la jerarquía.
▪ Se repite en niveles superiores.

Pruebas de Sistemas.
Esta prueba tiene como objetivo verificar que se han integrado adecuadamente todos los
elementos del sistema y que realizan las operaciones apropiadas funcionando como un todo. Es similar
a la prueba de integración pero con un alcance mucho más amplio.
Este nivel es más adecuado para comprobar requisitos no funcionales: seguridad, velocidad,
exactitud y fiabilidad.
También se prueban:
• Interfaces externos con otros sistemas.
• Utilidades.
• Unidades físicas.
• Entorno operativo.
Tipos de pruebas
Pruebas de Caja Blanca.
Las pruebas de caja blanca (también conocidas como pruebas de caja de cristal o pruebas
estructurales) se centran en los detalles procedimentales del software, por lo que su diseño está
fuertemente ligado al código fuente.

• Verifican la correcta implementación de las unidades internas, las estructuras y sus relaciones
• Hacen énfasis en la reducción de errores internos
Pruebas de Caja Negra.
Se denomina caja negra a aquel elemento que es estudiado desde el punto de vista de las
entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento
interno.

• Verifican el correcto manejo de funciones externas provistas o soportadas por el software


Pruebas funcionales.
• Verifican que el comportamiento observado se apegue a las especificaciones del producto y a
las expectativas del usuario
• Los casos de prueba se construyen a partir de las especificaciones del sistema
Pruebas funcionales.
Es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades
previamente diseñadas para el software. Las pruebas funcionales se hacen mediante el diseño de
modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete
informático.
Fases
• Análisis de requisitos (planificación).
• Diseño de plan de pruebas (Preparación).
• Ejecución.
• Gestión de incidencias (defectos).
Según ejecución
• Manuales.
• Automáticas.
Pruebas no funcionales.
Son pruebas de carga, pruebas de tensión, seguridad, volumen, pruebas de recuperación, etc.
que se realizan para garantizar si el tiempo de respuesta del software o la aplicación es lo
suficientemente rápido según los requisitos del negocio.
Pruebas de Interfaz.
Las pruebas de interfaces son particularmente importantes para el desarrollo orientado a objetos
y basado en componentes. Incluye el tamaño de los botones y el campo de entrada presente en la
pantalla, la alineación de todo el texto, las tablas y el contenido de las tablas.
Pruebas de Aceptación.
estas pruebas se encargan de comprobar si el software completado cumple las necesidades por
las que dicho software ha sido creado. Estas actividades de pruebas pueden o no involucrar a los
desarrolladores del sistema, pero siempre involucrarán al cliente o usuarios.
Patrones de Prueba.
• Aprender las reglas.
◦ Algoritmos, estructuras de datos, lenguajes de programación, entre otros.
• Aprender los principios.
◦ Programación estructurada, programación modular, programación OO, programación
genérica, entre otros.
◦ Capturar la experiencia y la hacen accesible a los no expertos.
◦ El conjunto de sus nombres forman un vocabulario que ayuda a que los desarrolladores se
comuniquen mejor.
• Lenguajes de patrones.
◦ Ayudan a la gente a comprender un sistema más rápidamente cuando está documentado con
patrones que usa.
◦ Los patrones pueden ser la base de un manual de ingeniería de software.
Instrumentos y herramientas para pruebas
Herramientas para pruebas de software disponibles, en el mercado como manera gratuita
(herramienta de código abierto), es muy amplio. Se divididas en categorías.
Herramientas Open Source (gratuitas)
• Herramientas de gestión de pruebas.
◦ Bugzilla Testopia.
◦ FitNesse.
◦ RTH (open source).
◦ Salome-tmf.
• Herramientas para pruebas funcionales
◦ Selenium.
◦ Soapui.
◦ Watir (pruebas de aplicaciones web en Ruby)
◦ WatiN (pruebas de aplicaciones web en .Net)
◦ Capedit.
• Herramientas para pruebas de carga y rendimiento
◦ FunkLoad.
◦ FWPTT load testing.
◦ loadUI.
◦ jmeter.
Herramientas Comerciales (pagas)
• Herramientas de gestión de pruebas.
◦ HP Quality Center/ALM.
◦ QA Complete.
◦ qaBook.
◦ T-Plan professional.
• Herramientas para pruebas funcionales.
◦ QuickTest Pro.
◦ Rational Robot.
◦ Sahi.
◦ SoapTest.
• Herramientas para pruebas de carga y rendimiento.
◦ HPLoad Runner.
◦ Load Storm.
◦ NeoLoad.
◦ WebLOAD professional.
BIBLIOGRAFÍA
https://es.slideshare.net/catalinocordero/unidad-10-tecnicas-de-pruebas (14/09/21)
https://www.tamps.cinvestav.mx/~ertello/swe/sesion15.pdf (14/09/21)
http://www.lsi.us.es/docencia/get.php?id=361 (14/09/21)
https://www.tecnologias-informacion.com/software-testing.html (14/09/21)
https://core.ac.uk/download/pdf/61915569.pdf (14/09/21)
https://ocw.unican.es/pluginfile.php/1408/course/section/1803/tema1-pruebasSistemasSoftware.pdf
(15/09/21)

También podría gustarte