Las pruebas de productos son una etapa crucial en el desarrollo de software, y no toleran frivolidades. Se basa en herramientas y marcos de pruebas para llevar su producto de software a través de numerosos casos de prueba que simulan el uso en el mundo real. Para aprovechar todas las ventajas de su proceso de prueba de productos, debe probar su producto contra factores llamados métricas de prueba de software.
Estas métricas de pruebas de software son un estándar de medición mediante el cual un equipo de control de calidad evaluará la calidad y la eficacia del proceso de pruebas. En esta guía de métricas de pruebas de software, aprenderá lo siguiente:
¿Qué son las métricas de las pruebas de software?
Las métricas de pruebas de software son medidas cuantitativas con las que los equipos de control de calidad comprueban la eficacia, el progreso y el rendimiento de un sistema de pruebas de software. Las métricas de las pruebas de software permiten al equipo de control de calidad conocer mejor las áreas susceptibles de mejora, ya se trate de pruebas manuales o automatizadas.
El objetivo principal de las métricas de control de calidad es determinar si las técnicas de prueba actuales ayudan a alcanzar el nivel de calidad deseado. También son útiles para identificar los obstáculos y los asesinos de la productividad en el proceso de prueba, lo que resulta en lanzamientos de software más rápidos.
Las métricas de pruebas también simplifican la elaboración de informes de control de calidad, ya que se dispone de información respaldada por datos que ofrece una visión general instantánea de la eficacia del proceso de pruebas de software a lo largo del tiempo.
Para garantizar la máxima calidad del producto, algunas empresas desarrollan sus propias métricas para las pruebas de control de calidad. En otros casos, pueden utilizar una plantilla de métricas de pruebas para ahorrar tiempo.
¿Por qué son importantes las métricas de las pruebas?
¿Qué hace que las métricas de pruebas sean tan cruciales para las pruebas y el desarrollo de software? He aquí algunas razones por las que todos los equipos de entrega deberían introducir métricas de pruebas de software en sus flujos de trabajo:
- Evaluación imparcial. Los desarrolladores y los QA pueden evaluar si sus herramientas y el sistema de pruebas cumplen todas las normas exigidas o si necesitan modificarlo para aumentar la eficacia de las pruebas. Al basarse en métricas cuantitativas, se evitan las opiniones subjetivas.
- Mejor toma de decisiones. Las métricas de pruebas de software ayudan a los equipos de entrega a tomar decisiones más informadas sobre el proceso de pruebas. Por ejemplo, las métricas de pruebas de automatización revelarían si una prueba automatizada requeriría más tiempo del presupuestado. Podrían adaptar las pruebas futuras en función de lo que muestren las métricas.
- Visibilidad mejorada. El equipo de entrega puede determinar qué cambios de control de calidad deben realizar para garantizar que se detectan los errores críticos de forma coherente y que el producto cumple las normas. Las métricas de las pruebas ayudan a detectar las áreas más propensas a errores y a conectar los puntos entre determinadas acciones de los usuarios y los fallos de funcionamiento de la aplicación.
Beneficios de las Métricas de Pruebas de Software
Cuando los equipos de QA aplican metricas de prueba a sus proyectos, tienen mas percepciones y ven otras ventajas. Revisemos rapidamente algunos de los beneficios mas prominentes.
Eficiencia de Prueba Mejorada
Las métricas de prueba de software permiten a los QAs saber que mejoras necesitaría su sistema de prueba para ser más eficiente. Si el sistema de prueba no cumple con una métrica especifica, entonces esto le dice al QA que la técnica es deficiente en esa área y necesita algunos ajustes para compensarlo.
Mayor Calidad del Producto
La supervisión continua de su estrategia de pruebas le permite detectar los cuellos de botella en una fase temprana. El seguimiento regular de las métricas de las pruebas de rendimiento ayuda a mantener la aplicación estable y en funcionamiento, lo que contribuye a la seguridad y la calidad general del producto.
Mejor Mitigación de Riesgos
Las métricas de prueba le ayudan a notar patrones comunes y definir áreas de alto riesgo de su producto de software. Le permiten mejorar su sistema de pruebas asignando recursos sabiamente y enfatizando los aspectos de alto impacto que pueden causar mucho daño en caso de un defecto.
Perfeccionamiento Continuo
Las métricas de pruebas enseñan al equipo de control de calidad a no confiar únicamente en las herramientas de pruebas para garantizar la calidad. Cada proceso de desarrollo de productos tiene peculiaridades únicas, aunque siga los mismos pasos. Por lo tanto, es importante utilizar las métricas de prueba para ver qué está funcionando y aplicar nuevos métodos y técnicas de prueba si los resultados son deficientes.
Mayor Satisfacción del Cliente
Las métricas de pruebas ayudan a detectar más errores críticos antes de que pasen a producción, lo que se traduce en una experiencia de usuario más fluida. Gracias a la mejora de la eficacia, los equipos de entrega también pueden publicar actualizaciones y nuevas funciones con mayor frecuencia, lo que da a los usuarios la seguridad de que el producto está bien mantenido y es seguro.
Las métricas de pruebas ayudan a identificar los cuellos de botella en una fase temprana del ciclo de pruebas y a ver qué procesos o métodos requieren cambios.
Unas pruebas más eficientes equivalen a más errores descubiertos y a una mejor cobertura del código, lo que aumenta la calidad del producto.
Las métricas de prueba ayudan a identificar las áreas de alto riesgo de su aplicación y a evitar pérdidas de ingresos probando a fondo esos módulos.
Las métricas de prueba ayudan a mantener el listón de calidad alto y a lanzar actualizaciones con regularidad, lo que se traduce en una experiencia de usuario sin problemas.
Ciclo de vida de las métricas de prueba
El ciclo de vida de una métrica de pruebas consta de cuatro etapas: análisis, comunicación, evaluación y elaboración de informes. ¿Qué significan? Lo hemos desglosado todo en una tabla a continuación:
Análisis
- El primer paso consiste en identificar cada una de las métricas de garantía de calidad y definirlas para una comprensión clara.
Comunicación
- Asegúrese de que las partes interesadas y el equipo de control de calidad comprenden la necesidad de las métricas de pruebas de software. Utilice las viñetas de la sección anterior para explicar la importancia y las ventajas de las métricas de pruebas.
- Para el equipo de pruebas, ve más allá y asegúrate de que entienden qué puntos de datos deben capturarse para las métricas y por qué.
Evaluación
- Esta etapa consiste en capturar, cuantificar y verificar los datos.
- Una vez recopilados todos los datos, calcula el valor de las métricas.
Informes
- Reúna toda la información en un informe y formule una conclusión basada en el resultado de las métricas.
- Envía el informe por correo electrónico y distribúyelo entre las partes interesadas, los miembros del equipo de control de calidad y los desarrolladores, para que todos estén de acuerdo.
- Deja espacio para los comentarios de todos los que hayan recibido el informe.
Recuerde que no basta con establecer y utilizar métricas para el control de calidad. También tienes que recibir comentarios exhaustivos y actuar en consecuencia. Utiliza tus conocimientos, experiencia y discreción para decidir qué sugerencias deben aplicarse y cuáles no beneficiarían a tu proceso de desarrollo y a la calidad del producto.
Clases y tipos de métricas de pruebas de software
Como se ha visto en la sección anterior, la primera fase del ciclo de vida de las métricas de prueba es la fase de análisis, en la que el equipo de control de calidad identifica y define las métricas para las pruebas. Pero, ¿y si aún no sabe qué medir exactamente? Seguir una plantilla de métricas de pruebas es una decisión razonable.
Pero antes, debe saber que las métricas de las pruebas suelen clasificarse en cuatro clases principales:
- Métricas de proceso: Tienen que ver con la mejora de la eficacia del proceso de pruebas. Permiten al equipo de entrega saber qué parte de la estrategia de pruebas necesita mejoras y qué funciona bien.
- Métricas del producto: Sirven para medir la calidad del producto. Las métricas del producto incluyen las métricas de las pruebas de rendimiento, el número total de errores graves, la densidad de defectos, etc.
- Métricas del proyecto. Sirven para evaluar el rendimiento del equipo de control de calidad en su conjunto. La tasa de finalización de casos de prueba, la cobertura de automatización de pruebas y la tasa de resolución de defectos son ejemplos de métricas de proyecto.
- Métricas de personas. Su objetivo es evaluar las habilidades y la productividad de los probadores individuales y de todo el equipo de pruebas del proyecto. Aquí verá métricas como los problemas por reportero o la tasa de descubrimiento de defectos.
A la hora de decidir las métricas de prueba, tenga en cuenta el público objetivo de su producto y los objetivos de la prueba.
Tipos de métricas de prueba: Pruebas manuales y automatizadas
Las métricas de las pruebas también pueden agruparse en dos tipos: pruebas manuales y automatizadas. En las pruebas manuales, los analistas de control de calidad realizan todos los cálculos por sí mismos sin la ayuda de software de automatización. A su vez, se subdividen en métricas de base (datos brutos) y métricas calculadas (calculadas a partir de los datos brutos).
Algunos ejemplos de métricas básicas son el número de casos de prueba necesarios y el número de casos de prueba superados, fallidos o bloqueados. Un ejemplo de métrica calculada es el ratio de deslizamiento de defectos.
Para las métricas de pruebas de automatización, el equipo de garantía de calidad utiliza herramientas y técnicas que recopilan y procesan la información automáticamente. Un ejemplo de métrica de pruebas de automatización es la eficacia del script de automatización.
Entre ambos tipos, los desarrolladores suelen preferir laspruebas automatizadas y las métricas porque son más rápidas aunque más complejas. Las pruebas automatizadas requieren una actualización constante y una buena comprensión de cómo utilizar las métricas de prueba en relación con el lenguaje, la herramienta y la biblioteca.
Métricas de pruebas de software más importantes
Las métricas de las pruebas de software variarán en función de las necesidades específicas del proyecto. Sin embargo, hemos enumerado algunas de las más comunes, que cualquier equipo de control de calidad podría adoptar fácilmente:
- Cobertura de las pruebas: le permite estimar aproximadamente lo completo que es su proceso de pruebas. Le da una idea de hasta qué punto los casos de prueba existentes cubren el código de la aplicación y si el equipo de control de calidad ha ejecutado todos los casos de prueba. Puede medir la cobertura de las pruebas por función, interfaz gráfica de usuario, casos de uso, riesgos, etc.
- Cobertura de automatización de pruebas: se utiliza para calcular el porcentaje de casos de prueba automatizados. Le permite ver oportunidades adicionales para la automatización de pruebas, lo que resulta en lanzamientos más rápidos y ahorro de costes.
- Densidad de defectos: ayuda a determinar si un módulo de software está listo para su lanzamiento. Mide el número de defectos encontrados por funcionalidad. Para calcular esta métrica de prueba, divida el número de errores por las líneas de código. 1 fallo por cada 1000 líneas de código se considera un indicador de gran calidad del software.
- Distribución de defectos: te permite ver qué áreas de tu aplicación son susceptibles de tener errores o qué acciones del usuario suelen provocar fallos. Puede medir la distribución de defectos por gravedad, módulo, tipo de prueba, etc. Esta métrica de prueba ayuda a destacar las partes más problemáticas de su software.
- Tiempo de reparación de defectos: le da una idea de cuánto tiempo suele pasar desde que se informa del defecto hasta que se repara. Si externaliza las pruebas de software y desea reducir el tiempo de corrección de defectos, busque proveedores con la diferencia horaria adecuada para beneficiarse de las pruebas nocturnas. De este modo, no se pierde tiempo esperando la respuesta de los QA.
- Causa del defecto: le muestra la raíz del problema. Al analizar los resultados de los casos de prueba, asegúrese de mencionar la causa del problema. ¿Apareció el fallo debido a una laguna en los requisitos, errores de código, errores de arquitectura, entorno mal configurado?
- Índice de gravedad de los defectos: indica la salud general de su producto. Cuanto más bajo sea el índice, mejor. En función de su impacto en el software, a cada defecto se le asigna un número, como 8 para un bloqueador y 1 para un fallo menor. Para calcular el índice, multiplique el número de fallos por el número asignado y divida su suma por el número total de defectos.
- Eficacia de la contención de defectos: mide la eficacia del proceso de pruebas. En términos sencillos, muestra la calidad de los casos de prueba y las técnicas de detección de errores antes de que el código pase a producción. Un ratio alto significa que la mayoría de los errores se detectan a tiempo. Para calcularlo, divida el número de errores detectados durante la fase de pruebas por la suma de los errores detectados durante las pruebas y después de la publicación, y multiplíquelo por 100.
- Cumplimiento del calendario: le permite saber si el tiempo de las pruebas ha superado el calendario o ha sido inferior a la duración prevista. Esta información es vital para mejorar la planificación del proyecto y conseguir lanzamientos de software coherentes.
Ejemplo de Fórmulas de Métricas de Pruebas de Software
Una vez que aprenda a calcular las métricas de pruebas de software, se dará cuenta de que no son difíciles en absoluto. He aquí algunos ejemplos de fórmulas de cálculo de métricas de pruebas de software:
Casos de prueba ejecutados Porcentaje
(Número de casos de prueba ejecutados Número total de casos de prueba escritos) 100
desarrollo en corregir los defectos
de defectos
Número de pruebas realizadas por periodo de tiempo
Número de pruebas realizadas Tiempo total
Creep de requisitos
(Número total de requisitos añadidos Número de requisitos iniciales) 100
Casos de prueba superados Porcentaje
(Número de pruebas superadas Número total de pruebas ejecutadas) 100
Defectos críticos Porcentaje
(Defectos críticos Total de defectos notificados) 100
Defectos aplazados Porcentaje
(Defectos aplazados para futuras versiones Total de defectos notificados) 100
Porcentaje de defectos aceptados
(Defectos aceptados como válidos por el equipo de desarrollo Total de defectos notificados) 100
Porcentaje de defectos corregidos
(Defectos corregidos defectos comunicados) 100
Casos de prueba bloqueados Porcentaje
(Número de pruebas bloqueadas Número total de pruebas ejecutadas) 100
Casos de prueba fallidos Porcentaje
(Número de pruebas fallidas Número total de pruebas ejecutadas) 100
Coste de los defectos encontrados
Esfuerzo total dedicado a comprobar los defectos encontrados en las pruebas
Desviación del calendario
(Fecha de finalización real – Fecha de finalización prevista) (Fecha de finalización prevista – Fecha de inicio prevista) 100
Desviación del calendario
(Fecha de entrega real – Fecha de entrega prevista)
Basándonos en las fórmulas anteriores, vamos a calcular manualmente algunas métricas de prueba. En primer lugar, seleccionaremos las métricas base para la prueba y encontraremos los valores de esas métricas. A continuación se muestra una tabla con las métricas y los valores que utilizaremos para nuestro ejemplo:
1
Número de requisitos
10
2
Número medio de casos de prueba redactados por requisito
20
3
Número total de casos de prueba escritos para todos los requisitos
200
4
Número total de casos de prueba ejecutados
150
5
Número de casos de prueba superados
90
6
Número de casos de prueba fallidos
30
7
Número de casos de prueba bloqueados
30
8
Número de casos de prueba no ejecutados
50
9
Número total de defectos identificados
45
10
Número de defectos críticos
5
11
Recuento de defectos graves
15
12
Recuento de defectos medios
20
13
Recuento de defectos bajos
10
Ejemplos de cálculos de métricas de prueba
A continuación, seguiremos algunas de las fórmulas e introduciremos las cifras respectivas para nuestro ejemplo de cálculo.
Porcentaje de casos de prueba ejecutados
Fórmula: (Número de casos de prueba ejecutados Número total de casos de prueba escritos) 100
Cálculo: (150 200) 100 = 75%.
Porcentaje de casos de prueba superados
Fórmula: (Número de pruebas superadas Número total de pruebas ejecutadas) 100
Cálculo: (90 150) 100 = 60%.
Porcentaje de casos de prueba fallidos
Fórmula: (Número de pruebas fallidas Número total de pruebas ejecutadas) 100
Cálculo: (30 150) 100 = 20%.
Porcentaje de defectos críticos
Fórmula: (Defectos críticos Total de defectos notificados) 100
Cálculo: (5 45) 100 = 11%.
Una vez que tenga los resultados, puede compararlos con los puntos de referencia del sector o internos y ver si hay desviaciones drásticas. También puede ver cómo se comparan con los datos históricos de la empresa.
Reflexiones finales
Las métricas de pruebas son excelentes para poner de relieve las ineficiencias en el proceso de pruebas de software. Proporcionan a los directores de entrega y a los analistas de pruebas información oportuna sobre la calidad del producto y el rendimiento general del equipo.
Si se da cuenta de que su proceso de pruebas de software se ha vuelto ineficaz o nunca ha dado los resultados esperados, puede que necesite evaluar sus flujos de trabajo con nuevos ojos. Nosotros en QAwerk hemos probado más de 300 proyectos para empresas en toda América del Norte, Europa, Australia y Nueva Zelanda, ayudándoles a establecer procesos de pruebas eficaces, acelerar los ciclos de entrega, y lograr una cobertura decente con pruebas manuales y automatizadas.
No dude en ponerse en contacto con nosotros para programar una sesión gratuita y sin compromiso, donde exploraremos sus desafíos diarios de control de calidad y ofreceremos posibles soluciones a los mismos, basándonos en nuestra larga experiencia en comercio electrónico, medios de comunicación y entretenimiento, salud, UX y tecnología financiera.
¡Buena suerte con su viaje de pruebas de software!