Cómo escribir casos de prueba eficaces
Software Teams

Cómo escribir casos de prueba eficaces

En los servicios financieros, se denomina "proceso creador-comprobador" En la gestión de riesgos, se conoce popularmente como "principio de los 4 ojos" En la gestión de las armas nucleares estadounidenses, se denomina "el concepto de las dos personas"

En esencia, todos hacen lo mismo: estos procesos incluyen un nivel adicional de evaluación, confirmación, autorización o aprobación para garantizar la exactitud, calidad o pertinencia del resultado.

En el desarrollo de software, esto se denomina prueba o garantía de calidad. En pocas palabras, las pruebas de software evalúan el código para garantizar que funciona como se espera. Para realizar esta actividad con eficacia, los equipos de calidad utilizan una potente herramienta llamada caso de prueba.

En esta entrada del blog, exploramos lo que es, por qué es necesario, cuándo usarlo, y lo más importante, cómo escribir casos de prueba.

¿Qué es un caso de prueba?

Un caso de prueba es un conjunto de acciones, condiciones y datos de entrada utilizados para evaluar la calidad de una aplicación de software.

Supongamos que ha creado un formulario para capturar el nombre y el ID de correo electrónico del usuario para la suscripción a un boletín. Su caso de prueba especificará lo siguiente:

Acciones [tanto de cara al usuario como internas]: Todo lo que el usuario o el software se espera que haga para completar el flujo de trabajo en el software que se está construyendo.

  • El usuario introduce un nombre
  • El usuario introduce una dirección de correo electrónico
  • El usuario hace clic en "Enviar"
  • Envío de un correo electrónico de confirmación al usuario
  • Los datos se guardan en la base de datos correspondiente
  • Datos añadidos a la lista de correo electrónico del boletín correspondiente

Condiciones: Los requisitos que se espera que cumpla el usuario o el sistema al realizar sus acciones.

  • Guardar si se acepta la validación del campo de nombre, de lo contrario mostrar mensaje de error
  • Guardar si se acepta la validación para el campo de dirección de correo electrónico, de lo contrario mostrar mensaje de error
  • Añadir a la lista de boletines sólo si el usuario ha confirmado su dirección de correo electrónico
  • Si el usuario ya existe, mostrar el mensaje de error correspondiente

Datos de entrada: Muestras de lo que es una entrada aceptable para la función. Normalmente, los equipos de control de calidad crean datos de prueba que permiten comprobar los resultados positivos y negativos.

Por ejemplo, si una condición para la validación de un campo de nombre es "sólo puede contener letras del alfabeto y espacios", los datos de prueba serían los siguientes

  • Jane Doe, que cumple los criterios
  • Ad@m Sand!er, que no cumple los criterios

Rol de los casos de prueba en la ingeniería de software

El método de casos de prueba es un enfoque exhaustivo, sistemático y repetible de las pruebas de software. Aunque su objetivo principal es garantizar la calidad de la aplicación, añade múltiples niveles de solidez y fiabilidad al propio proceso de ingeniería de software.

Identificación de defectos: Los casos de prueba ayudan a identificar defectos en el software. De ellos depende que la aplicación sea segura para pasar a producción.

Validación de requisitos: Los casos de prueba garantizan que lo que has construido es lo que pretendías desde el principio. Esto es especialmente importante si eres una organización de servicios que construye software para partes interesadas externas que tienen requisitos específicos.

Mitigación de riesgos: Los casos de prueba evalúan una función para la seguridad, el rendimiento y los riesgos financieros. El analista de calidad también incluye condiciones relativas al cumplimiento de la normativa, los estándares del sector, etc., para asegurarse de que se cubren todas las bases.

Balancear el panorama general: Una nueva función puede funcionar bien de forma aislada. Pero cuando se integra en el resto del software, podría romperse o hacer que alguna otra función se rompa. Los casos de prueba garantizan que esto se detecte antes de que afecte a la experiencia del usuario en producción.

¿Puede un caso de prueba hacer todo lo anterior? En realidad, no. En función de la función, el software, los sistemas, las necesidades y las metas de la organización, los equipos de control de calidad escriben varios tipos de casos de prueba.

Tipos de casos de prueba

Hay un caso de prueba para cada tipo de prueba de software . Algunos de los más utilizados son los siguientes.

Caso de prueba de funcionalidad: Este caso de prueba básico y fundamental evalúa si un software funciona según lo previsto. Como mínimo, todos los responsables de calidad lo escriben.

Casos de prueba unitarios: Las pruebas unitarias evalúan una parte de la función o una sola unidad. Por ejemplo, un QA puede escribir pruebas unitarias para verificar que el campo de la dirección de correo electrónico cumple varias condiciones.

Casos de prueba de seguridad: Se evalúa si la función cumple las normas de seguridad para pasar a producción. Normalmente, esto incluiría pruebas de autorización, autenticación, cumplimiento de los estándares OWASP, etc.

Casos de prueba de rendimiento: Valida que la nueva función cumple los requisitos de velocidad, fiabilidad, escalabilidad y utilización de recursos.

Casos de prueba de regresión: Las pruebas de regresión garantizan que la nueva función que has desarrollado no afecta a ninguna de las ya existentes en el producto.

Además de éstas, también se pueden ejecutar casos de prueba específicos. Por ejemplo, las organizaciones orientadas al diseño pueden incluir casos de prueba de interfaz de usuario. Los productos que forman parte de un flujo de trabajo más amplio pueden escribir muchas pruebas de integración. Otros pueden crear casos de prueba de usabilidad específicos sobre heurística, accesibilidad, inclusión, etc.

Como propietario de un producto, usted decide qué debe hacer su software y crea los casos de prueba correspondientes. Debes cubrir todos los escenarios que sean importantes para ti.

¿Significa eso que un caso de prueba es simplemente un escenario de prueba? En absoluto.

Caso de prueba frente a escenario de prueba

Un caso de prueba es un registro completo de cómo debe comportarse su nueva función [y cómo probarla]. Un escenario de prueba es una descripción de alto nivel de las acciones que pueden suceder [y por lo tanto ser probadas].

Ampliando el ejemplo anterior, el escenario de prueba sería "probar la suscripción al boletín" Sin embargo, los casos de prueba serían:

  • Probar el campo de nombre con un nombre aceptable
  • Probar el campo de nombre con caracteres especiales
  • Campo de nombre de prueba para nombres de famosos
  • Campo de nombre de prueba con números
  • Campo de nombre de prueba para marcadores de posición o nombres ficticios como John Doe
Caso de pruebaEscenario de prueba
DefiniciónDocumentación exhaustiva de cómo probar una funciónBreve resumen de cómo debería funcionar la función desde la perspectiva del usuario finalNivelAcciones de nivel bajo
Nivel: Acciones de bajo nivel con responsabilidad granular. Acciones de alto nivel con responsabilidad general
Enfoque Cómo probar [registro detallado de la funcionalidad prevista] Qué probar [registro breve de los resultados previstos] Fuente
Fuente: Derivada de los escenarios de prueba. Derivada de las historias de usuario y de los casos de uso de la empresa
EnfoqueConsiderar una resolución más alta de posibilidades y probar a fondoImitar escenarios de la vida real y probar de acuerdo con ellosEnfoque de la pruebaEnfoque de la pruebaImitar escenarios de la vida real y probar de acuerdo con ellos

Diferencias entre caso de prueba y escenario de prueba

Ahora que ya conocemos las diferencias, volvamos a centrarnos en el caso de prueba y hagamos un Zoom.

Componentes de un caso de prueba

Para recapitular, un caso de prueba es una documentación detallada de todo lo que necesita ser probado para asegurar que el software está funcionando según lo previsto. Esto lo hace exhaustivo, granular y multifacético, involucrando múltiples componentes.

Algunos de los componentes críticos de un caso de prueba son:

ID del caso de prueba: Cada caso de prueba tiene un número. Esto puede parecer sencillo, pero para probar una aplicación a fondo, realizará varias pruebas que parecen similares. El ID del caso de prueba ayuda a diferenciarlos.

**Descripción: Descripción de lo que está probando. En el ejemplo anterior, podría ser: "Añadir prospectos reales e interesados a nuestra base de datos de boletines"

Precondiciones: Todos los requisitos previos que deben cumplirse para utilizar esta función. Por ejemplo, hemos hablado anteriormente de la validación de cada campo. Además de eso, otras condiciones podrían incluir:

  • El usuario no debe estar suscrito al boletín de noticias
  • El usuario no debe haberse dado de baja del boletín de noticias

Pasos: Pasos que el usuario o el sistema deben seguir para completar la evaluación y marcarla como correcta.

  • El usuario introduce un nombre válido
  • El usuario introduce un ID de correo electrónico válido
  • El usuario marca la casilla de selección de privacidad
  • El usuario pulsa el botón de envío

Resultados esperados: Lista de lo que el sistema debe hacer a continuación.

  • Si el nombre de usuario no es válido, mostrar un mensaje de error
  • Si el ID de correo electrónico no es válido, mostrar un mensaje de error
  • Si el nombre de usuario y el ID de correo electrónico son válidos, guardar en la base de datos correspondiente
  • Una vez guardado en la base de datos, enviar un correo electrónico de confirmación al usuario

Resultados reales: Son las observaciones del probador después de ejecutar el caso de prueba. Esto es lo que se devolverá al desarrollador en caso de que algo no funcione correctamente.

  • Probado campo de nombre con Katy P3rry y fue aceptado como una entrada válida [aunque contiene un número]

Con eso, ya está todo listo para escribir casos de prueba eficaces. He aquí cómo.

Cómo escribir casos de prueba efectivos con ejemplos

Escribir un buen caso de prueba requiere tanto lógica de negocios como perspicacia tecnológica. Necesitas entenderlo desde el punto de vista del usuario en el mundo real, así como desde la perspectiva tecnológica en el mundo digital. A continuación se presenta un marco sólido para empezar en ese viaje.

1. Identificar escenarios de prueba

Antes de escribir casos de prueba, entienda los escenarios reales en los que se utilizará la función. Lea la historia del usuario, estudie el documento de requisitos o incluso discuta las especificaciones con el desarrollador.

Por ejemplo, los escenarios de prueba del ejemplo anterior serían: El usuario se suscribe correctamente al boletín.

En este paso, es importante preguntarse si el documento de requisitos describe al usuario de alguna manera específica.

Por ejemplo, si estás creando una funcionalidad de boletín de noticias sólo para clientes de pago, tendrás un escenario en el que los usuarios que no pagan podrían intentar suscribirse.

Por tanto, revisa a fondo los requisitos, las especificaciones y las historias de usuario.

2. Defina los objetivos del caso de prueba

En esta fase, defina lo que quiere conseguir con las pruebas. Por ejemplo, si sólo está probando si la función funciona según lo planeado, escribirá casos de prueba funcionales.

Sin embargo, si también necesitas que sea segura y eficaz, también escribirás los casos de prueba correspondientes. Esto le ayudará a agilizar sus pruebas ágiles proceso y presentar los resultados al equipo de desarrollo.

3. Redactar pasos claros y concisos

Esta fase es algo más que esbozar el flujo de trabajo. Es todo lo que el QA tiene que hacer para asegurarse de que la función funciona como se espera.

Que sea minucioso: Explicar lo más detalladamente posible. Incluya lo que debe ocurrir en función de la acción del usuario o del sistema. Por ejemplo, puede escribir:

  • Introduzca el nombre en el campo del nombre
  • Si el nombre contiene un número, muestre un mensaje de error: "Por favor, introduzca un nombre sólo con letras y espacios"
  • Si el nombre contiene caracteres especiales, muestre un mensaje de error, "Por favor, introduzca un nombre con sólo letras y espacio"
  • Si el nombre es un marcador de posición, muestre un mensaje de error: "Introduzca un nombre válido"
  • Si el nombre está validado, permitir al usuario que lo envíe

Que sea reutilizable: La mayoría de las funciones se solapan con otras funciones anteriores. Por ejemplo, los campos de suscripción a boletines pueden ser similares a los de creación de nuevas cuentas de usuario. Reutilícelos en la medida de lo posible para mantener la coherencia y la eficacia.

De hecho, también puedes crear reutilizables plantillas de documentos de requisitos de productos de las que es más fácil extraer escenarios y casos de prueba.

Dibujar el proceso: Para funciones complejas, puede resultarle difícil documentar todos los casos de prueba de forma lineal. En estos casos, prueba con un diagrama de flujo.

Pizarras ClickUp

Cómo hacer café en forma de diagrama de flujo con Pizarras ClickUp Pizarras ClickUp ofrece un lienzo en blanco altamente personalizable para visualizar el flujo de trabajo de sus funciones. No sienta la presión de hacerlo solo. Cree sus diagramas de flujo y compártalos con todas las partes interesadas (analistas de negocio, desarrolladores, gestores de pruebas, etc.) y consiga su aprobación antes de empezar

Ajustar el contexto: Mientras que el escenario de la prueba describe el contexto de la empresa, hay que describir claramente la configuración de la prueba. Incluya la versión del software, el sistema operativo/navegador, el hardware, los formatos de fecha/hora, la zona horaria, etc. Además, enlaza todos los documentos y recursos que puedan ser útiles durante la ejecución de la prueba.

4. Especifique los resultados esperados

Esta es la respuesta a qué ocurre si ¿Qué ocurre si se valida el campo del nombre? ¿Qué pasa si el campo nombre no está validado?

  • ¿Qué ocurre si el usuario ya es abonado? ¿Hay que rechazar su suscripción o volver a suscribirlo?
  • ¿Y si el usuario no es un cliente de pago? ¿Debería pedirle que pague ahora?
  • ¿Y si el usuario se ha dado de baja antes? ¿Debe volver a comprobarlo antes de volver a suscribirse?

De este modo, esboce los resultados esperados para cada posibilidad. Cuanto más compleja sea la función, más larga será la lista.

5. Incluir precondiciones y postcondiciones

Ahora, ninguna función es una isla. En el desarrollo de software, cada función está conectada a algo más, lo que significa que las pruebas tienen un número de precondiciones y postcondiciones.

Ejemplos de precondiciones

  • Debe ser un cliente de pago
  • Debe proporcionar un nombre y una dirección de correo electrónico válidos
  • Debe aceptar los términos y condiciones
  • Debe utilizar la última versión de Chrome
  • Debe iniciar sesión desde un móvil

Ejemplos de condiciones previas

  • Debe añadirse a la base de datos
  • Debe aceptar la suscripción en el correo electrónico de confirmación
  • Debe añadirse a la lista de boletines del CRM

Si eres un responsable de producto y quieres iniciarte en las pruebas, aquí tienes algunas de ellas herramientas sin código para jefes de producto .

Esto es lo básico, vayamos al grano.

Buenas prácticas para escribir casos de prueba

Seamos realistas: Escribir casos de prueba es un arte. Un buen caso de prueba arrojará incidencias y defectos que ni siquiera se visualizaron en los requisitos. Por ejemplo, ¿qué pasaría si el campo del nombre tuviera dos espacios? ¿O si el apellido del usuario tuviera un guión?

Para asegurarse de que sus casos de prueba están orientados a la entrega de software de alta calidad, tenga en cuenta las siguientes buenas prácticas.

🧠 Piense como un usuario

Antes de escribir tus casos de prueba, piensa desde la perspectiva de un usuario. Sea crítico y granular. En el ejemplo que hemos discutido hasta ahora, usted podría preguntar:

  • ¿Qué significa "nombre"? ¿Nombre? ¿Apellido? ¿O ambos?
  • ¿De quién es el nombre? ¿Debería el texto del nombre del campo decir "su nombre"?
  • ¿Debería haber un texto para guiar al lector?
  • Si el usuario introduce un nombre no válido, ¿debería el mensaje de error identificar qué es lo que está mal?

Póngase en la piel del usuario. Explore varias posibilidades e incluso casos extremos. Puede que no cree casos de prueba para todos, pero explorarlos ayuda a reforzar la función.

🎯 Céntrate en una cosa a la vez

No escribas un caso de prueba funcional que también sea un caso de prueba de usabilidad y un caso de prueba de base de datos. Pendiente de una cosa a la vez. De esta forma, cuando el resultado de una prueba sea correcto o incorrecto, sabrá exactamente qué ha funcionado o qué ha fallado.

Incluir demasiadas variables en una prueba complicará los problemas cuando la prueba falle.

👫 No lo hagas solo

Los casos de prueba definen la calidad del software. A pesar de que es el verificador en el proceso hacedor-verificador, necesita otra capa de revisión de dos personas. Así que, una vez que hayas escrito los casos de prueba, haz que sea revisado por pares.

Pide a un colega que revise lo que has escrito. Anímale a encontrar fallos y a que te dé su opinión crítica. Pendiente también de los analistas de negocio y los desarrolladores para comprender mejor su intención.

♻️ Crear plantillas reutilizables

Entre todas las buenas prácticas para escribir casos de prueba, la más valiosa es crear plantillas. Tanto si está probando funciones similares como si son completamente diferentes, una plantilla proporciona estructura a sus ideas. Incluya componentes clave, un mecanismo de automatización de la numeración o un marco para presentar todos los resultados de las pruebas.

Plantilla de casos de prueba ClickUp

Plantilla de casos de prueba de ClickUp es un ejemplo sencillo, pero potente, de cómo puede mejorar drásticamente la eficacia y la visibilidad con un marco de trabajo repetible. Esta plantilla para principiantes es personalizable, lo que permite a sus equipos hacer más cosas con mayor rapidez. ¿Y qué más? También puede utilizar esta plantilla para identificar candidatos para la automatización y redoblar sus esfuerzos de control de calidad.

🛠️ Utilice las herramientas adecuadas

En un equipo de desarrollo de software, escribir casos de prueba exhaustivos para funciones complejas puede ser una tarea que lleve mucho tiempo. Por no hablar de documentarlos y organizarlos para facilitar el acceso.

Pendiente de ello, elige la herramienta adecuada.

Herramientas y recursos para la gestión de casos de prueba

Una buena gestión de casos de prueba permite crear, organizar, ejecutar, registrar y supervisar lo que se está probando. Ayuda a los equipos de pruebas a garantizar el rigor sin perder eficacia. Ayuda a los equipos de desarrollo a ver las incidencias con claridad.

Aunque las ventajas son infinitas, los retos también lo son. La regla general para el número de casos de prueba por función es "tantos como sean necesarios" Según la función, pueden ser dos, es decir, uno positivo y otro negativo. Pueden ser tres, si el caso de prueba es condicional. O puede ser múltiple.

Para gestionar esto, se necesita una herramienta robusta. Algunas de las mejores herramientas modernas de control de calidad son:

TestRail

TestRail es una plataforma de gestión de pruebas para documentar y realizar el seguimiento de los planes de pruebas. Incluye funciones de trazabilidad, cobertura, automatización de pruebas y análisis. Se integra de forma nativa con un número de herramientas de desarrollo de software y ofrece una amplia API.

BrowserStack

BrowserStack es una herramienta de pruebas para apps, aplicaciones y navegadores. Ofrece pruebas para apps de iOS y Android, así como para sitios web en múltiples navegadores. Incluye módulos específicos para pruebas visuales, pruebas de accesibilidad, pruebas de observabilidad, automatización de bajo código, etc.

Jira

Como uno de los más populares gestión ágil de proyectos jira también sirve como herramienta de software de seguimiento de errores . Con Jira, puede escribir casos de prueba, enlazándolos a historias de usuario, errores conocidos u otras incidencias.

Sin embargo, como Jira no está diseñado para la gestión de casos de prueba, las funciones de (elaboración de) informes y automatización pueden ser limitadas.

ClickUp ClickUp para equipos de software es una herramienta de gestión de proyectos todo en uno, diseñada para dar compatibilidad a todos los aspectos del proceso de ingeniería. La gestión de casos de prueba no es una excepción.

Gestión de casos de prueba ClickUp

agilice la gestión de casos de prueba con ClickUp_

Escribir casos de prueba: ClickUp permite a los equipos gestionar la eficiencia de su backlog con sólidas funciones de seguimiento de errores y problemas. Gestione los casos de prueba existentes y cree otros nuevos con ClickUp. Utilice formularios para equipos de software para capturar solicitudes/errores y convertirlos automáticamente en tareas para el equipo.

Visibilidad para las operaciones: Puede verlo como un tablero Kanban a través de los estados o utilizar la vista de Calendario para programarlos. Gestione las tareas del equipo de control de calidad con la vista Carga de trabajo de ClickUp y pase las cosas a producción más rápidamente. Utilice Plantilla de seguimiento de errores e incidencias de ClickUp para tener una vista de pájaro de todo lo relacionado con las pruebas en su proyecto de desarrollo de software.

Automatización en la gestión de proyectos: Integre sin problemas la gestión de casos de prueba en su proceso de desarrollo de productos .

Utilice las automatizaciones de ClickUp para asignar el probador adecuado a cada caso de prueba. Cuando el QA cambie de estado, asígnelo automáticamente de nuevo al desarrollador para su revisión.

Con ClickUp para equipos ágiles cree listas de control reutilizables para añadirlas automáticamente a las tareas. Ajuste ClickUp Brain para ayudar a los equipos de control de calidad a redactar informes más rápidamente.

Buenas prácticas ya configuradas: Utilice las docenas de plantillas prediseñadas para estructurar su proceso de pruebas. Comience con las distintas plantillas de casos de prueba o plantillas de informes de incidencias .

Plantilla de gestión de pruebas de ClickUp

A continuación, pruebe Plantilla de gestión de pruebas de ClickUp para agilizar sus escenarios de prueba, casos de prueba y ejecuciones de prueba. Con esta plantilla, realice el seguimiento del proceso, evalúe los resultados y colabore con el equipo de desarrollo en la resolución de problemas y errores.

Para los principiantes, esta plantilla también cuenta con un completo documento "Cómo empezar" que le guiará a través del proceso.

¿Se pregunta cómo redactar un informe de pruebas? Tenemos una plantilla para ti. Descargue y utilice la plantilla para principiantes Plantilla de informes de prueba de ClickUp para resumir los resultados de sus pruebas y entregarlos a los desarrolladores.

Construya un gran software para cada caso con ClickUp

En el desarrollo de software, las pruebas juegan el rol crucial de asegurarse de que todo está bien bien. Soporte de 360 grados.

Valida el trabajo del equipo de desarrollo. Confirma la adecuación al propósito del equipo de empresa. Se mantiene fiel a las necesidades de funcionalidad, rendimiento, seguridad y privacidad del usuario.

La gestión de un proceso tan crítico y exhaustivo exige un conjunto de herramientas bien pensadas. Eso es precisamente ClickUp.

Tanto si sigue un modelo de desarrollo de software ágil, en cascada o híbrido, ClickUp está repleto de funciones, diseñadas para ser altamente personalizables y adaptarse a sus necesidades únicas.

Además de una potente y polifacética gestión de tareas, ClickUp también incluye un conjunto de pruebas, Automatizaciones DevOps integraciones y plantillas de gran impacto. Compruébelo usted mismo. Pruebe ClickUp gratis/a hoy mismo .