Non-Functional user Stories Specification and test

← Inicio

Agile: artefactos de requerimientos

Cómo se organizan los artefactos desde el alto nivel hasta las user-stories. Tanto del lado del cliente → developer → management. Básicamente un mapa de donde cae cada cosa en una matrix: épicas, features, user stories, acceptance criteria.

Req. Funcionales vs RNF

flowchart TD
    US["📝 User Story"]
    US --> FR["⚙️ Req. Funcional (RF)\n¿QUÉ hace el sistema?\n'El usuario puede hacer login'"]
    US --> NFR["📊 Req. No Funcional (RNF)\n¿CÓMO lo hace?\n'Carga en < 2s con 1000 usuarios'"]

    NFR --> ISO["🏷️ ISO 25010:2023\nCategorías de calidad"]
    ISO --> PERF["⚡ Performance"]
    ISO --> SEC["🔒 Security"]
    ISO --> MAINT["🔧 Maintainability"]
    ISO --> USE["🖥️ Usability"]

    NFR --> AC["✅ Acceptance Criteria\nmedibles + automatizables"]
    AC --> TEST["🤖 Tests automatizados\n(load testing, security scans)"]

    style NFR fill:#1e1e2e,stroke:#ffd700,color:#f8f8f2
    style ISO fill:#1e1e2e,stroke:#61dafb,color:#f8f8f2
    style TEST fill:#1e1e2e,stroke:#50fa7b,color:#f8f8f2
  • Requisitos funcionales: describen el comportamiento del sistema (qué hace).
  • Requisitos no funcionales (RNF): describen restricciones de calidad (cómo lo hace).

Árbol de categorías de RNF basado en ISO 25010:2023: rendimiento, usabilidad, seguridad, mantenibilidad, portabilidad, confiabilidad, compatibilidad.

Specification on Scrum

Generalmente los RNF no se escriben como debería. Pasan a ser un “wishlist” vago (“el sistema debe ser rápido”) sin métricas ni criterios de aceptación claros.

La solución: escribir los RNF como user stories con datos que puedan ser validados a través de pruebas, usando criterios de aceptación medibles.

Ejemplo:

“Como usuario final, quiero que la página de inicio cargue en menos de 2 segundos bajo una carga de 1000 usuarios concurrentes.”

Takeaways

  1. Considerar los RNF desde el inicio del proyecto
  2. Revisar la norma ISO 25010:2023 como base de categorías
  3. Especificar con criterio: solo lo que tenga sentido testear
  4. Escribir los acceptance criteria y automatizar los tests asociados
  5. Los NFR demandan mucho tiempo — priorizar qué testear y cómo

Referencias

Notas relacionadas


Volver arriba

Matias Miguez — Ingeniería de Software, IA, Tecnología

This site uses Just the Docs, a documentation theme for Jekyll.