Unidad 2

Requisitos, criterios de aceptación y trazabilidad

Pruebas de software

Facultad de Informática Culiacán · Universidad Autónoma de Sinaloa

UAS - Pruebas de software

Al finalizar esta unidad podrás

2.1 Requisitos

Derivar requisitos funcionales, no funcionales y reglas de negocio verificables.

2.2 Casos, historias y criterios

Construir criterios de aceptación y escenarios a partir de casos de uso o historias de usuario.

2.3 Trazabilidad

Establecer relaciones requisito–prueba y prueba–defecto, y construir una matriz de trazabilidad.

UAS - Pruebas de software

Antes de empezar

En la Unidad 1 aprendiste por qué se prueba: para reducir riesgo y aumentar la confianza en el software.

Pero antes de poder probar algo, hace falta responder una pregunta previa:

¿qué, exactamente, debe probarse?

UAS - Pruebas de software

Una situación

Un equipo construye un formulario de registro de usuarios. Al entregarlo, alguien reporta que "no valida bien los correos". El equipo responde que "sí funciona, así lo pidieron". Nadie escribió, antes de construirlo, qué significaba "validar bien" un correo.

UAS - Pruebas de software

Pregunta orientadora

UAS - Pruebas de software

Mapa de la unidad

01 REQUISITOS

Qué debe hacer el
sistema y qué reglas
debe respetar.

02 CASOS Y CRITERIOS

Cómo se describe una
interacción y cuándo se
considera "cumplida".

03 TRAZABILIDAD

Cómo se relaciona cada
requisito con lo que se
probó de él.

UAS - Pruebas de software

El pipeline completo de la unidad

Pipeline: requisito, historia de usuario, criterio de aceptación, escenario, caso de prueba y matriz de trazabilidad

Cada flecha es un bloque de esta unidad, al final vas a recorrer este mismo camino dos veces con ejemplos distintos.

UAS - Pruebas de software

Para pensarlo antes de empezar

Retomando la situación del formulario de registro: ¿qué tendría que haber escrito el equipo, antes de construirlo, para que "validar bien un correo" fuera una condición verificable y no una opinión?

UAS - Pruebas de software

Bloque 1

Los requisitos como base de las pruebas

Antes de diseñar una prueba necesitamos saber:

¿Qué debe cumplir el producto y por qué?

UAS - Pruebas de software

¿Qué problema estamos intentando resolver?

Un equipo recibe la petición:

"Necesitamos que los estudiantes puedan inscribirse fácilmente a sus materias."

El equipo comienza a desarrollar.

Cuando entrega el sistema, alguien pregunta:

"¿Por qué no permite inscribirse a este estudiante?"

El desarrollador responde:

"Porque no cumple el prerrequisito."

El usuario responde:

"Pero eso nunca se había dicho."

El problema comenzó antes de programar.

No existía una definición suficientemente clara de lo que debía cumplirse.

UAS - Pruebas de software

Antes del requisito existe una necesidad

Necesidad

Expresa algo que un stakeholder necesita lograr o que debe resolverse.

Requisito

Expresa de forma precisa qué debe cumplirse para responder a esa necesidad.

Prueba

Proporciona evidencia de que una condición definida se cumple.

Basado en ISO/IEC/IEEE 29148 e INCOSE Needs and Requirements Manual.

UAS - Pruebas de software

De una necesidad a un requisito

Una necesidad todavía no es un requisito.

La necesidad expresa qué necesita lograr alguien.
El requisito expresa qué condición debe cumplir la solución para responder a esa necesidad.

Necesidad

El estudiante necesita saber si todavía puede cancelar su inscripción.

Requisito

El sistema deberá informar si la cancelación se encuentra dentro del plazo permitido.

Verificación

Comprobar el comportamiento cuando la solicitud ocurre antes, exactamente en y después del límite.

UAS - Pruebas de software

¿De dónde vienen los requisitos?

Stakeholders

Usuarios, clientes, administradores, operadores y otras personas afectadas por el producto.

Negocio y procesos

Objetivos, políticas, procedimientos, reglas y restricciones de la organización.

Entorno

Leyes, reglamentos, normas, contratos, riesgos y condiciones externas.

Arquitectura y tecnología

Restricciones, interfaces, plataformas y decisiones que condicionan la solución.

Riesgos

Amenazas, fallos potenciales, seguridad, privacidad y continuidad.

Otros requisitos

Requisitos de niveles superiores que deben transformarse o descomponerse.

Un requisito debe poder responder una pregunta fundamental:

¿De dónde salió y qué necesidad o condición justifica que exista?

UAS - Pruebas de software

¿Quién define un requisito?

No existe una única persona que "escriba todos los requisitos".

La definición de requisitos es una actividad colaborativa en la que participan diferentes stakeholders y responsables del producto.

Participante Contribución posible
Cliente / negocio Necesidades y objetivos
Usuario Necesidades operativas
Analista / ingeniería de requisitos Elicitación, análisis y documentación
Product Owner Valor, alcance y prioridades
Seguridad Requisitos de protección y controles
Área legal Obligaciones regulatorias
Arquitectura Restricciones e interfaces
Pruebas Verificabilidad, ambigüedades y cobertura

Importante: quien redacta un requisito no necesariamente es quien tiene autoridad para decidir que esa necesidad es obligatoria.

UAS - Pruebas de software

Necesidad, requisito y decisión técnica

Necesidad

El estudiante necesita conocer por qué no puede inscribirse.

Requisito

El sistema debe informar la condición que impide completar la inscripción.

Implementación

El equipo decide mostrar el motivo mediante un mensaje en pantalla.

No debemos confundir qué necesita cumplirse con cómo decidimos implementarlo.

UAS - Pruebas de software

Los requisitos existen en diferentes niveles

01 NEGOCIO

¿Qué necesita lograr la organización?

02 STAKEHOLDER

¿Qué necesita el usuario o actor involucrado?

03 SISTEMA

¿Qué debe cumplir la solución?

04 SOFTWARE

¿Qué debe cumplir el componente de software?

Un requisito debe redactarse en el nivel de abstracción apropiado. No todo requisito tiene como sujeto al "sistema" y no todo requisito debe describir una decisión técnica.

ISO/IEC/IEEE 29148; INCOSE Systems Engineering Handbook.

UAS - Pruebas de software

Un mismo problema visto en diferentes niveles

Necesidad del stakeholder

El estudiante necesita conocer oportunamente por qué no puede completar una inscripción.

Requisito del sistema

La solución debe informar la condición que impide completar la inscripción.

Requisito de software

El módulo de inscripción debe mostrar el prerrequisito incumplido cuando la validación falle.

Implementación

El equipo decide mostrar un mensaje junto al botón "Inscribirme".

Cada nivel responde una pregunta diferente.

Necesidad → qué se necesita.
Requisito → qué debe cumplirse.
Diseño → cómo se realizará.

UAS - Pruebas de software

¿Qué es un requisito?

Un requisito es una expresión precisa de una necesidad, condición o restricción que debe satisfacerse.

Capacidad

Algo que el producto debe hacer o proporcionar.

Característica

Una propiedad o nivel de calidad que debe alcanzarse.

Restricción

Una condición, regla o limitación que debe respetarse.

Para que sea útil para pruebas, el requisito debe permitir determinar objetivamente si se cumple.

UAS - Pruebas de software

¿Por qué muchos requisitos utilizan "shall"?

INCOSE recomienda utilizar shall en una declaración formal de requisito para indicar que se trata de una condición obligatoria que será objeto de verificación.

Ejemplo

The system shall allow an authenticated student to submit an enrollment request.

En español podemos expresarlo como:

El sistema deberá permitir que un estudiante autenticado envíe una solicitud de inscripción.

"Debe", "deberá" o "shall" no convierten mágicamente una frase en un buen requisito. La declaración todavía debe ser necesaria, correcta, clara, factible y verificable.

INCOSE Guide to Writing Requirements v4, 2023.

UAS - Pruebas de software

"Debe" no es la definición de requisito

Redacción Problema
El sistema debe ser fácil de usar "Fácil" no está definido
El sistema debe funcionar rápido "Rápido" no es medible
El sistema debe manejar errores correctamente No define qué significa correctamente
El sistema debe permitir la inscripción Puede faltar información sobre las condiciones

La pregunta no es:

"¿Tiene la palabra debe?"

La pregunta es:

"¿Podemos determinar con precisión qué condición debe cumplirse?"

UAS - Pruebas de software

Del lenguaje cotidiano al requisito

Petición

"La inscripción debe ser rápida y sencilla."

Pregunta del analista

¿Qué significa "rápida"? ¿Para quién? ¿En qué condiciones? ¿Cómo se medirá?

Posible requisito

El sistema deberá mostrar los grupos disponibles en un tiempo máximo
de 2 segundos bajo una carga de hasta 100 usuarios concurrentes.

La segunda redacción proporciona una condición que posteriormente puede
ser verificada.

UAS - Pruebas de software

¿Qué hace que un requisito esté bien formado?

Necesario

Existe una razón que justifica su existencia.

Correcto

Representa adecuadamente la necesidad o fuente de la que proviene.

Claro

Puede interpretarse de una sola manera razonable.

Factible

Puede cumplirse dentro de las restricciones conocidas.

Verificable

Puede demostrarse objetivamente si se cumple.

Trazable

Puede relacionarse con su fuente y con la evidencia correspondiente.

Características sintetizadas a partir de INCOSE GtWR y Systems Engineering Handbook.

UAS - Pruebas de software

Un requisito no se evalúa solo

Un requisito puede estar bien escrito individualmente y aun así formar
parte de un conjunto de requisitos defectuoso.

Requisito individual

¿Es claro? ¿Es necesario? ¿Es correcto? ¿Es verificable? ¿Es factible?

Conjunto de requisitos

¿Está completo? ¿Es consistente? ¿Hay duplicados? ¿Hay contradicciones? ¿Cubren las necesidades?

La calidad debe revisarse tanto requisito por requisito como sobre el
conjunto completo.

UAS - Pruebas de software

Ejemplo: dos requisitos que se contradicen

ID Requisito
RF-01 El sistema deberá permitir cancelar una inscripción hasta 24 horas antes del inicio del curso.
RF-02 El sistema deberá permitir cancelar una inscripción en cualquier momento antes del inicio del curso.

Ambos requisitos pueden parecer claros individualmente.

Juntos son inconsistentes.

La revisión de requisitos debe detectar contradicciones antes de que se
conviertan en problemas de diseño o pruebas.

UAS - Pruebas de software

Ejemplo: un requisito incompleto

El sistema deberá enviar una notificación al estudiante.

¿En qué situación?

¿A quién exactamente?

¿Por qué medio?

¿En cuánto tiempo?

¿Qué información debe contener?

¿Qué ocurre si el envío falla?

No necesariamente debemos agregar toda esa información dentro de una
sola frase. Debemos determinar qué condiciones son necesarias para que
el requisito pueda entenderse y verificarse
.

UAS - Pruebas de software

Ejemplo: requisito demasiado grande

El sistema deberá permitir al estudiante consultar materias,
seleccionar grupos, validar prerrequisitos, verificar disponibilidad,
registrar la inscripción y enviar una confirmación por correo.

Aquí aparecen varios comportamientos diferentes.

Conviene descomponerlos para facilitar su análisis, diseño, verificación
y trazabilidad.

UAS - Pruebas de software

Descomposición del requisito

ID Requisito
RF-01 El sistema deberá mostrar las materias disponibles para el estudiante.
RF-02 El sistema deberá mostrar los grupos disponibles de una materia.
RF-03 El sistema deberá validar los prerrequisitos de la materia.
RF-04 El sistema deberá verificar la disponibilidad de lugares.
RF-05 El sistema deberá registrar la inscripción cuando las condiciones se cumplan.
RF-06 El sistema deberá enviar una confirmación después de registrar la inscripción.

La descomposición permite que cada condición pueda analizarse y
verificarse de manera independiente cuando corresponda.

UAS - Pruebas de software

Funcional, calidad y restricciones

Funcional

Describe un comportamiento o capacidad.

¿Qué debe hacer?

Calidad

Describe una característica o nivel de desempeño.

¿Qué tan bien debe hacerlo?

Restricción

Limita las soluciones posibles o establece una condición obligatoria.

¿Qué debe respetar?

Estas categorías ayudan a analizar los requisitos, pero no deben
entenderse como compartimentos completamente aislados.

UAS - Pruebas de software

Las cuatro categorías típicas de calidad (no funcionales)

Rendimiento

La consulta de grupos deberá responder en menos de 2 segundos bajo la carga definida.

Seguridad

La contraseña debe almacenarse cifrada, nunca en texto plano.

Usabilidad

Un estudiante de primer ingreso deberá poder completar una inscripción sin ayuda externa en un máximo de 3 intentos.

Disponibilidad

El sistema de inscripción deberá estar disponible al menos el 99% del tiempo durante el periodo oficial de inscripciones.

El programa oficial (contenido 2.1.2) identifica estas cuatro categorías como ejemplos de requisitos no funcionales — no son las únicas posibles, pero son el punto de partida del Laboratorio 1.

UAS - Pruebas de software

Ejemplo integrado: inscripción

Tipo Requisito
Funcional El sistema deberá registrar una inscripción cuando el estudiante cumpla las condiciones requeridas.
Calidad La consulta de grupos deberá responder en menos de 2 segundos bajo la carga definida.
Restricción Un estudiante no podrá inscribirse si no cumple los prerrequisitos.

Ahora tenemos tres cosas diferentes que probar.

El comportamiento, la característica de calidad y la restricción.

UAS - Pruebas de software

¿Dónde quedan los requisitos de seguridad?

La seguridad puede expresarse como:

Función de seguridad

Bloquear una cuenta después de cinco intentos fallidos.

Propiedad de seguridad

Proteger las credenciales de autenticación.

Restricción

No almacenar contraseñas en texto plano.

Auditoría

Registrar los eventos relevantes de autenticación.

La seguridad puede generar requisitos funcionales, requisitos de calidad,
restricciones y requisitos derivados de políticas, riesgos o regulación.

UAS - Pruebas de software

Ejemplo: derivar un requisito de seguridad

01 NECESIDAD

El usuario necesita recuperar su cuenta.

02 RIESGO

Un atacante podría descubrir qué correos están registrados.

03 REQUISITO

No revelar si un correo existe.

04 PRUEBA

Comparar la respuesta para correos registrados y no registrados.

Los requisitos de seguridad pueden derivarse de riesgos y amenazas,
no solamente de solicitudes explícitas de los usuarios.

UAS - Pruebas de software

Ejemplo aplicado: recuperación de contraseña

Situación

Un usuario solicita recuperar su contraseña mediante su correo.

Riesgo

Un atacante podría utilizar la respuesta del sistema para descubrir
qué cuentas existen.

Requisito

El sistema deberá mostrar el mismo mensaje de respuesta tanto para
una dirección registrada como para una dirección no registrada.

Criterio verificable

Dado un correo registrado y uno no registrado, cuando se solicita la
recuperación, entonces ambos deben producir una respuesta equivalente
que no revele la existencia de la cuenta.

UAS - Pruebas de software

Otro requisito de seguridad

Situación

Un atacante puede intentar repetidamente autenticarse.

Riesgo

Ataques de fuerza bruta contra las cuentas.

Requisito

El sistema deberá bloquear temporalmente una cuenta después de cinco
intentos consecutivos de autenticación fallidos.

Criterio verificable

Dado un usuario activo, cuando se realizan cinco intentos consecutivos
con credenciales incorrectas, entonces el sistema deberá impedir nuevos
intentos durante el periodo definido.

UAS - Pruebas de software

Los requisitos también pueden provenir de la regulación

Una obligación legal o normativa puede convertirse en una fuente de
requisitos para el producto.

Fuente

Regulación, contrato, norma o política.

Necesidad

La organización debe cumplir una obligación.

Requisito

La solución debe implementar las condiciones necesarias para demostrar ese cumplimiento.

La fuente debe conservarse para poder responder posteriormente:

¿Por qué existe este requisito?

UAS - Pruebas de software

La trazabilidad comienza antes de la prueba

Requisito Fuente Justificación
RF-01 Necesidad del estudiante Permitir solicitar inscripción
RN-01 Política académica Respetar prerrequisitos
RS-01 Análisis de riesgo No revelar cuentas existentes
RNF-01 Objetivo de desempeño Respuesta dentro del tiempo definido

La trazabilidad no significa solamente:

requisito → prueba

También puede comenzar como:

fuente → necesidad → requisito → prueba → evidencia

UAS - Pruebas de software

¿Cómo sabemos que un requisito está bien?

No lo decidimos solamente porque "suena bien".

Lo sometemos a verificación y validación de requisitos.

Verificación del requisito

¿Está bien escrito y posee las características necesarias para ser un requisito adecuado?

Validación del requisito

¿Representa realmente la necesidad que debía satisfacerse?

Aquí todavía estamos evaluando el requisito, no ejecutando el
software.

INCOSE Needs and Requirements Manual, capítulos 5 y 7.

UAS - Pruebas de software

Verificación vs. validación

Verificación

¿El requisito está expresado correctamente?

  • ¿Es claro?
  • ¿Es verificable?
  • ¿Es factible?
  • ¿Es consistente?

Validación

¿Es el requisito correcto?

  • ¿Representa la necesidad?
  • ¿Tiene una fuente válida?
  • ¿Es necesario?
  • ¿Conduce a la solución que se necesita?
UAS - Pruebas de software

¿Cómo se revisan los requisitos?

Revisión

Personas expertas examinan los requisitos y buscan defectos.

Checklist

Se comprueba sistemáticamente cada característica esperada.

Escenarios

Se recorren situaciones reales para descubrir omisiones y ambigüedades.

Prototipos

Se utiliza una representación para validar expectativas con stakeholders.

Trazabilidad

Se comprueba de dónde viene cada requisito y qué otros elementos depende.

Pruebas derivadas

Se analiza si puede definirse una forma objetiva de verificarlo.

UAS - Pruebas de software

Checklist de revisión de un requisito

Pregunta Resultado
¿Tiene una fuente identificada? ☐
¿Es necesario? ☐
¿Es correcto respecto a su fuente? ☐
¿Es claro y no ambiguo? ☐
¿Es completo para su propósito? ☐
¿Es consistente con los demás? ☐
¿Es factible? ☐
¿Es verificable? ☐
¿Tiene un identificador único? ☐
¿Puede trazarse hasta su origen? ☐

El checklist no sustituye el análisis. Ayuda a hacerlo sistemáticamente.

UAS - Pruebas de software

Aplicación: revisar un requisito defectuoso

RF-07: El sistema deberá permitir que el estudiante se inscriba
rápidamente a cualquier materia que necesite.

Encuentra los problemas

¿Qué significa rápidamente?

No hay métrica.

¿Cualquier materia?

Ignora restricciones y prerrequisitos.

¿Qué significa necesite?

No existe una condición objetiva.

UAS - Pruebas de software

Mejorar el requisito

RF-07

El sistema deberá permitir al estudiante solicitar la inscripción a
una materia disponible cuando cumpla los prerrequisitos establecidos.

Ahora podemos identificar

Actor, acción, condición y resultado esperado.

Pero todavía debemos preguntar

¿Qué significa "disponible"? ¿Cómo se comunica el resultado? ¿Existe alguna otra condición?

Un requisito mejor redactado no necesariamente está terminado.

La revisión puede descubrir nuevas preguntas.

UAS - Pruebas de software

Un requisito puede generar otros requisitos

↓

Regla

El estudiante debe cumplir los prerrequisitos.

Restricción

No debe excederse la capacidad del grupo.

Seguridad

Solo un usuario autenticado puede solicitar la inscripción.

Una necesidad puede producir un conjunto de requisitos relacionados.

Por eso también debemos evaluar el conjunto y no solamente cada frase.

UAS - Pruebas de software

Requisitos de seguridad: una visión más completa

01 ACTIVO

¿Qué debemos proteger?

02 AMENAZA

¿Qué podría salir mal?

03 RIESGO

¿Qué impacto tendría?

04 REQUISITO

¿Qué condición debe cumplirse?

Ejemplo

Activo: cuenta del estudiante
Amenaza: fuerza bruta
Riesgo: acceso no autorizado
Requisito: bloquear temporalmente después de cinco intentos fallidos

UAS - Pruebas de software

Del requisito a la prueba

01 REQUISITO

Bloquear después de 5 intentos.

02 CRITERIO

El quinto intento produce bloqueo.

03 ESCENARIO

Credenciales incorrectas cinco veces.

04 PRUEBA

Comprobar que el sexto intento sea rechazado.

Aquí comienza a aparecer la relación que trabajaremos en los siguientes
bloques:

Requisito → criterio → escenario → caso de prueba → evidencia

UAS - Pruebas de software

¿Qué debe poder responder un buen requisito?

Al terminar de analizar un requisito deberíamos poder responder:

¿Qué?

¿Qué condición debe cumplirse?

¿Para quién?

¿Qué stakeholder o actor está involucrado?

¿Por qué?

¿Qué necesidad, riesgo, regla o fuente lo justifica?

¿Cómo sabremos?

¿Qué evidencia permitirá determinar que se cumple?

UAS - Pruebas de software

Banco de necesidades para construir requisitos

Una necesidad describe algo que un stakeholder necesita lograr, conocer,
proteger o controlar
. A partir de ella, el equipo puede derivar requisitos.

Contexto Necesidad
Biblioteca El estudiante necesita saber si un libro está disponible antes de acudir a solicitarlo.
Compras El cliente necesita conocer el estado de su pedido sin contactar al soporte.
Transporte El pasajero necesita conocer si su ruta tendrá servicio en el horario seleccionado.
Eventos El organizador necesita controlar el número de asistentes registrados.
Clínica El paciente necesita recibir confirmación de su cita y conocer cuándo debe acudir.
Restaurante El cliente necesita saber si su pedido fue recibido y en qué estado se encuentra.
Plataforma educativa El estudiante necesita conocer qué actividades tiene pendientes y sus fechas límite.
Soporte técnico El usuario necesita saber qué ocurrió con la solicitud que reportó.

No conviertas directamente estas frases en historias de usuario.

Primero identifica:

stakeholder → necesidad → requisito → interacción → criterio de aceptación

UAS - Pruebas de software

Actividad: detectar requisitos defectuosos

Analiza los siguientes requisitos y marca qué problema presentan:

Requisito Problema
"El sistema debe ser muy rápido."
"El sistema debe manejar correctamente los errores."
"El sistema debe hacer todo lo necesario para registrar usuarios."
"El sistema debe permitir el acceso seguro."
"El sistema debe permitir cancelar y modificar y consultar y eliminar..."

No los corrijas todavía.

Primero identifica qué característica del requisito está fallando.

UAS - Pruebas de software

Actividad: transformar requisitos

Selecciona dos de los requisitos anteriores.

Para cada uno:

  1. identifica la ambigüedad o problema;
  2. determina qué información falta;
  3. identifica una posible fuente o stakeholder;
  4. redacta una nueva versión;
  5. explica cómo podría verificarse.
UAS - Pruebas de software

Laboratorio 1 — requisitos y reglas de negocio

A partir del proyecto base asignado a tu equipo:

1. Identifica fuentes

Usuarios, negocio, políticas, riesgos, regulación u otras fuentes relevantes.

2. Identifica necesidades

¿Qué necesita lograr cada stakeholder?

3. Deriva requisitos

Redacta requisitos funcionales, de calidad y restricciones relevantes.

4. Identifica reglas de negocio

¿Qué condiciones del dominio deben respetarse?

5. Identifica requisitos de seguridad

¿Qué activos, amenazas o riesgos generan condiciones que el sistema debe cumplir?

UAS - Pruebas de software

Laboratorio 1 — revisión de calidad

Antes de entregar tus requisitos, revisa cada uno:

Criterio ¿Cumple?
Tiene ID único ☐
Tiene fuente identificada ☐
Es necesario ☐
Es claro ☐
Es consistente ☐
Es factible ☐
Es verificable ☐
Puede trazarse ☐
Tiene criterios suficientes para probarlo ☐

No entregues solamente una lista de requisitos.

Entrega también la evidencia de que fueron revisados.

UAS - Pruebas de software

Del Bloque 1 al Bloque 2

Ahora necesitamos convertir esos requisitos en condiciones que permitan
decidir cuándo una funcionalidad puede considerarse aceptada.

Bloque 1

Necesidades y requisitos

Bloque 2

Criterios y escenarios

Bloque 3

Trazabilidad

UAS - Pruebas de software

Bloque 2

Casos de uso, historias de usuario y criterios de aceptación

UAS - Pruebas de software

Caso de uso

Un caso de uso describe una interacción completa entre un actor y el sistema: incluye un flujo principal y, cuando corresponde, flujos alternativos.

Ejemplo: actor "visitante"; flujo principal: envía datos válidos → el sistema crea la cuenta.

UAS - Pruebas de software

¿Dónde se define un caso de uso y cuándo se usa?

¿Dónde se define?

En la etapa de análisis de requisitos, normalmente por quien levanta y documenta el requerimiento; queda registrado en la especificación de requisitos del sistema.

¿Cuándo conviene usarlo?

Procesos con varios flujos alternos, varios actores, o contextos donde se necesita documentación formal y detallada.

UAS - Pruebas de software

Necesidades para construir casos de uso

A partir de una necesidad, identifica:

actor → objetivo → interacción → resultado

Contexto Necesidad
Biblioteca El estudiante necesita solicitar un libro que desea consultar.
Compras El cliente necesita solicitar la devolución de un producto recibido en malas condiciones.
Educación El profesor necesita registrar las calificaciones de sus estudiantes.
Eventos El organizador necesita cancelar una inscripción cuando el evento fue suspendido.
Transporte El pasajero necesita consultar si una ruta tiene servicio en una fecha determinada.
Soporte El usuario necesita consultar el estado de un reporte que ya registró.
UAS - Pruebas de software

Preguntas para construir el caso de uso

  1. ¿Quién tiene la necesidad?
  2. ¿Qué objetivo quiere alcanzar?
  3. ¿Con qué sistema interactúa?
  4. ¿Cuál es el flujo principal?
  5. ¿Qué puede salir diferente?
  6. ¿Qué resultado debe producirse?
UAS - Pruebas de software

¿Qué resuelve un caso de uso para las pruebas?

Le da al equipo de pruebas el flujo principal y los flujos alternativos completos de una interacción, de donde derivar escenarios sin tener que adivinar comportamientos que nadie describió por escrito.

UAS - Pruebas de software

Ejemplo completo: préstamo de un libro en biblioteca

Un estudiante desea solicitar el préstamo de un libro disponible en la biblioteca universitaria.

Actor principal

Estudiante

Sistema

Sistema de biblioteca

Objetivo

Registrar el préstamo cuando se cumplen las condiciones.

UAS - Pruebas de software

Ejemplo completo: préstamo de un libro en biblioteca

Flujo principal

  1. El estudiante se identifica.
  2. El sistema consulta su situación.
  3. El estudiante selecciona un libro disponible.
  4. El sistema verifica las condiciones de préstamo.
  5. El sistema registra el préstamo.
  6. El sistema informa la fecha de devolución.

Flujos alternativos

  • El libro no está disponible.
  • El estudiante tiene préstamos vencidos.
  • El estudiante alcanzó el límite de préstamos.
  • El ejemplar requiere una condición especial de consulta.
UAS - Pruebas de software

¿Quién es el actor?

Un actor es un rol externo que interactúa con el sistema para alcanzar un objetivo.

Actor

Estudiante

Está fuera del sistema y solicita una acción.

Sistema

Sistema de biblioteca

Es el sistema que estamos describiendo; no es un actor de sí mismo.

Actor posible

Sistema de pagos / servicio externo

Podría ser actor si existe una interacción externa con el sistema de biblioteca.

La biblioteca como organización no es automáticamente un actor.

Si una persona que trabaja en la biblioteca interactúa con el sistema, el actor puede ser Bibliotecario.

Si otro sistema externo intercambia información con nuestro sistema, ese sistema puede modelarse como actor externo.

UAS - Pruebas de software

Actor, sistema y organización no son lo mismo

Actor

Rol externo que interactúa con el sistema.

Ejemplos:
Estudiante
Bibliotecario
Administrador

Sistema bajo estudio

La solución cuyo comportamiento estamos describiendo.

Ejemplo:
Sistema de biblioteca

Sistema externo

Otro sistema que interactúa con el sistema bajo estudio.

Ejemplo:
Servicio de correo

El nombre "biblioteca" puede referirse a una organización, un lugar o un sistema. Para identificar un actor debemos describir el rol que interactúa externamente con el sistema.

UAS - Pruebas de software

Más ejemplos de casos de uso

Actor Caso de uso (resumen)
Cliente Solicitar devolución de un producto: indica el motivo → el sistema genera una guía de devolución
Administrador Desactivar una cuenta de usuario: confirma la desactivación → el sistema revoca el acceso
Huésped Reservar una habitación: elige fechas y tipo de habitación → el sistema confirma la disponibilidad y genera la reserva
UAS - Pruebas de software

Actividad guiada — construir un caso de uso

Selecciona una de las siguientes necesidades:

Opción Necesidad
A El estudiante necesita solicitar un libro disponible en la biblioteca.
B El cliente necesita solicitar la devolución de un producto.
C El usuario necesita consultar el estado de un reporte de soporte.
D El profesor necesita registrar una calificación.
UAS - Pruebas de software

Construye

1. Actor principal
¿Quién tiene el objetivo?

2. Sistema
¿Con qué sistema interactúa?

3. Objetivo
¿Qué quiere conseguir?

4. Flujo principal
Escribe entre 4 y 6 pasos.

5. Dos flujos alternativos
¿Qué puede impedir o modificar el flujo principal?

6. Resultado
¿Qué debe quedar registrado o informado?

No necesitas dibujar todavía un diagrama UML.

Primero aprende a describir correctamente la interacción.

UAS - Pruebas de software

Historia de usuario

Una historia de usuario (user story) describe la misma interacción en un formato breve, orientado al valor para el usuario:

Como visitante del sitio
quiero registrarme con mi nombre, correo y contraseña
para poder acceder a mi cuenta personal

UAS - Pruebas de software

¿Dónde se define una historia de usuario y cuándo se usa?

¿Dónde se define?

En el backlog del producto, normalmente redactada o priorizada por quien representa al negocio frente al equipo, junto con el equipo de trabajo.

¿Cuándo conviene usarla?

Equipos con iteraciones cortas, donde se prioriza entregar valor incremental sobre documentación exhaustiva.

UAS - Pruebas de software

Más ejemplos de historias de usuario

Como cliente frecuente
quiero ver mi historial de pedidos
para repetir fácilmente una compra anterior

Como usuario que olvidó su contraseña
quiero restablecerla desde mi correo
para recuperar el acceso sin contactar a soporte

UAS - Pruebas de software

Del caso de uso a la historia de usuario

Una misma necesidad puede expresarse de forma más detallada mediante un caso de uso o de forma breve mediante una historia de usuario.

Necesidad

El estudiante necesita saber si un libro está disponible antes de acudir a la biblioteca.

Historia de usuario

Como estudiante
quiero consultar la disponibilidad de un libro
para saber si puedo solicitarlo antes de acudir a la biblioteca.

Caso de uso

Consultar disponibilidad de libro

Actor: estudiante

Resultado: el sistema informa si existen ejemplares disponibles.

UAS - Pruebas de software

Caso de uso vs. historia de usuario

Caso de uso Historia de usuario
Formato Actor, flujo principal, flujos alternos Como / quiero / para
Extensión Más detallado Breve
Uso típico Documentación formal Equipos ágiles

No son intercambiables ni equivalentes — son dos formas distintas de llegar al mismo insumo: qué debe cumplir el sistema.

UAS - Pruebas de software

Actividad guiada — construir historias de usuario

Transforma una de estas necesidades en una historia de usuario usando:

Como [rol], quiero [objetivo], para [valor].

Contexto Necesidad
Biblioteca El estudiante necesita conocer la fecha límite para devolver un libro.
Compras El cliente necesita recibir información cuando su pedido cambie de estado.
Educación El estudiante necesita saber qué actividades tiene pendientes.
Soporte El usuario necesita conocer la respuesta de su solicitud.
Eventos El asistente necesita cancelar su registro antes de la fecha permitida.

Después revisa

  • ¿El rol está claro?
  • ¿El objetivo representa una necesidad?
  • ¿El "para" expresa valor?
  • ¿La historia describe qué necesita el usuario y no cómo implementarlo?
UAS - Pruebas de software

¿Cuál elegir?

No es una elección exclusiva: algunos equipos usan ambos formatos según el tipo de funcionalidad. La pregunta que orienta la elección es: ¿necesito documentación formal para un proceso con varios flujos alternos (caso de uso), o priorizar valor incremental en iteraciones cortas (historia de usuario)? En cualquiera de los dos casos, el insumo que sigue es el mismo: los criterios de aceptación.

UAS - Pruebas de software

Criterios de aceptación

Un criterio de aceptación es una condición verificable que determina cuándo una historia o caso de uso se considera cumplido.

Dado que el visitante no tiene cuenta,

cuando envía un nombre, un correo válido no registrado antes y una contraseña que cumple la política,

entonces el sistema crea la cuenta y confirma el registro.

UAS - Pruebas de software

Actividad guiada — convertir una historia en criterios

Historia

Como estudiante
quiero consultar la disponibilidad de un libro
para saber si puedo solicitarlo antes de acudir a la biblioteca.

Criterio positivo

¿Qué ocurre cuando el libro tiene ejemplares disponibles?

Criterio negativo

¿Qué ocurre cuando no hay ejemplares disponibles?

Criterio alterno

¿Qué ocurre si el libro está reservado o tiene una condición especial?

Construye tres criterios

Dado que...
Cuando...
Entonces...

Primero piensa en el comportamiento. Después escribe la frase.

UAS - Pruebas de software

Ampliación — formato Gherkin (Given-When-Then)

El formato dado–cuando–entonces que usas en esta unidad corresponde al lenguaje Gherkin, ampliamente usado en la industria dentro del desarrollo guiado por comportamiento (Behavior-Driven Development, BDD): Given–When–Then. El programa oficial de esta unidad no exige Gherkin como herramienta; se presenta aquí como la convención más extendida para escribir criterios de aceptación de forma verificable, no como contenido evaluado adicional.

UAS - Pruebas de software

Relación entre criterios de aceptación y pruebas

Un criterio de aceptación bien escrito es casi directamente un caso de prueba: el dado es la precondición, el cuando es la acción o entrada, y el entonces es el resultado esperado — exactamente la estructura que necesita un caso de prueba.

UAS - Pruebas de software

Criterio, escenario y caso de prueba

01 CRITERIO

Condición que debe cumplirse.

02 ESCENARIO

Situación concreta que permite comprobar una condición.

03 CASO DE PRUEBA

Descripción estructurada de cómo verificar el comportamiento.

04 EVIDENCIA

Resultado obtenido al ejecutar la prueba.

En esta unidad construimos principalmente criterios y escenarios y
dejamos preparada la trazabilidad. El diseño formal de casos de prueba
se profundizará en la Unidad III.

UAS - Pruebas de software

Más ejemplos de criterios de aceptación

Dado que un usuario ha fallado 4 intentos de inicio de sesión,
cuando falla un quinto intento,
entonces el sistema bloquea la cuenta durante 15 minutos.

Dado que un producto tiene 0 unidades en inventario,
cuando un cliente intenta agregarlo al carrito,
entonces el sistema impide la acción y muestra "sin existencias".

UAS - Pruebas de software

Escenarios: positivos, negativos y alternos

Escenario Tipo Entrada Resultado esperado
E1 Positivo Correo nuevo válido Cuenta creada
E2 Negativo Correo ya registrado Registro rechazado
E3 Alterno / límite Contraseña del largo mínimo exacto Cuenta creada
UAS - Pruebas de software

Buenas prácticas para diseñar escenarios

Empieza por el camino feliz

Cubre primero el escenario positivo antes de las variantes.

Ataca cada regla de negocio

Por cada regla, diseña al menos un escenario que intente romperla.

Evita duplicados sin razón

No repitas el mismo escenario con datos distintos si verifica exactamente lo mismo.

Da un ID único a cada uno

Lo necesitarás para construir la matriz de trazabilidad (Bloque 3).

UAS - Pruebas de software

Más ejemplos de escenarios — inicio de sesión

Escenario Tipo Entrada Resultado esperado
E7 Positivo Correo y contraseña correctos Acceso concedido
E8 Negativo Contraseña incorrecta Acceso denegado, mensaje de error
E9 Alterno / límite Quinto intento fallido consecutivo Cuenta bloqueada temporalmente
UAS - Pruebas de software

Más ejemplos de escenarios — carrito de compras

Escenario Tipo Entrada Resultado esperado
E10 Positivo Carrito con 3 productos disponibles Pago procesado
E11 Negativo Producto sin existencias en el carrito Pago bloqueado, aviso "sin existencias"
E12 Alterno / límite Carrito con 0 productos al intentar pagar Pago bloqueado, mensaje de carrito vacío

Los límites no son solo de texto o de intentos — E12 es un límite de
cantidad, el mismo tipo que verás en tu proyecto base si algo se
cuenta, se acumula o se agota.

UAS - Pruebas de software

Condición límite

Una condición límite (boundary condition) es un valor exactamente en el borde de un rango válido.

No es solo numérica: también aplica a longitud de texto, número de intentos, fechas. Un escenario "alterno" que no toca un límite real no cumple 2.2.4 — se profundizará formalmente en la Unidad III.

UAS - Pruebas de software

Cómo encontrar condiciones límite

Pregúntate: ¿cuál es el valor más pequeño que el sistema debe aceptar? ¿cuál es el más grande? ¿qué pasa justo un paso antes y un paso después de ese borde? Estas preguntas — no una fórmula — son la manera intuitiva de encontrar condiciones límite en esta unidad.

UAS - Pruebas de software

Más ejemplos de condiciones límite

Tipo de límite Ejemplo
Longitud de texto Contraseña de exactamente 8 caracteres (el mínimo permitido)
Cantidad Carrito con 0 productos al intentar pagar
Número de intentos Quinto intento fallido de inicio de sesión, si el límite es 5
Fecha Usar una promoción exactamente el último día de su vigencia
UAS - Pruebas de software

Actividad guiada — encontrar el límite

Para cada regla identifica:

valor mínimo → valor válido → valor máximo → qué ocurre fuera del rango

Regla Pregunta
Máximo 5 préstamos ¿Qué ocurre con 4, 5 y 6 préstamos?
Contraseña mínima de 8 caracteres ¿Qué ocurre con 7, 8 y 9 caracteres?
Cancelación hasta 24 horas antes ¿Qué ocurre a 25 h, 24 h y 23 h?
Máximo 3 intentos de recuperación ¿Qué ocurre en el segundo, tercero y cuarto intento?
UAS - Pruebas de software

Tu tarea

Elige una regla y construye tres escenarios:

  • antes del límite
  • exactamente en el límite
  • después del límite

En esta unidad el objetivo es identificar y describir el escenario límite. Las técnicas formales de valores límite se estudiarán en la Unidad III.

UAS - Pruebas de software

Actividad — Laboratorio 2

De un requisito a escenarios verificables

Selecciona un requisito funcional o regla de negocio de tu Laboratorio 1.

Construye en este orden

1. Requisito
Copia el ID y la redacción.

2. Actor o rol involucrado
¿Quién inicia o participa en la interacción?

3. Caso de uso o historia de usuario
Describe la interacción.

4. Criterios de aceptación
Escribe al menos 2.

5. Escenarios
Construye al menos:

  • un escenario positivo;
  • un escenario negativo;
  • un escenario alterno o límite.

6. Resultado esperado
Indica qué debería observarse.

La finalidad no es producir muchas pruebas.

La finalidad es demostrar que puedes derivar escenarios a partir de
requisitos documentados
.

UAS - Pruebas de software

Bloque 3

Trazabilidad

UAS - Pruebas de software

El recorrido completo

01 NECESIDAD

¿Por qué necesitamos algo?

02 REQUISITO

¿Qué debe cumplirse?

03 CRITERIO

¿Cuándo consideramos cumplida la condición?

04 ESCENARIO

¿Qué situación concreta verificaremos?

La trazabilidad permite conservar las relaciones entre estos elementos para poder conocer qué está cubierto, qué falta y qué cambia cuando cambia un requisito.

UAS - Pruebas de software

¿Qué es trazabilidad?

Trazabilidad (traceability) es la relación documentada entre dos artefactos: por ejemplo, entre un requisito y la prueba que lo verifica.

Sin trazabilidad, no hay forma sistemática de responder: "¿probamos todo lo que teníamos que probar?"

UAS - Pruebas de software

Trazabilidad requisito–caso de prueba

Cada requisito debe poder relacionarse con al menos un caso de prueba que lo verifique.

Un requisito sin ningún caso de prueba asociado es una brecha de cobertura — no un detalle de formato.

UAS - Pruebas de software

Ejemplo — una brecha de cobertura

ID requisito Descripción ID caso de prueba
RF-03 Enviar confirmación de registro por correo — (sin caso de prueba asociado)

Esta fila no es un error de formato: es una alerta. Si nadie escribió un caso de prueba para RF-03, no hay evidencia de que esa funcionalidad se haya verificado — sin importar si "parece que funciona".

UAS - Pruebas de software

Trazabilidad caso de prueba–defecto

Cada caso de prueba, al ejecutarse, puede relacionarse con un defecto si falla.

En esta unidad esta relación se deja prevista, no ejecutada: no se corren pruebas ni se gestionan defectos todavía (severidad, prioridad, ciclo de vida y herramientas de gestión son contenido de la Unidad VII).

UAS - Pruebas de software

Matriz de trazabilidad

ID requisito Descripción ID caso de prueba ¿Encontró defecto?
RF-01 Crear cuenta con datos válidos ESC-01 Pendiente de ejecutar
RN-01 Rechazar correo ya registrado ESC-02 Pendiente de ejecutar
RNF-01 Contraseña cifrada ESC-03 Pendiente de ejecutar

Caso ilustrativo — la versión completa se construye en el Laboratorio 3.

UAS - Pruebas de software

Formato sugerido de matriz de trazabilidad

No existe un formato único obligatorio. ISO/IEC/IEEE 29119 (REF-U2-08) reconoce la matriz de trazabilidad como un artefacto de documentación de pruebas, sin fijar columnas exactas. El formato mínimo recomendado incluye: ID de requisito, descripción, ID(s) de caso(s) de prueba, y estado de ejecución/defecto encontrado.

UAS - Pruebas de software

Un requisito, varios casos de prueba

ID requisito Descripción ID caso de prueba ¿Encontró defecto?
RF-01 Crear cuenta con datos válidos ESC-01, E7 Pendiente de ejecutar
RF-01 Crear cuenta con datos válidos E9 (límite) Pendiente de ejecutar

Un requisito real casi nunca se cubre con un solo caso de prueba: la matriz debe poder mostrar varias filas (o varias columnas) para el mismo requisito — uno por cada escenario relevante.

UAS - Pruebas de software

Una matriz con más filas

ID requisito Descripción ID caso de prueba ¿Encontró defecto?
RF-01 Mostrar materias disponibles ESC-07 Pendiente de ejecutar
RF-02 Mostrar grupos de una materia ESC-08 Pendiente de ejecutar
RF-03 Validar prerrequisitos ESC-09, ESC-10 Pendiente de ejecutar
RF-04 Verificar disponibilidad de lugares ESC-11 Pendiente de ejecutar
RF-05 Registrar inscripción ESC-12 Pendiente de ejecutar
RF-06 Enviar confirmación — (sin caso de prueba asociado) —

Una matriz real casi nunca tiene tres filas ordenadas: mezcla requisitos con
0, 1 o varios casos de prueba — como aquí RF-03 (dos escenarios) y RF-06
(ninguno, la misma brecha de cobertura que viste antes, pero ahora dentro
de una matriz de tamaño real).

UAS - Pruebas de software

¿Por qué importa la matriz?

Detecta huecos

Revela requisitos que nadie está probando.

Rastrea impacto

Si cambia un requisito, muestra qué pruebas hay que revisar.

UAS - Pruebas de software

La trazabilidad también funciona hacia atrás

Hacia adelante

¿Qué pruebas necesitamos cuando aparece o cambia un requisito?

Requisito → criterios → escenarios → pruebas

Hacia atrás

¿Qué requisito justifica esta prueba?

Prueba → escenario → criterio → requisito

Una prueba sin requisito asociado puede indicar una prueba sin justificación documentada.

Un requisito sin prueba asociada puede indicar una brecha de cobertura.

UAS - Pruebas de software

¿Qué pasa si cambia un requisito?

Supongamos que cambia esta regla:

La cancelación puede realizarse hasta 24 horas antes.

Ahora se establece:

La cancelación puede realizarse hasta 48 horas antes.

La trazabilidad permite localizar

Elemento ¿Debe revisarse?
Requisito Sí
Criterios de aceptación Sí
Escenarios de 24 h Sí
Escenarios de 48 h Sí
Casos de prueba relacionados Sí
Evidencia anterior Debe evaluarse
Otros requisitos relacionados Debe analizarse

La matriz no solo sirve para comprobar cobertura.

También ayuda a identificar qué artefactos pueden verse afectados por un cambio.

UAS - Pruebas de software

Actividad — Laboratorio 3 (evidencia oficial)

Construye la matriz de trazabilidad inicial del proyecto base asignado a tu equipo: relaciona los requisitos y reglas del Laboratorio 1 con las historias o casos de uso, los criterios y los escenarios del Laboratorio 2.

Instrucciones completas en el Laboratorio 3 — evidencia oficial de la Unidad 2.

UAS - Pruebas de software

Segundo ejemplo aplicado — recuperación de contraseña

El primer ejemplo fue sobre todo validación de datos este es sobre una
regla de negocio de seguridad — mismo pipeline funcionalidad distinta

UAS - Pruebas de software

El requisito y la regla de negocio

RF-02 enviar enlace de recuperación al correo registrado

RNF-02 el enlace expira 30 minutos después de generarse

RN-02 el sistema no debe revelar si un correo está registrado o no

RN-02 no describe qué hace el sistema describe una fuga de información
que no debe ocurrir

UAS - Pruebas de software

Los criterios de aceptación

Dado que el correo está registrado cuando se solicita
recuperación entonces se envía el enlace y se muestra un mensaje
genérico

Dado que el correo NO está registrado cuando se solicita
recuperación entonces se muestra exactamente el mismo mensaje
genérico

Sin el segundo criterio RN-02 podría incumplirse aunque RF-02
funcione

UAS - Pruebas de software

Los escenarios

Escenario Tipo Entrada Resultado esperado
E4 Positivo Correo registrado Enlace enviado mensaje genérico
E5 Negativo Correo no registrado Mismo mensaje genérico sin enviar nada
E6 Alterno / límite Enlace usado exactamente a los 30 minutos Debe quedar definido por escrito si se acepta o se rechaza

E6 es la clase de ambigüedad que una condición límite obliga a resolver
antes de que el sistema decida algo que nadie definió a propósito

UAS - Pruebas de software

La fila de la matriz

ID requisito Descripción ID caso de prueba ¿Encontró defecto?
RF-02 Enviar enlace de recuperación ESC-04 Pendiente de ejecutar
RN-02 No revelar si el correo existe ESC-05 Pendiente de ejecutar
RNF-02 Enlace expira en 30 minutos ESC-06 Pendiente de ejecutar
UAS - Pruebas de software

Tercer ejemplo aplicado — resolviendo la contradicción del Bloque 1

Al inicio de la unidad viste RF-01 y RF-02 contradecirse sobre cuándo
se puede cancelar una inscripción. Aquí está la versión corregida.

RN-03

El sistema deberá permitir cancelar una inscripción hasta 24 horas
antes del inicio del curso.

Dado que faltan más de 24 horas para el inicio del curso, cuando
el estudiante solicita cancelar, entonces el sistema cancela la
inscripción y libera el lugar.

Dado que faltan menos de 24 horas, cuando el estudiante solicita
cancelar, entonces el sistema rechaza la cancelación e informa el motivo.

UAS - Pruebas de software

Escenarios y matriz de la cancelación

Escenario Tipo Entrada Resultado esperado
E13 Positivo Cancelación 48 h antes Inscripción cancelada
E14 Negativo Cancelación 2 h antes Cancelación rechazada
E15 Alterno / límite Cancelación exactamente a las 24 h Debe quedar definido por escrito si se acepta o rechaza
ID requisito Descripción ID caso de prueba ¿Encontró defecto?
RN-03 Cancelar inscripción respetando la ventana de 24 horas ESC-13, ESC-14, ESC-15 Pendiente de ejecutar

Una sola regla de negocio verificable, en vez de dos requisitos que se
contradicen — y el mismo recorrido (requisito → criterio → escenario →
matriz) que harás tú en los tres laboratorios.

UAS - Pruebas de software

Actividad integradora — recorre todo el pipeline

Elige una necesidad del proyecto base asignado a tu equipo y recorre todo el camino.

01 NECESIDAD

¿Qué necesita lograr el stakeholder?

02 REQUISITO

¿Qué debe cumplir el sistema?

03 CASO / HISTORIA

¿Cómo documentarás la interacción?

04 CRITERIOS

¿Cuándo se considera cumplida?

05 ESCENARIOS

Positivo, negativo y alterno/límite.

06 PRUEBA

¿Qué verificarías?

07 TRAZABILIDAD

¿Qué requisito cubre cada prueba?

UAS - Pruebas de software

Ahora te toca a ti

Selecciona una funcionalidad del proyecto base asignado a tu equipo. No necesitas rehacer todo el sistema Construye únicamente un recorrido completo:

Debes poder explicar

  • ¿Quién necesita algo?
  • ¿Qué necesita?
  • ¿Qué debe cumplir el sistema?
  • ¿Quién es el actor?
  • ¿Cuál es el flujo principal?
  • ¿Qué puede salir diferente?
  • ¿Cuándo consideramos cumplida la funcionalidad?
  • ¿Qué escenarios la verifican?
  • ¿Qué prueba queda relacionada con el requisito?
UAS - Pruebas de software

Cierre — volviendo a la situación inicial

Con lo aprendido en esta unidad, ahora puedes explicar con precisión:

  • el problema del formulario de registro fue un requisito no verificable, no un desacuerdo sobre gustos;
  • un criterio de aceptación bien escrito hubiera evitado la discusión;
  • la matriz de trazabilidad muestra, de entrada, si "validar el correo" tenía siquiera un caso de prueba asociado.
UAS - Pruebas de software

En síntesis

  • Los requisitos (funcionales, no funcionales, reglas de negocio) deben redactarse de forma verificable.
  • Casos de uso e historias de usuario son dos formas de describir una interacción; ninguna sustituye a la otra.
  • Los criterios de aceptación convierten un requisito en condiciones comprobables.
  • Los escenarios (positivos, negativos, alternos/límite) traducen esos criterios en pruebas concretas.
  • La matriz de trazabilidad conecta requisito → prueba, y deja prevista prueba → defecto.
UAS - Pruebas de software

Lo que sigue

En la Unidad III vas a aplicar técnicas formales de diseño de casos de prueba (caja negra, caja blanca, partición de equivalencia, valores límite) sobre los escenarios que ya construiste aquí.

La misma matriz de trazabilidad que construiste hoy reaparece en la Unidad V — ahí la aplicarás también a pruebas de APIs y servicios.

UAS - Pruebas de software

Referencias

  • Jorgensen — Software Testing: A Craftsman's Approach (4.ª ed., 2013).
  • Patton — Software Testing (2.ª ed., 2005).
  • Myers, Sandler y Badgett — The Art of Software Testing (3.ª ed., 2011).
  • Black, van Veenendaal y Graham — Foundations of Software Testing ISTQB Certification (2012).
  • Crispin y Gregory — Agile Testing (2009).
  • Toledo — Introducción a las pruebas de sistemas de información (2024).
  • ISO/IEC 25010:2011; ISO/IEC/IEEE 29119.

Ficha completa de cada fuente en las referencias de la unidad (REF-U2-01 a REF-U2-10).

UAS - Pruebas de software

estado: BORRADOR fuente: CONTEXTO_UNIDAD.md; laboratorios/unidad02_lab01, lab02, lab03; unidad02_materiales_referencias.md advertencia: a diferencia de la Unidad 1, esta presentación NO deriva de un unidad02_manual_estudiante.md ni de un unidad02_actividades.md, porque todavía no existen (CONTEXTO_UNIDAD.md, sección 7, estado PENDIENTE). Deriva directamente de CONTEXTO_UNIDAD.md y de los tres laboratorios ya producidos, sin introducir información que no esté ya en esas fuentes. Cuando se produzca el manual del estudiante, debe revisarse esta presentación contra él en el ciclo de QA (MASTER_PROMPT_QA.md) para confirmar consistencia — no se asume automáticamente. propósito: presentación de apoyo docente/estudiante de la Unidad 2 No sustituye laboratorios ni CONTEXTO_UNIDAD.md; contenido derivado, sin información nueva. No ha pasado por QA ni validación académica. criterio editorial: - lenguaje académico, claro y cercano - mínima carga textual, una idea principal por diapositiva - el caso de ejemplo (formulario de registro de usuarios) es ilustrativo, no un sistema real de ningún estudiante (CONTEXTO_UNIDAD.md §10) — no usar el sistema de ningún estudiante como ejemplo público - no introducir técnicas de diseño de pruebas formales (Unidad III) ni herramientas de gestión de pruebas/defectos (Unidad VII, decisión D-005) - secuencia de 5 sesiones (A–E), calendario comprimido — CONTEXTO_UNIDAD.md §6, decisión D-004 - 2026-09-21: se amplió la ejemplificación de escenarios y matrices de trazabilidad (revisión de cobertura vs. programa oficial) — se agregó una tarjeta de las cuatro categorías de calidad (2.1.2), una matriz de mayor tamaño, un dominio nuevo de escenarios (carrito de compras) y un tercer ejemplo aplicado completo (cancelación de inscripción) que cierra la contradicción RF-01/RF-02 planteada en el Bloque 1. Se decidió NO agregar un cuarto ejemplo de API/REST: 5.4 es contenido reservado de la Unidad V y un escenario de API a este nivel casi inevitablemente toca códigos de respuesta y contratos básicos (5.4.3), que le corresponden a esa unidad. Se agregó en su lugar una sola línea puente en "Lo que sigue".