Todo el mundo conoce la importancia de asignar prioridades a los defectos. La prioridad que asignamos a los defectos es crucial para el éxito de un proyecto. Por tanto, la prioridad que se le asigna a un Caso de prueba (test case) es igual de importante. Podríamos discutir durante horas cual es la mejor herramienta para gestionar este tipo de situaciones, al igual que usamos una herramienta para gestionar y priorizar nuestros defecto se podrían usar muchas de las herramientas de este tipo que hay en el mercado, pero este no es el objetivo de este artículo.



El concepto de la priorización de Casos de Prueba
Básicamente, un Caso de Prueba en si mismo, sólo, no significa nada para nadie. Un Caso de Prueba es una pieza en un puzzle, una pieza no nos sirve de nada si no tenemos el conjunto completo que forme un contexto. ¿Cómo creamos un contexto? Agrupando nuestros casos de prueba dentro de áreas funcionales. Una vez tenemos definidas nuestras áreas funcionales, asociamos cada caso prueba a su área y le asignamos una prioridad. Así, la prioridad es usada para identificar como de importante un Caso de Prueba es dentro de un contexto definido. Los valores de la prioridad son especificados en términos, por dar un ejemplo, de P1, P2, P3, P4 ó P5 siendo P1 la prioridad más alta y P5 la más baja.

Como establecer la prioridad correcta.
No te puedo ayudar a decidir con precisión la prioridad de tus pruebas, ya que depende de otros factores como el producto ó la aplicación a probar. Aún así, puedo darte algunas recomendaciones que pueden ayudarte para comenzar. Hay algunos aspectos para establecer correctamente la prioridad de tus casos de prueba:
o Define el significado de cada nivel de prioridad
o Revisa los resultados de ejecuciones anteriores para determinar la prioridad.
o Revisa el número de defectos encontrados en versiones anteriores.
o Identifica en que áreas los defectos han sido arreglados.
o Identifica la nueva funcionalidad.

Comentaré un poco más en profundidad cada uno de esto aspectos

1 – Define el significado de cada nivel de prioridad
Puede ser de mucha ayuda se escribe un documento con la descripción de cada uno de los 5 niveles. Este documento le será de gran utilidad al equipo de calidad.

2 – Revisa los resultados de ejecuciones anteriores para determinar la prioridad
Revisar los resultados de versiones anteriores te ayudará a priorizar mejor los casos de prueba de la próxima versión. Todo depende si se han encontrado un gran número de defectos en rondas pasadas ó si simplemente se ha añadido nueva funcionalidad.

3 – Revisa el número de defectos encontrados en versiones anteriores.
Basándonos en el punto anterior, los defectos encontrados en versiones pasadas nos pueden gran muchas pistas del nivel de prioridad que debemos de asignar a nuestros casos de prueba.

4 – Identifica en que áreas los defectos han sido arreglados.
Si tenemos áreas con muchos defectos arreglados esto significa que nuevo código ha sido añadido, quitado o modificado. Esto implicará que los casos de pruebas afectados por estas modificaciones, deben de ser ejecutados y se les debe asignar una prioridad mayor. Identifica estos casos.

5 – Identifica la nueva funcionalidad
Los casos de prueba a hayan sufrido modificaciones por añadirse nueva funcionalidad o cambios en requisitos, etc…deben de ser identificados y ser asignado con prioridad alta.

6 – Ejecuta los casos de prueba de prioridad alta primero.
Como es de imaginar, aunque no siempre sucede, los casos de prueba a los que les hemos asignado una prioridad alta, los debemos de ejecutar primero.

Resumen
En este breve pero importante artículo, he explicado algunas de las consideraciones que tenemos que tener en cuenta a la hora de asignar prioridades a nuestros casos de prueba. Una labor muy importante que ayuda a los jefes de equipo de QA a saber la el peso de cada caso de prueba dentro del proyecto, una tarea crítica para el éxito del proyecto