Está en la página 1de 27

Pruebas de Software

“No se puede probar


la calidad. Si no está
ahí antes de
comenzar las
pruebas, no estará
cuando termine de
probar”
Según Enfoque - Funcional

 Se centra en las funciones, entradas y salidas, criterios basados en las


interfaces y las especificaciones del Software.

Técnica
 Se centran en lo que se espera de un software, es
decir, intentan encontrar casos en que este no
cumple con su especificación.

 Por ello se denominan pruebas funcionales, y el


tester se limita a realizar pruebas sobre la interfaz
del programa, entendiendo por interfaz las
entradas y salidas de dicho programa, sin
preocuparse de lo que pueda estar haciendo el
software por dentro.
Según Enfoque - Funcional
Las pruebas se diseñan para responder a
las siguientes preguntas:
 ¿Cómo se prueba la validez
funcional?
 ¿Cómo se prueban el
comportamiento y el rendimiento del
sistema?
 ¿Qué clases de entrada harán buenos
casos de prueba?
 ¿El sistema es particularmente
sensible a ciertos valores de entrada?
 ¿Cómo se aíslan las fronteras de una
clase de datos?
 ¿Qué tasas y volumen de datos
puede tolerar el sistema?
 ¿Qué efecto tendrán sobre la
operación del sistema algunas
combinaciones específicas de datos?
Según Enfoque - Funcional

Caja Negra

 Análisis de
requerimientos
 Elaboración de Plan de
Pruebas
 Elaboración de Casos
de Pruebas
 Ejecución
 Elaboración Reporte de  Caso de Prueba
Cierre Conjunto de entradas, condiciones de ejecución
y resultados esperados desarrollados para evaluar
una funcionalidad del software.
PARTICIONES DE
EQUIVALENCIA
 Este método intenta dividir el
dominio de entrada de un
programa en un número
finito de clases de
equivalencia.
Objetivo
 Definición del menor número
de casos de prueba que
descubran clases de errores
Pasos
1. Identificar las clases de
equivalencia.
2. Identificar los casos de
prueba.
3. Se especifican los casos de
prueba
PARTICIONES DE
EQUIVALENCIA

Clase de Equivalencia Entradas Válidas : Generan un valor esperado

 Representa un conjunto de
estados válidos o inválidos
para condiciones de entrada
 Por lo general, una condición
de entrada es un valor
numérico específico, un rango
de valores, un conjunto de
valores relacionados o una
condición booleana.
Pueden definirse de acuerdo con
los siguientes lineamientos:
Entradas No Válidas : Generan un valor inesperado
PARTICIONES DE
EQUIVALENCIA

 Si una condición de entrada especifica


un rango, se define una clase de
equivalencia válida y dos inválidas.

Ejemplo: Un contador puede ir de 1 a 99

 Si una condición de entrada requiere


un valor específico, se define una
clase de equivalencia válida y dos
inválidas.

Ejemplo: No. de unidades que se


compran
PARTICIONES DE
EQUIVALENCIA
 Si una condición de entrada
especifica un miembro de un
conjunto, se define una clase de
equivalencia válida y una inválida.
Ejemplo: Hay 6 colores para escoger de
cierto modelo de auto y el
procesamiento de la orden de compra
no se altera por el color seleccionado.
 Si hay razones para creer que cada
uno de los miembros del conjunto
serán tratado de modo distinto por
el programa. Se define una clase de
equivalencia válida por cada
miembro y dos inválidas.
Ejemplo: El tipo de un vehículo puede
ser: autobús, camión, taxi, coche o
moto y el procesamiento de la orden de
compra se altera según el tipo de
vehículo seleccionado.
PARTICIONES DE
EQUIVALENCIA

 Si una condición de entrada


es booleana, se define una
clase válida y una inválida.

Ejemplo 1: El primer carácter del


identificador debe ser un dígito.

Ejemplo 2: Número que debe ser


de cinco dígitos.
ANÁLISIS DE VALOR
LIMITE
La técnica se enfoca en la identificación de los casos de prueba asociados con los valores
límites del dominio de la función tanto de entrada como de salida .

 Un valor en el limite inferior


del rango de entrada min
 Un valor por encima del
limite inferior min-
 Un valor valido dentro del
rango de entrada val
 Un valor por debajo del limite
superior max.-
 Un valor en el limite superior
del rango de entrada max.
ANÁLISIS DE VALOR
LIMITE
Ventajas
 La técnica reduce el número
de casos de pruebas que
deben ser creados y
ejecutados.
 Esta técnica permite elegir
un subconjunto de las
pruebas que son eficiente y
eficaces en encontrar no
conformidades.
 La experiencia muestra que
los casos de prueba que
exploran las condiciones
límite producen mejor
resultado que aquellos que
no lo hacen.
ANÁLISIS DE VALOR
LIMITE
DESVentajas

 No prueba todas las


entradas posibles.
 No prueba las
dependencias entre las
combinaciones de
entrada.
 No se puede identificar
qué porcentaje del
sistema ha sido
probado.
ANÁLISIS DE VALOR
LIMITE
 Si un parámetro de entrada  Si un parámetro de entrada
especifica un rango de especifica un número de
valores. Se diseñarán casos valores numéricos. Se diseñan
de prueba para los dos dos casos de prueba para los
límites del rango, y otros valores mínimo y máximo,
dos casos para situaciones además de otros dos casos de
justo por debajo y por prueba para valores justo
encima de los extremos. debajo del máximo y el
Ejemplo: Un contador puede mínimo.
ir de 1 a 99 Ejemplo: Hay 6 identificadores
de tipos de categorías [1, 2, 3, 4,
6 Casos de prueba: 0, 1, 2, 3,
5 y 6]
4, 5, 6, … , 97, 98, 99, 100
Casos de prueba: 0, 1, 2, 3, 4, 5,
6
ANÁLISIS DE VALOR
LIMITE

 Aplicar lineamientos 1 y  Si las estructuras de datos de programa


2 a condiciones de internos tienen fronteras prescritas, por
salida. Por ejemplo, ejemplo, una tabla que tenga un límite
suponga que como definido de 100 entradas), asegúrese de
salida de un programa diseñar un caso de prueba para revisar la
de análisis de ingeniería estructura de datos en su frontera.
se requiere una tabla
de temperatura contra
presión. Deben
diseñarse casos de
prueba para crear un
reporte de salida que
produzca el número
máximo (y mínimo)
permisible de entradas
de tabla.
PARTICIONES DE
EQUIVALENCIA
 Se examina cada condición de entrada y se divide en dos o más
grupos.
 Se identifican dos tipos de clases:

 Clases de equivalencia válidas


 Clases de equivalencia no válidas
PARTICIONES DE
EQUIVALENCIA
PARTICIONES DE
EQUIVALENCIA
PARTICIONES DE
EQUIVALENCIA
Tabla de Decisión
 Expresar sin ambigüedad un
problema y su solución.
 Representación matricial de
la lógica de decisiones, que
especifica las posibles
condiciones para la decisión y
las acciones resultantes.
Representación
 Cada columna de la tabla de
decisión representa una
REGLA
 CONDICIONES. La parte de la
tabla de decisiones que lista
las condiciones relevantes a la
decisión.
 ACCIÓN describen qué debe
hacerse cuando tales
condiciones están dadas.
Tabla de Decisión
 CONDICIONES. La parte de la tabla de decisiones que lista
las condiciones relevantes a la decisión.

 ACCIONES. La parte de la tabla de decisiones que lista las


acciones que resultan de un conjunto dado de condiciones.

 REGLAS. La parte de la tabla de decisión que especifica cuál


acción hay que seguir para un conjunto dado de
condiciones.

 CONDICIÓN INDIFERENTE. En una tabla de decisión, una


condición cuyo valor no afecta cuál acción hay que tomar
para dos o más reglas.
Tabla de Decisión
 De acuerdo con la regla 1, Si se
cumplen las condiciones 1 y 2 y No se
cumple la condición 3, deberán
emprenderse las acciones 1 y 4.
 De acuerdo con la regla 2, Si se
cumple la condición 1 y No se cumple
la condición 2 y se cumple la
condición 3, deberán emprenderse
las acciones 2 y 3.
 De acuerdo con la regla 3, No
cumpliéndose las condiciones 1 y 2 y
cumpliéndose la condición 3, se
realizarán las acciones 3 y 4.
Ejercicio
Elaboración de pruebas para detectar posibles errores en la construcción de los
identificadores de un hipotético lenguaje de programación. Las reglas que determinan sus
construcción son:
 No debe tener más de 20 ni menos de 3 caracteres.
 El juego de caracteres utilizables es:
 Letras (Mayúsculas y minúsculas)
 Dígitos (0,9)
 Guion (-)
 UnderLine (_)
 El guion no puede estar ni al principio ni al final, pero puede haber varios consecutivos.
 Debe contener al menos un carácter alfabético.
 No puede ser una de las palabras reservadas del lenguaje
 For – Exit for
 If – End If
 Case – End Case
 While – End While
Ejercicio
Cuando Ramon Valdez compra y paga a la empresa Jirafales y Cía. Ltda.
dentro de los próximos 30 días y la cantidad solicitada del producto no
supera el inventario, se realiza la factura con un descuento para luego
enviar la mercancía solicitada. Sin embargo, si el pago de la compra se
realiza después de este tiempo se realiza la factura sin descuento y se envía
la mercancía. Las mismas acciones si ejecutan si se trata del cliente nuevo
Florinda Mesa. Se hace lo mismo cualquiera sea el plazo de pago.
Si no existe la cantidad suficiente en inventario y se trata de un cliente de la
empresa que paga dentro de los primeros 30 días, se factura con
descuento, se realiza la entrega de la cantidad en stock y se deja pendiente
la cantidad faltante. Si el cliente fuera nuevo, no se realiza descuento. En
caso de que el pago no se realice dentro de los 30 días, cualquiera sea el
cliente se procedería de esta ultima manera.
Si un cliente nuevo (primera vez) solicita una cantidad mayor a la que hay
en inventario, cualquiera que sea el plazo de pago no se aplicara descuento
y se enviara la cantidad en bodega y dejando pendiente la faltante.
PRESSMAN, Roger. Ingeniería del software un enfoque práctico: séptima edición.
México. McGraw-Hill. 2010. Disponible en E-books 7-24. Página 423.

PRESSMAN, Roger. Ingeniería del software un enfoque práctico: séptima


edición. México. McGraw-Hill. 2010. Disponible en E-books 7-24. Páginas
414 a 422.