¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Probar código de IA con tus casos

Después de esta lección: Puedo probar el código de la IA con mis propios casos.

Lección de 50 minSin comandos

El cliente que pagó el envío

Una tienda online de Murcia regala el envío desde 50 €. Un cliente compra justo por 50 € y le cobran 4,95 €.

Escribe a atención al cliente, enfadado. El código lo hizo un asistente y alguien lo probó con 80 € y con 20 €. Nadie probó el caso de 50 €.

Al final de esta lección

Nota

Puedo probar el código de la IA con mis propios casos.

Palabras clave

PalabraQué significaEjemplo
Requisitolo que el código tiene que cumplir, dicho por el negocio
Caso de pruebauna entrada y el resultado que esperas
Resultado esperadolo que debe salir, según el requisito
Caso límiteuna entrada justo en el borde de una regla50 €
Caso extremouna entrada rara pero posible0 € o texto vacío

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El resultado esperado sale del requisito

Un caso de prueba tiene dos partes: la entrada y el resultado esperado.

El resultado esperado lo sacas del requisito, antes de ejecutar nada. Si primero ejecutas y luego decides, aceptarás lo que salga. El requisito de la tienda dice "desde 50 €". Por eso 50 € tiene que dar envío gratis.

Pruébalo: el envío gratis

Código: python
# Requisito: envío gratis en pedidos de 50 € o más. Si no, 4.95 €.
# El asistente escribió esta función.
def shipping_cost(total):
    if total > 50:
        return 0
    return 4.95

# Tus casos: el total del pedido y el resultado que esperas.
cases = [
    [80, 0, "normal: muy por encima"],
    [20, 4.95, "normal: por debajo"],
    [50, 0, "límite: justo 50"],
]
for case in cases:
    result = shipping_cost(case[0])
    if result == case[1]:
        print("BIEN ", case[2])
    else:
        print("FALLA", case[2], "esperaba", case[1], "y salió", result)

# Corrige la función para que pasen los tres casos.

Tres tipos de caso

Un caso normal es el de todos los días. Un caso límite está justo en el borde de una regla: 50 €, las 14 h, el día 31.

Un caso extremo es raro pero posible: cero, un número negativo, un texto vacío. El asistente suele acertar los normales. Los fallos se esconden en los límites y en los extremos.

Casos para el envío gratis

Total del pedidoTipoResultado esperado
80 €Normal0 €
20 €Normal4,95 €
50 €Límite0 €
49,99 €Límite4,95 €
0 €ExtremoNo lo dice el requisito: pregunta

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Pruébalo: escribe tus casos

Código: python
# Requisito: un pedido es urgente si se hizo antes de las 14 h.
# La hora llega como número entero, de 0 a 23.
def is_urgent(hour):
    return hour < 14

# Añade tus casos: la hora y el resultado que esperas (True o False).
# Escribe al menos un caso normal, uno límite y uno extremo.
cases = [
    [9, True],
]
for case in cases:
    print("hora", case[0], "esperaba", case[1], "salió", is_urgent(case[0]))

Un error frecuente

Advertencia

Mucha gente cree que basta con pedirle las pruebas al mismo asistente que escribió el código. Si entendió mal el requisito, sus pruebas repetirán el mismo error. Saca tú los resultados esperados del requisito.

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.