Pruebas de transición de estado con ejemplo
⚡ Resumen inteligente
Las pruebas de transición de estados son una técnica de caja negra que valida cómo una aplicación cambia de estado a medida que cambian las condiciones de entrada. Este tutorial explica las cuatro partes del diagrama, la diferencia entre diagramas de estados y tablas, y proporciona ejemplos prácticos de cajeros automáticos e inicios de sesión para los evaluadores.
¿Qué son las pruebas de transición estatal?
Pruebas de transición estatal Es una técnica de prueba de caja negra en la que los cambios en las condiciones de entrada provocan cambios de estado o de salida en la aplicación bajo prueba (AUT). Permite analizar el comportamiento de una aplicación ante diferentes condiciones de entrada, y los evaluadores pueden proporcionar valores de entrada positivos y negativos mientras registran el comportamiento del sistema.
Se basa en el modelo sobre el que se construyen el sistema y las pruebas. Cualquier sistema en el que se obtiene una salida diferente para la misma entrada, dependiendo de lo que haya ocurrido antes, es un sistema de estados finitos. La técnica de prueba de transición de estados es útil cuando se necesita probar diferentes transiciones del sistema.
¿Cuándo utilizar las pruebas de transición de estado?
- Cuando un evaluador está probando la aplicación con un conjunto finito de valores de entrada.
- Cuando el evaluador está probando una secuencia de eventos que ocurren en la aplicación bajo prueba, permite verificar el comportamiento de la aplicación para una secuencia de valores de entrada.
- Cuando el sistema bajo prueba depende de eventos o valores del pasado.
Cuándo no confiar en las pruebas de transición de estado
- Cuando la prueba no se realiza para combinaciones de entradas secuenciales.
- Cuando las pruebas se centran en diferentes funcionalidades, como en las pruebas exploratorias.
Cuatro partes de un diagrama de transición de estado
El modelo de transición de estados consta de cuatro componentes principales, que se describen a continuación.
1) Estados que el software podría alcanzar.
2) Transición de un estado a otro.
3) eventos que desencadenan una transición, como cerrar un archivo o retirar dinero.
4) Acciones que resultan de una transición, como un mensaje de error o la entrega de dinero en efectivo.
Diagrama de transición de estados frente a tabla de transición de estados
Existen dos formas principales de representar o diseñar la transición de estados: el diagrama de transición de estados y la tabla de transición de estados.
| Aspecto | Diagrama de transición de estado | Tabla de transición de estado |
|---|---|---|
| También llamado | Diagrama/Gráfico de estados | Tabla de estados |
| Representación | Boxes para estados, flechas para transiciones | Cuadrícula de estados (filas) y eventos (columnas) |
| Mejores para identificar | Transiciones válidas | Transiciones no válidas |
| Cada celda muestra | - | El estado alcanzado después de que ocurre un evento |
Cómo realizar una transición de estado (ejemplos)
Ejemplo 1: Bloqueo del PIN del cajero automático
Consideremos una función de un sistema de cajero automático en la que, si el usuario introduce una contraseña incorrecta tres veces, la cuenta se bloquea.
En este sistema, si el usuario introduce una contraseña válida en cualquiera de los tres primeros intentos, inicia sesión correctamente. Si introduce una contraseña incorrecta en el primer o segundo intento, se le pide que la vuelva a introducir. Finalmente, si introduce la contraseña incorrecta por tercera vez, la cuenta se bloquea.
Diagrama de transición de estados (Ejemplo 1)
En el diagrama, cuando el usuario introduce el PIN correcto, pasa al estado de Acceso concedido. Si introduce la contraseña incorrecta, pasa al siguiente intento, y si lo hace una tercera vez, se alcanza el estado de Cuenta bloqueada.
Tabla de transición de estados (Ejemplo 1)
| Estado | PIN correcto | PIN incorrecto |
|---|---|---|
| S1) Inicio | S5 | S2 |
| S2) 1er intento | S5 | S3 |
| S3) Segundo intento | S5 | S4 |
| S4) Tercer intento | S5 | S6 |
| S5) Acceso concedido | – | – |
| S6) Cuenta bloqueada | – | – |
En la tabla, cuando el usuario introduce el PIN correcto, el estado cambia a S5 (Acceso concedido). Si el usuario introduce una contraseña incorrecta, pasa al siguiente estado, y tras el tercer intento fallido, llega al estado de Cuenta bloqueada.
Ejemplo 2: Inicio de sesión para reserva de vuelo
En la pantalla de inicio de sesión de reserva de vuelo, debe ingresar el nombre de agente y la contraseña correctos para acceder a la solicitud de reserva de vuelo.
Gráfico de transición de estado
La aplicación permite tres intentos; si el usuario introduce la contraseña incorrecta en el cuarto intento, el sistema cierra la aplicación automáticamente.
El gráfico de estado le ayuda a determinar las transiciones válidas que deben probarse. Es obligatorio probar tanto con la contraseña correcta como con una incorrecta, y para el escenarios de pruebaSe podría probar el inicio de sesión en el segundo, tercer o cuarto intento. Puede utilizar una tabla de estados para determinar las transiciones del sistema que no sean válidas.
En una tabla de estados, todos los estados válidos se muestran a la izquierda y los eventos que los provocan en la parte superior. Cada celda indica el estado al que pasa el sistema cuando ocurre el evento. Por ejemplo, en el estado S1, una contraseña correcta lleva al estado S6 (Acceso concedido); una contraseña incorrecta en el primer intento lleva al estado S3 (Segundo intento). De igual forma, se pueden determinar todos los demás estados.
Mediante este método se resaltan dos estados no válidos. Supongamos que se encuentra en el estado S6 (ya ha iniciado sesión) y abre otra instancia de reserva de vuelo e introduce las contraseñas del mismo agente. Es necesario probar la respuesta del sistema ante este escenario.
Ventajas y desventajas de la técnica de transición estatal
| Ventajas | Desventajas |
|---|---|
| Proporciona una representación gráfica o tabular del comportamiento del sistema, ayudaping El evaluador cubre y comprende el sistema de manera efectiva. | No siempre es fiable; por ejemplo, no es adecuado para sistemas que no son finitos o secuenciales. |
| Permite al evaluador verificar que se cumplen todas las condiciones y que se registran los resultados. | Requiere definir todos los estados posibles. Esto funciona para sistemas pequeños, pero falla para sistemas más grandes debido al crecimiento exponencial del número de estados. |






