Skip to main content

Nota del editor: Bienvenido a la serie Liderazgo en Pruebas del gurú y consultor de pruebas de software Paul Gerrard. La serie está diseñada para ayudar a testers con varios años de experiencia—especialmente aquellos en equipos ágiles—a destacar en sus roles de líder y gestor de pruebas.

En el artículo anterior, expusimos un manifiesto de riesgos para ayudar a los gestores. En este artículo, plantearemos la clásica pregunta “¿Cuántas pruebas son suficientes?”. Spoiler: depende de los interesados.

Suscríbete al boletín de The QA Lead para recibir notificaciones cuando se publique una nueva parte de la serie. Estas publicaciones son extractos del curso Liderazgo en Pruebas de Paul, el cual recomendamos encarecidamente para profundizar en este y otros temas. Si lo haces, ¡usa nuestro código exclusivo de cupón QALEADOFFER para obtener $60 de descuento en el precio total del curso!

No importa el proyecto, la organización o el enfoque, siempre hay lugar para la documentación. Una buena documentación es una bendición, ya que proporciona un registro útil del enfoque, el alcance, los planes, los diseños y los resultados de los análisis, el desarrollo y las actividades de prueba. 

En este artículo, cubriré:

Vamos allá.

Want more from The CTO Club?

Create a free account to finish this piece and join a community of CTOs and engineering leaders sharing real-world frameworks, tools, and insights for designing, deploying, and scaling AI-driven technology.

Este campo es un campo de validación y debe quedar sin cambios.
Name*

El valor de la documentación

En proyectos estructurados, los documentos normalmente se consideran entregables por sí mismos. En regímenes ágiles o continuos, la documentación puede producirse como un subproducto de mayor o menor valor.

La redacción de documentos puede ser la actividad principal de escritores técnicos profesionales pero, para la mayoría de los profesionales, es una tarea tediosa—por muy útil que pueda ser. Incluso si la redacción de documentos puede resultar aburrida para algunas personas, el verdadero problema con la documentación es que, en muchos contextos, la mayoría es simplemente una pérdida de tiempo. Tiene poco valor, está desactualizada, es inexacta—o todo a la vez.

Todo gestor de pruebas ha redactado estrategias de pruebas que nadie leyó o en las que nadie creyó. Los testers escriben montones de planes de prueba, scripts e informes, y el único contenido valioso para los interesados son los resúmenes de una página al principio o al final.

Todos hemos escrito documentos que sabemos que tienen poco valor y que nadie leerá.

Esto proviene de problemas comunes con la documentación que encontramos en proyectos tanto grandes como pequeños. Por cada documento que redactamos, hay varias preguntas que debemos abordar:

  • ¿Qué tipo de documento? ¿Una política o estrategia, un enfoque o plan, un diseño o implementación, o un resultado e interpretación?
  • ¿Cuál es el objetivo del documento?
  • ¿Qué contenido se requiere para cumplir ese objetivo?
  • ¿Qué fuentes de conocimiento son necesarias para crear el contenido?
  • Si el documento debe cambiar con el tiempo, ¿cómo se mantendrá?
  • ¿Qué nivel de detalle se requiere?
Como gestor de pruebas o como equipo, tendrás que decidir qué tipos y formatos de documentación son adecuados y, si deben ser registros precisos o los denominados documentos vivos, cómo se mantendrán.
Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Este campo es un campo de validación y debe quedar sin cambios.
Name*

Los peligros de las plantillas y el copiar/pegar

Si tu proyecto determina que se requiere un determinado documento, como un plan de pruebas del sistema o un registro de riesgos, es tentador buscar una plantilla ya hecha para estos (y muchos otros tipos de documentos) en internet.

Algunas plantillas pueden afirmar que cumplen algún estándar o convención y que han sido descargadas y utilizadas miles de veces. A veces una plantilla puede parecer ajustarse perfectamente a tu propósito. Pero, como veremos, incluso si el índice parece completo puede causarte problemas.

También puede ocurrir que tú u otros en tu empresa hayan preparado un documento similar para proyectos anteriores. Puede que te sientas tentado a copiar y renombrar este documento, cambiar las referencias al proyecto anterior y editar el contenido para que se ajuste.

Advertencia: Por mi experiencia como revisor independiente esto es muy común y a menudo un verdadero problema. 

En primer lugar, suele ser bastante evidente cuando un texto ha sido copiado o editado. El lenguaje utilizado en el texto a menudo parece desconectado del proyecto y hay huecos y texto superfluo por todas partes. ¿Por qué ocurre esto?

Utilizar una plantilla predefinida o un documento existente como fuente conlleva varios riesgos:

  • Parece exhaustivo, pero puede incluir temas inapropiados y excluir otros que son esenciales.
  • Proporciona encabezados para un documento, pero no da ninguna orientación sobre qué contenido es adecuado para cada sección.
  • Puede contener texto que parece reutilizable y que se copia sin cambios de un proyecto anterior no relacionado, pero ese texto puede dar una impresión equivocada, o ser inexacto o incompleto.

Utilizar plantillas para obtener encabezados y el formato básico puede ser útil, pero el principal problema con las plantillas es este:

Usar una plantilla puede ahorrar algo de tiempo; el riesgo es que no le dediques suficiente reflexión a la redacción.

La tentación con las plantillas es confiar demasiado en ellas y luego escribir texto de relleno en las distintas secciones. Al fin y al cabo, podrías pensar que el documento simplemente cumple con un ‘requisito’ y que nadie lo leerá de todos modos. El riesgo de las plantillas es que dejes de pensar y escribas un documento que tiene poco valor.

Tipos de documentación de pruebas

En esta sección, veremos las distintas formas de documentación de pruebas y discutiremos algunas consideraciones en proyectos estructurados o ágiles/continuos frente al enfoque tradicional de cascada. 

El conjunto principal de documentos de prueba suele pertenecer a las siguientes categorías:

  • Política y estrategia (a veces conocido como Plan Maestro de Pruebas)
  • Definición de pruebas (también llamada especificación o planes de prueba, de forma confusa)
  • Diseño de pruebas
  • Casos de prueba
  • Procedimientos o scripts de prueba
  • Ejecución de pruebas
  • Cronograma
  • Registro
  • Informe de pruebas

La gama anterior de tipos de documentos cubre la definición del proceso de pruebas, actividades clave de definición y ejecución, y los informes. 

Existen varios otros documentos relacionados con pruebas que, en entornos más burocráticos, incluirían definiciones y procesos de gestión del entorno de pruebas, procedimientos de aceptación, procesos de gestión de incidentes, entre otros (trataremos la gestión de incidentes en un próximo artículo).

Otra omisión evidente de lo anterior sería un plan general o cronograma para las actividades de prueba. Un cronograma realmente no es un documento de pruebas, es un subconjunto de un plan general del proyecto para un proyecto estructurado (también trataremos la planificación de cronogramas en un próximo artículo, ¡así que no te lo pierdas!).

Política, Estrategia, Plan Maestro de Pruebas

Propósito
  • Una política suele abarcar a una organización e incluir un subconjunto de temas que cubren todos los proyectos. Una estrategia suele cubrir un solo proyecto (o aplicación)
  • En general, la estrategia proporciona las decisiones tomadas sobre cuestiones logísticas de enfoque, traspasos, responsabilidades, entornos, etc.
  • Algunas de estas decisiones se pueden tomar con antelación y documentarse en la estrategia
  • Algunas decisiones no se pueden tomar ahora, pero la estrategia puede documentar el proceso, método o información que permitirá que se tomen decisiones (en el proyecto)
  • Para situaciones de incertidumbre o eventos no planificados donde se deben tomar decisiones, la estrategia documentará los principios generales (o procesos) a seguir.
Contenido
  • Partes interesadas, objetivos, riesgos clave de interés
  • Principios/enfoque de pruebas a adoptar, por ejemplo, enfoque de pruebas basadas en riesgos
  • Proceso de pruebas (etapas de las pruebas):
    • objetivos y alcance
    • criterios de aceptación
    • métodos, técnicas
    • entregables (documentos)
    • responsabilidad
    • Actividades de pruebas no funcionales/técnicas
    • Política de gestión de proveedores (de pruebas)
    • Proceso de gestión de incidencias
    • Fuentes de datos de pruebas
    • Entornos de pruebas
    • Estrategia de herramientas/automatización
  • Formatos/plantillas de documentación
Fuentes
  • Partes interesadas, usuarios, analistas de negocio, desarrolladores, operaciones
Mantenimiento
  • Usualmente, un documento único definido para un proyecto o programa
Consideraciones Ágiles/Continuas La estrategia de pruebas para proyectos ágiles que utilizan Scrum, por ejemplo, probablemente será bastante breve y constará de solo unas pocas páginas (si es que se documenta). Es posible que el proceso de pruebas no tenga etapas, pero es probable que haya una definición de pruebas en diferentes niveles. Por ejemplo:
  • Pruebas en un sprint o iteración
  • Pruebas para un lanzamiento
  • Pruebas de Integración de Sistemas (con otros sistemas o interfaces)
  • Pruebas de usuario (en la aceptación a nivel de sprint y/o de entrega).
La forma en que se usan las herramientas en las pruebas de desarrollo (y utilizando BDD o TDD, por ejemplo) probablemente no se documente, pero se espera que los equipos de desarrollo evolucionen un enfoque y coordinen con otros miembros del equipo conforme comprometen nuevo código. El rol del tester podría ser probar funcionalidades de forma interactiva a medida que los desarrolladores las liberan, o bien actuar como coach de pruebas para el resto del equipo. Al igual que el uso de herramientas y/o TDD, la forma de trabajo evolucionará con el tiempo y puede que nunca se documente formalmente.

Definición de Pruebas (Diseño, Casos, Procedimientos)

Propósito
  • Demostrar el flujo o la trazabilidad entre las fuentes de conocimiento y las pruebas que se van a realizar
  • Documentar la cobertura (frente a varios modelos) de aspectos de los requisitos, características del sistema o comportamiento del usuario
  • Permitir a los interesados revisar el alcance, enfoque, cobertura y las decisiones tomadas al crear las pruebas que se aplicarán
  • Proporcionar instrucciones para la ejecución de las pruebas en algún nivel de detalle acordado.
Contenido
  • Alcance de las pruebas – tanto a alto nivel (por ejemplo, características) como a bajo nivel (por ejemplo, modelos de comportamiento)
  • Cobertura de las pruebas respecto a los elementos en alcance (por ejemplo, una matriz de cobertura de requisitos u otro modelo de pruebas)
  • Casos de prueba que identifican características, precondiciones, entradas y post-condiciones (incluyendo resultados esperados)
  • Procedimientos de prueba, reutilizables para ejecutar casos de prueba seleccionados.
Fuentes
  • Partes interesadas, usuarios, requisitos, diseños y especificaciones
Mantenimiento
  • En principio, con requisitos fijos, debería haber una versión acordada de estos documentos
  • Cuando haya cambios en los requisitos o el alcance, los testers deberán ajustar los documentos, mantener los aspectos trazables de la documentación, y proporcionar una gestión de la configuración o registro de cambios.
Consideraciones Ágiles/Continuas El área de definición de pruebas es donde el enfoque ágil se diferencia más notablemente de los proyectos estructurados. Es posible que los testers que se focalizan en funcionalidades conforme se entregan no creen documentación alguna. Esto es adecuado si existe una política o carta general para las pruebas de funcionalidades, por ejemplo. Más probablemente, habría una breve carta para probar cada funcionalidad en una sesión de pruebas exploratorias. Una carta es como un plan para un breve período de exploración. La carta normalmente identificará:
  • El alcance de la sesión de pruebas – las funcionalidades a cubrir y/o alguna funcionalidad o comportamiento específico del sistema
  • El objetivo de la sesión – explorar ciertos aspectos de los comportamientos, centrarse en algún riesgo o modo de fallo, aplicar algunos escenarios seleccionados
  • La duración de la sesión suele ser de 45 a 120 minutos. La sesión está necesariamente limitada en alcance, pero los testers pueden explorar fuera del alcance si lo consideran valioso
  • Una carta puede tener como objetivo centrarse en la exploración – aprender lo que hace una característica, identificar comportamientos específicos que vale la pena probar, evaluar cuántas pruebas/sesiones son necesarias para cubrir una funcionalidad grande o compleja, entender qué datos de prueba pueden ser necesarios, etc.
  • Una carta puede centrarse específicamente en probar una característica, pero puede destacar algunas áreas que requieren más atención que otras.
Herramientas y relatos (stories) BDD en un formato seleccionado, por ejemplo, historias y escenarios en formato Cucumber o Gherkin, pueden proporcionar la trazabilidad y el contenido que los diseños y procedimientos de pruebas contienen. Cada escenario con las secciones 'given/when/then' identifica precondiciones, entradas y post-condiciones. Se refieren a una sola característica, por lo que proporcionan un caso/procedimiento de prueba mínimo y son trazables al menos a funcionalidades. Las pruebas que se han programado para ejecutarse mediante herramientas pueden o no tener documentación intermedia. Los equipos confían más en la observación de pruebas automatizadas y tablas de datos de prueba usadas por los scripts automatizados que en los diseños de pruebas documentados.

Ejecución de Pruebas (Programación, Registro)

Propósito
  • Especificar el orden de ejecución de las pruebas
  • Registrar el estado de las pruebas – ejecutada/no ejecutada y estado
  • Proporcionar los resultados de la ejecución de pruebas para la elaboración de informes
Contenido
  • Identificador de la prueba, probador, fecha/hora de ejecución, estado
  • Para pruebas que muestran un comportamiento anómalo (opcionalmente):
    • Detalles de la prueba tal como se realizó, cuando los detalles difieren del guion
    • Resultados reales frente a resultados esperados
    • Otras observaciones, interpretaciones
    • Estado de la prueba (defecto, anomalía de configuración o de entorno, etc.)
    • ID de reporte de observación o defecto (cuando corresponda)
Fuentes
  • Inventario de casos/procedimientos de prueba, probadores
Mantenimiento
  • La programación cambiará según el alcance de las pruebas y los procedimientos modificados, eliminados o añadidos al plan.
  • Es probable que las pruebas se ejecuten varias veces, ya sea como re-pruebas o pruebas de regresión. El registro debe mantener un historial completo de todas las pruebas incluidas en el alcance.
Consideraciones Ágiles/Continuas Si los proyectos ágiles/continuos no se comprometen con documentos de definición de pruebas, en parte compensan esto alentando a los probadores a mantener mejores registros de la ejecución de pruebas. Cuando las pruebas se realizan en sesiones basadas en cartas, se espera que el probador tome buenas notas de las pruebas que ejecuta. Existen pocas herramientas dedicadas al registro de pruebas que sean más que simples cuadernos, por lo que muchos probadores utilizan editores de texto simples, aplicaciones de notas o cuadernos físicos. Los registros tienden a utilizarse para anotar toda la actividad significativa y observaciones durante las sesiones a medida que se llevan a cabo. Un registro típico de pruebas exploratorias contendría aspectos tales como:
  • Estructura de las funcionalidades exploradas (un mapa del territorio)
  • Observaciones, preguntas relacionadas con las funcionalidades exploradas en la sesión
  • Modelos, listas, tablas de elementos de prueba e ideas de pruebas
  • Pruebas ejecutadas, capturadas con el nivel de detalle suficiente para poder reproducirlas
  • Anomalías encontradas – fallas, comportamientos dudosos, respuestas lentas, mala experiencia de usuario, etc.
  • Tiempo dedicado a la exploración, configuración de pruebas, pruebas, investigación, registro de errores, nueva prueba, pruebas de regresión, tiempo no productivo
  • Fecha/hora de la entrada
Cuando los probadores registran sus actividades de sesión en aplicaciones de notas u otras herramientas, utilizan algún tipo de marcado o lenguaje específico del dominio para estructurar sus notas. Estas pueden ser analizadas por herramientas internas sencillas para proporcionar resúmenes de la actividad y emplearlas en el informe de pruebas. Las pruebas ejecutadas por herramientas (ya sean propietarias o de código abierto) mantienen registros automáticamente. Normalmente estos registros pueden ser consultados por la propia herramienta o procedimientos escritos por los usuarios.

Informe de Pruebas

Propósito
  • Comunicar el resultado de una etapa de prueba, pruebas seleccionadas o una sesión de prueba.
  • También puede aplicarse a requisitos técnicos o actividades de prueba no funcional, en cuyo caso el contenido variaría para ajustarse al objetivo de la prueba.
  • Informar parcialmente a las partes interesadas para que puedan tomar decisiones sobre la aceptación o liberación de un sistema o subsistema.
Contenido
  • Horas de inicio/fin y duración de la prueba
  • Entorno de prueba
  • Versión(es) de software y sistema bajo prueba
  • Objetivos y alcance de las pruebas (de la estrategia de pruebas, definición de pruebas)
  • Resumen narrativo de los resultados
  • Funciones consideradas que están funcionando como se requiere
  • Riesgos considerados abordados
  • Pruebas importantes pendientes (fallidas o bloqueadas)
  • Funciones parcialmente probadas o no probadas
  • Riesgos parcialmente o no abordados
  • Detalles de resultados de pruebas con salida de los registros de pruebas, etc.
  • Estado de las soluciones alternativas para anomalías pendientes
  • Análisis de pruebas
  • Progreso y estado de las pruebas en el tiempo
  • Estadísticas de incidentes
Fuentes
  • Estrategia de prueba, definiciones de pruebas, registro de pruebas, informes de incidentes
  • Gran parte del contenido de un informe de pruebas provendrá de las herramientas utilizadas para registrar la definición de prueba(s), el registro de pruebas y el registro de incidentes o defectos.
Mantenimiento
  • Esto es una instantánea en el tiempo para una fase de ejecución de pruebas y no se mantiene.
Consideraciones Ágiles/Continuas El propósito de un informe de pruebas en un proyecto ágil podría abarcar una sola iteración o sprint, pruebas para una liberación o una fase de pruebas de mayor nivel como integración o aceptación general del sistema. Sea cual sea, el propósito no cambia. Gran parte del contenido del informe de pruebas vendrá de herramientas o notas de los testers. El resumen narrativo de los resultados lo redacta un líder de pruebas o el tester para una fase de prueba de menor escala. Como es habitual, es probable que el informe sea menos formal y haya menos datos en bruto que sirvan de base para análisis sofisticados. Sin duda, durante la(s) iteración(es), el progreso en términos de funcionalidades o historias entregadas, probadas y aprobadas por los usuarios podría registrarse en una herramienta o en un tablero KanBan público. De este modo, las partes interesadas se mantienen informadas del progreso durante toda la iteración y hay menos necesidad de un informe formal al final del periodo de pruebas. La visibilidad del progreso es una preocupación clave para los equipos ágiles. Con reuniones breves y regulares, quizá diarias, en torno a un tablero Scrum, por ejemplo, los miembros del equipo comparten su comprensión sobre el progreso, se cuestionan entre sí y acuerdan la situación (y próximos pasos) constantemente. De esta forma, es posible que nunca se requiera un informe formal, porque el equipo siempre está informado y actualizado. Si los testers llevan notas escritas de sus actividades de sesión, entonces no habrá datos analizables disponibles para presentar informes automatizados, por lo que los informes de sesión y de progreso pueden presentarse de forma visual y pública. Esto requiere un alto grado de disciplina y buenas habilidades de comunicación por parte de los testers. El líder o gerente de pruebas tendrá que presentar un informe igualmente informativo a las partes interesadas, basado en los informes verbales.

Algunos Consejos

El tema de la documentación en los proyectos es delicado tanto para los testers como para otros miembros del equipo de proyecto.

La mayoría de las personas considera la redacción de documentación como una tarea tediosa.

Aquí tienes algunas cosas a tener en cuenta al diseñar tu documentación.

  1. La documentación debe tener un propósito y una audiencia bien definida. Si tu audiencia no necesita la documentación, no la leerá. Si no se alinea con sus propios objetivos, no la aceptarán.
  2. Por lo general, es mejor capturar el registro de una actividad antes o durante su realización. Por ejemplo, TDD captura pruebas antes de que se escriba el código. Los registros de las sesiones de pruebas deben capturarse durante la sesión y no escribirse después.
  3. Los datos esenciales para registrar un aspecto de las pruebas pueden ser mínimos. Por ejemplo, una prueba registrada en una libreta puede ser suficiente para el tester, pero no se puede analizar fácilmente. Tal vez un simple registro de texto con algo de formato podría capturarse igual de rápido, pero también podría ser analizado por una herramienta personalizada.
  4. Los procedimientos de prueba pueden no ser necesarios si los testers conocen bien el sistema bajo pruebas. Quizás solo es necesario un objetivo de prueba o un mandato. Los casos de prueba preparados se pueden documentar mínimamente en una hoja de cálculo.

Para Terminar

La necesidad es la madre de la documentación.

Si preparas documentación exhaustiva para tus partes interesadas y no la leen, es porque no perciben valor en ella.

Es mejor presentar a un interesado una hoja en blanco y, conjuntamente, añadir los temas que necesita ver en un documento y partir desde ahí. Puede que te pidan toneladas de contenido, pero lo que realmente necesitan es mucho más sencillo. Sigue preguntando '¿por qué quieren esto?'

Gracias por leer. Únete a nosotros la próxima vez mientras nos arremangamos y comenzamos con algo de planificación de pruebas.

Suscríbete al boletín de The QA Lead para recibir notificaciones cuando se publiquen nuevas partes de la serie. Estas publicaciones son extractos del curso Liderazgo en Pruebas de Paul, que recomendamos encarecidamente para profundizar en este y otros temas. ¡Si lo haces, utiliza nuestro cupón exclusivo QALEADOFFER para obtener $60 de descuento en el precio completo del curso!