Las pruebas de sistema son un nivel de prueba que valida el producto de software completo y totalmente integrado. El propósito de las pruebas del sistema es evaluar las especificaciones del sistema de un extremo a otro. El software suele ser solo una característica de un sistema informático más grande. En última instancia, el software está interconectado con otros sistemas de software / hardware. La prueba del sistema es en realidad una serie de pruebas diferentes cuyo único propósito es operar todo el sistema basado en computadora.
En este tutorial, aprenderemos
Caja negra en la prueba del sistema
Existen dos categorías de pruebas de software
Las pruebas del sistema se incluyen en la categoría de prueba de caja negra.
Las pruebas de caja blanca implicas probar el funcionamiento interno o el código de una aplicación de software, totalmente al contrario de una prueba de caja negra o prueba del sistema. La prueba del sistema es la operación externa del software desde el punto de vista del usuario.
¿Qué verifica en las pruebas del sistema?
La prueba del sistema implica probar el código del software en los siguientes casos
- Pruebe las aplicaciones totalmente integradas, incluidos los periféricos externos, para comprobar cómo interactúan los componentes entre sí y con el sistema en su conjunto. Esto también se denomina caso de prueba de un extremo a otro.
- Verifique una prueba exhaustiva de todas las entradas en la aplicación para verificar las salidas deseadas.
- Pruebe la experiencia del usuario con la aplicación.
Esta es una descripción muy básica de lo que son las pruebas de sistemas. Necesita crear casos de prueba detallados y conjuntos de pruebas que prueben todos los aspectos de la aplicación como se ve desde el exterior sin mirar el código fuente real.

Jerarquía de prueba de software
Como ocurre con casi cualquier proceso de ingeniería de software, las pruebas de software son una secuencia prescrita en la que se deben hacer las cosas. El siguiente párrafo es una lista de categorías de pruebas de software organizadas en orden cronológico. Estos son los pasos que se siguen para probar completamente el nuevo software en preparación para comercializarlo:
- Las pruebas unitarias se realizan en cada módulo o bloque de código durante el desarrollo. Examen de la unidad el código generalmente lo escribe el programador que escribe el código.
- Pruebas de integración realizadas antes, durante y después de integrar un nuevo módulo en el paquete de software principal. Esto incluye probar cada módulo de código individual. Una sola pieza de software a menudo puede contener varios módulos que a menudo son creados por varios programadores diferentes. Es fundamental probar el efecto de cada módulo en el modelo general del programa.
- La prueba del sistema la realiza un agente de prueba profesional en el producto de software terminado antes de su comercialización.
- Prueba de aceptación: una prueba beta del producto que realmente realizan los usuarios finales.
Diferentes tipos de sistemas de pruebas de sistemas
Hay más de 50 tipos de pruebas de sistemas. Para obtener una lista exhaustiva de tipos de pruebas de software, haga clic en aquí. A continuación, enumeramos los tipos de sistemas que normalmente utilizaría una gran empresa de desarrollo de software.
- Pruebas de usabilidad.Se centra principalmente en la facilidad de uso de la aplicación, su flexibilidad en el manejo de los controles y la capacidad del sistema para lograr sus objetivos
- Prueba de carga. Necesita saber que una solución de software funcionará bajo cargas de la vida real.
- Pruebas de regresión. Se refiere a las pruebas realizadas para garantizar que ninguno de los cambios realizados durante el proceso de desarrollo dé lugar a nuevos defectos. También garantiza que no aparezcan errores antiguos al agregar nuevos módulos de software a lo largo del tiempo.
- Prueba de recuperación: se realiza para demostrar que una solución de software es confiable, digna de confianza y puede recuperarse exitosamente de posibles fallas.
- Se realizan pruebas de migración para garantizar que el software se pueda mover de infraestructuras de sistemas más antiguas a infraestructuras de sistemas existentes sin ningún problema.
- Prueba funcional: también conocida como prueba de integridad funcional, Pruebas funcionales se trata de intentar pensar en cualquier función que pueda faltar. Los probadores podrían hacer una lista de las funcionalidades adicionales que un producto puede tener para mejorarlo durante las pruebas funcionales.
- Pruebas de hardware / software: IBM se refiere a las pruebas de hardware / software como «Pruebas de HW / SW». Aquí es cuando el probador llama su atención sobre las interacciones entre el hardware y el software durante la prueba del sistema.
¿Qué tipos de pruebas de sistemas deben utilizar los tester?
Hay más de 50 tipos diferentes de pruebas de sistemas. Los tipos específicos utilizados por un probador dependen de una serie de variables. Estas variables incluyen:
- Para quién trabaja el tester: este es un factor importante para determinar los tipos de pruebas del sistema que utilizará un probador. Los métodos utilizados por las grandes empresas son diferentes a los métodos utilizados por las medianas y pequeñas empresas.
- Tiempo disponible para las pruebas: en última instancia, se podrían utilizar los 50 tipos de pruebas. A menudo es el momento que nos restringe a usar solo los tipos que son más relevantes para el proyecto de software.
- Recursos disponibles para el evaluador: por supuesto, algunos evaluadores no tendrán los recursos necesarios para realizar un tipo de prueba. Por ejemplo, si usted es un evaluador que trabaja para una gran empresa de desarrollo de software, es probable que otros tengan disponible un costoso software de prueba automatizado.
- Educación para probadores de software: existe una cierta curva de aprendizaje para todos los tipos de pruebas de software disponibles. Para usar parte del software en cuestión, un evaluador debe aprender a usarlo.
- Presupuesto de prueba: el dinero es un factor no solo para las empresas más pequeñas y los desarrolladores de software individuales, sino también para las grandes empresas.