CAPÍTULO TRES técnicas estáticas
SOLUCIONES DE EJERCICIO ejercicio EP / BVA
Lo primero que debe hacer es establecer exactamente cuáles son los límites entre la tarifa completa y tarifa ahorro.
Vamos a poner estos en una tabla para organizar nuestros pensamientos:
Hemos asumido que los valores límite son: las 9:29 am, 9:30 am, a las 4:00 de la tarde, 16:01, 7:30 y 07:31 p.m. Al establecer exactamente lo que pensamos que se entiende por la
especificación, podemos destacar algunas ambigüedades o, al menos, plantear algunas preguntas - este es uno de los beneficios de utilizar la técnica de! Por ejemplo:
"¿Cuándo comienza la hora punta de la mañana? ¿A la medianoche? A las 11:30 pm del día anterior? En el momento de el primer tren del día? Si es así, ¿cuándo es el primer tren? ¿5:00 de la mañana?'
Esta es una omisión más importante de la especificación. Podríamos hacer una suposición acerca de cuándo se inicia, pero sería mejor para averiguar lo que es correcto.
• Si un tren se debe dejar exactamente a las 4:00 pm es un boleto protector sigue siendo válido?
• ¿Qué pasa si un tren se debe dejar antes de las 4:00 pm, pero se retrasa hasta después de 16:00? Es un boleto protector todavía ¿válido? (Es decir, si la hora de salida real es diferente a la hora de salida programada)
Nuestra tabla anterior nos ha ayudado a ver dónde están las particiones. Todas las particiones de la tabla anterior son las particiones válidas. Puede ser que una partición no válida sería un tiempo que ningún tren estaba en marcha, por ejemplo, antes 5:00 am, pero nuestra especificación no mencionó que! Sin embargo, sería bueno mostrar esta posibilidad también. Podríamos ser un poco más formal haciendo una lista de todas las particiones y los límites válidos y no válidos en una mesa, ya que se describe en la Sección 4.3.1, pero en este caso que en realidad no añadir mucho, ya que todas las particiones son válidos.
Estos son los casos de prueba podemos extraer de este ejemplo:
Tenga en cuenta que los casos de prueba 1, 4, 7 y 10 se basan en valores de partición de equivalencia; los casos 2, 3, 5, prueba 6, 8 y 9 se basan en los valores de límite. También puede haber otra información sobre los casos de prueba, como condición previa ciones, que no hemos mostrados aquí.
ejercicio tabla de decisión
Los tipos de tarifas mencionadas incluyen una tarjeta de ferrocarril de los 60 más ', una tarjeta de ferrocarril de la familia, y si están viajando con un niño o no. Con tres condiciones o causas, tenemos ocho columnas en nuestra mesa de decisión siguiente.
Cuando llegamos a llenar los efectos, podemos encontrar esto un poco más difícil. Para las dos primeras reglas, por ejemplo, ¿cuál debe ser la salida? Es una X debido a la celebración de más de una tarjeta de carril no debe ser posi- ble? La especificación no dice qué pasa si alguien nos depara más de una tarjeta, es decir, No se ha especificado la salida, así que quizás hay que poner un signo de interrogación en esta columna. Por supuesto si alguien hace sostener dos tarjetas de carril, que probablemente no admitir esto, y tal vez iban a reclamar el 50% de descuento con su tarjeta de ferrocarril de la familia si están viajando con un niño, así que quizás deberían poner el 50% para la Regla 1 y 34% para la Regla 2 en esta columna. Nuestra notación muestra que no sabemos lo que el esperado resultado debe ser por estas reglas!
Esto pone de relieve el hecho de que nuestro lenguaje natural (Inglés) especificación no es muy clara en cuanto a lo que el efectos en realidad debería ser. Una de las ventajas de esta técnica es que obliga a una mayor claridad. Si las respuestas son deletreado hacia fuera en una tabla de decisión, entonces está claro cuál es el efecto debe ser. Cuando diferentes personas vienen con diferentes respuestas para las salidas, entonces usted tiene una especificación de claro!
La palabra 'en otro caso' en la especificación es ambigua. Significa "lo contrario" significa que siempre podemos encontrar en por lo menos un descuento del 10% o significa que si
viaja con un niño y un sobre de la tarjeta 60, pero no una familia la tarjeta se obtiene el 10% y el 34%? Dependiendo de lo supuesto de que realice por el significado de "lo contrario", se obtendrá una fila última diferente en su tabla de decisiones.
Tenga en cuenta que el efecto o la salida es la misma (34%) tanto para los artículos 3 y 4. Esto significa que nuestra tercera causa (Sea o no un niño también está viajando) en realidad no tiene influencia en la salida. Estas columnas podrían por lo tanto, ser combinado con 'no me importa' como entrada para la tercera causa. Este «racionalización» de la mesa significa que tendremos un menor número de columnas y, por tanto, un menor número de casos de prueba. La reducción en los casos de prueba se basa en la suposición de que estamos haciendo sobre el factor de tener ningún efecto en el resultado, por lo que una más completa enfoque sería incluir cada columna de la tabla.
Aquí hay una tabla racionalizado, donde hemos mostrado nuestras suposiciones acerca de los dos primeros resultados y nos También se han combinado los artículos 6 y 8, ya que tener una tarjeta de ferrocarril de la familia no tiene ningún efecto si no está Travel- ing con un niño.
Estos son los casos de prueba que nosotros sacamos de esta tabla. (Si no racionalizar la tabla, a continuación, se quiere tiene ocho casos de prueba en lugar de seis.) Tenga en cuenta que no necesariamente probar cada columna, pero la mesa le permite tomar una decisión sobre qué combinaciones para poner a prueba y cuáles no para poner a prueba esta vez.
Tenga en cuenta que es posible que hayamos planteado algunas cuestiones adicionales cuando diseñamos los casos de prueba. Por ejemplo, hace el descuento para una tarjeta de ferrocarril sólo se aplican a los viajeros o para alguien que viaja con ellos? Aquí tenemos supone que se aplica a todos los viajeros de ferrocarril de la tarjeta de la familia, pero al pasajero individual solamente para el mayores de 60 años tarjeta de ferrocarril.
el ejercicio de transición de estados
El diagrama de estados se muestra en la Figura 4.7. El estado inicial (SI) es cuando la cesta de la compra está vacía. Cuando Se añade un elemento a la cesta, se pasa al estado (S2), donde hay posibles compras. Algo adicional artículos añadidos a la cesta de no cambiar el estado (sólo el número total de lo que se compra). Los productos que pueden ser eliminado, lo que no cambia el estado a menos que el total de elementos ordenados va de 1 a 0. En este caso, volvemos a la cesta vacía (SI). Cuando queremos hacer la salida, nos vamos al estado de sumario (S3) para aprobación. Si la lista y los precios son aprobados, vamos al pago (S4); si no, volvemos al estado de compras (Posiblemente para eliminar algunos elementos para reducir el precio total que tenemos que pagar). Hay cuatro estados y siete transiciones. Tenga en cuenta que SI es nuestro Estado de inicio para este ejemplo y S4 es el estado final - esto significa que no estamos con- trate con cualquier evento que sucede una vez que lleguemos al estado S4.
Aquí está una prueba para cubrir todas las transiciones. Tenga en cuenta que el estado final de una etapa o evento es el estado de inicio de el siguiente evento, por lo que estos pasos se debe hacer en esta secuencia.
Aunque nuestro ejemplo no está interesado en lo que sucede a partir de Estado 4, habría otros eventos y acciones una vez que entramos en el proceso de pago que podría ser mostrado por otro diagrama de estado (por ejemplo, comprobar validez dad de la tarjeta de crédito, deduzca la cantidad, correo electrónico un recibo, etc.).
La tabla de estado correspondiente es:
Todas las cajas que contienen las transiciones - son válidos en este ejemplo. pruebas negativas ejemplo sería incluir:
• intento de añadir un artículo a partir del estado de resumen y el coste (S3) • tratar de eliminar un elemento de la cesta vacía de compras (SI)
• tratar de entrar en 'Aceptar', mientras que en el estado de compras (S2). Declaración y pruebas decisión ejercicio
El diagrama de flujo de control se muestra en la Figura 4.8. Tenga en cuenta que dibujar un diagrama de control ilustra aquí que la prueba estructural también se puede aplicar a la estructura de los procesos generales, no sólo a la computadora algoritmos. Los diagramas de flujo son generalmente fáciles de entender que el texto cuando se está tratando de describir la resultados de las decisiones tomadas en los acontecimientos posteriores.
En la Figura 4.9, podemos ver la ruta que las pruebas 1 y 2 han tomado a través de nuestro grafo de control de flujo.
Prueba 1 ha ido hacia abajo de la parte izquierda para seleccionar una bebida fría. Prueba 2 se ha ido a la derecha en cada oportunidad, añadiendo la leche y el azúcar a una bebida caliente.
Cada declaración (representado por una caja en el diagrama) ha sido cubierto por nuestros dos pruebas, por lo que tener una cobertura del 100% comunicado.
No hemos tomado el no haya salida ya sea de la leche? ' o "azúcar? ' decisiones, por lo que hay dos decisiones Los resultados que no hemos probado todavía. Hicimos prueba tanto de los resultados de la 'caliente o frío? decisión, por lo que hemos cubierto cuatro de los seis resultados de la decisión. la cobertura de decisión es 4/6 o 67% con los dos pruebas.
No se requieren pruebas adicionales para lograr la cobertura de sentencias, como ya tenemos una cobertura del 100% de Las declaraciones.
Se necesita un ensayo adicional para lograr una cobertura del 100% de decisión:
Prueba 3: Bebida caliente, sin leche, sin azúcar Este examen abarcará tanto resultado de la decisión del "no" de la leche y el azúcar decisiones, por lo que lo hará ahora tienen cobertura de decisión 100%.
CAPÍTULO CINCO