test coverage software testing
Guía completa de cobertura de pruebas de pruebas de software: Cómo probar más, ahorrar tiempo y lograr mejores resultados de prueba:
La prueba de software es una actividad esencial en los ciclos de vida de desarrollo y mantenimiento de software. Es una práctica que se utiliza a menudo para decidir y mejorar la calidad del software.
El desarrollo es más sistemático hoy en día y las organizaciones buscan medidas de integridad y eficacia de las pruebas para mostrar los criterios de finalización de las pruebas. De todos ellos, la cobertura se considera especialmente valiosa.
Lo que vas a aprender:
- ¿Qué es la cobertura de prueba?
- Cobertura de prueba y cobertura de código
- Mi experiencia
- Significado de la cobertura de prueba
- ¿Cómo adoptar un método de cobertura de prueba adecuado?
- ¿Cómo asegurarse de que todo esté probado?
- Áreas y métodos críticos para pruebas efectivas
- Ventajas del conocimiento de la cobertura de prueba para un evaluador:
- Conclusión
- Lectura recomendada
¿Qué es la cobertura de prueba?
En pocas palabras, la cobertura es '¿Qué estamos probando y cuánto estamos probando?'
La cobertura de pruebas ayuda a monitorear la calidad de las pruebas y ayuda a los evaluadores a crear pruebas que cubran áreas que faltan o no están validadas.
La mayoría de los equipos basan sus cálculos de cobertura únicamente en los requisitos funcionales. También es justo porque, ante todo, una aplicación debe hacer lo que se supone que debe hacer. Si no es así, su velocidad, seguridad o facilidad de uso, nada de eso importa.
Sin embargo, si es dedicado e independiente pruebas no funcionales los equipos están trabajando en pruebas de rendimiento, seguridad, usabilidad, etc., luego tendrán que hacer un seguimiento de sus requisitos hasta la ejecución a través de análisis de cobertura de prueba.
Cobertura de prueba y cobertura de código
La cobertura de prueba a menudo se confunde con la cobertura de código. Aunque los principios subyacentes son los mismos, son dos cosas diferentes.
Cobertura de código realmente habla de prácticas de pruebas unitarias que deben apuntar a todas las áreas del código al menos una vez y las realizan los desarrolladores.
La cobertura de prueba, por otro lado, es probando cada requisito al menos una vez y es obviamente una actividad del equipo de control de calidad.
Lo que realmente califica para ser un requisito cubierto depende de la interpretación de cada equipo.
Por ejemplo , Algunos equipos consideran que un requisito está cubierto si hay al menos un caso de prueba en su contra. A veces, está cubierto si se le asigna al menos un miembro del equipo. O, si se ejecutan todos los casos de prueba asociados con él.
- Si se crean 10 requisitos y 100 pruebas, cuando estas 100 pruebas tienen como objetivo los 10 requisitos y no omiten ninguno, lo llamamos cobertura de prueba adecuada en el nivel de diseño.
- Cuando solo se ejecutan 80 de las pruebas creadas y se dirigen solo a 6 de los requisitos. Decimos que 4 requisitos no están cubiertos a pesar de que se realiza el 80% de las pruebas. Se trata de estadísticas de cobertura a nivel de ejecución.
- Cuando solo 90 pruebas relacionadas con 8 requisitos tienen evaluadores asignados y el resto de ellos no, decimos que la cobertura de la asignación de prueba es del 80% (8 de 10 requisitos).
También es importante saber cuándo calcular la cobertura.
Si hace esto demasiado pronto en el proceso, verá muchas lagunas porque las cosas aún están incompletas. Por lo que generalmente se recomienda espera hasta la última construcción es decir, compilación de regresión final. Esto dará una cobertura correcta de las Pruebas realizadas para los Requisitos dados.
Leer también => Proceso de gestión de lanzamiento y despliegue
Mi experiencia
Escena hace 8 años: Cuando tenía 2 años de experiencia en la industria de pruebas de software, pensaba que estaba bien si no conociera algunos fundamentos sobre las pruebas de software como algo que uno puede aprender con la experiencia y yo también lo haré.
Yo tenía razón, y también estaba equivocado.
Justo porque con la experiencia aprendes a ver un panorama más amplio, comprendes el significado real de “Situación crítica” y comprendes más al usuario final.
Incorrecto porque ninguna de las cosas mencionadas requiere experiencia, sino aprendizaje temprano, que entendí muy tarde. Ese es el factor alentador para escribir este post.
Aquí está mi experiencia de una de las entrevistas en ese momento:
¿Cómo se asegura de que la cobertura de la prueba sea completa o máxima? Me preguntaron.
Ummmm …… Me aseguro de probar todas las funciones , Yo dije.
S o está diciendo que una vez que prueba todas las funcionalidades, siente que ha cubierto un máximo de aplicación / producto, en términos de prueba , el entrevistador fracasó.
Ummm ... bueno ... .ummm ... sí, porque cuando prueba todas las funcionalidades, confía en el comportamiento de la aplicación / producto, Apoyé mi respuesta .
Estoy de acuerdo, pero mi pregunta es: ¿le dará confianza en que la cobertura de sus pruebas es máxima o completa? el entrevistador no estaba de humor para dejarme ir.
Ahora, me estaba impacientando, sin saber el hecho de que iba a aprender uno de los temas más importantes sobre las pruebas de software: “ Cobertura de prueba ' .
En lugar de reproducir los extractos de la entrevista, estoy resumiendo aquí lo que aprendí sobre Cobertura de pruebas ese día. Pero antes de eso, seamos claros en un punto: la cobertura de pruebas no significa nunca saber si estás probando lo suficiente o no, ni significa que estás probando perfectamente o no.
Significado de la cobertura de prueba
La cobertura de prueba puede tener un significado diferente en un contexto diferente. Descubramos esos contextos uno por uno:
Cobertura del producto: ¿Qué aspectos del producto examinó?
Sí, cuando la cobertura de prueba se mide en términos de producto, el área principal en la que debe centrarse es: ¿qué áreas del producto ha probado y cuál sigue sin probar?
Ejemplo 1:
Si 'cuchillo' es un producto, está probando; simplemente no se concentre en comprobar si corta las verduras / frutas correctamente. Hay otros aspectos a tener en cuenta, tales como: el usuario debe poder manejarlo cómodamente.
Ejemplo # 2:
Si 'bloc de notas' es una aplicación, está probando, comprobar las funciones relevantes es algo imprescindible.
Pero otros aspectos a tener en cuenta son: la aplicación responde correctamente mientras se usan otras aplicaciones simultáneamente, la aplicación no se bloquea cuando el usuario intenta hacer algo inusual , el usuario recibe los mensajes de error / advertencia adecuados, el usuario puede comprender y utilizar la aplicación fácilmente, el contenido de ayuda está disponible cuando es necesario.
Si no analiza los escenarios mencionados, no puede afirmar que la cobertura de prueba para la aplicación esté completa.
Cobertura de riesgos: ¿qué riesgos ha probado?
La cobertura de riesgos es otro aspecto para tener una cobertura de pruebas completa. No puede etiquetar el producto o la aplicación como 'probado' hasta que también pruebe los riesgos asociados. La cobertura de los riesgos asociados es un factor importante en la cobertura general de las pruebas.
Ejemplo 1:
Mientras prueba un avión, si un probador le dice que ha probado completamente el sistema interno del avión y está funcionando bien, pero durante la prueba solo no se cubrió la capacidad de vuelo del avión, ¿cuál sería su reacción?
Bueno, eso es lo que significa la cobertura de riesgos. Identificar el riesgo según la aplicación / producto y probarlo a fondo es siempre una buena práctica.
Ejemplo # 2:
Al probar un sitio de comercio electrónico, el evaluador consideró todos los factores efectivos, pero no consideró el riesgo de que una cantidad de usuarios acceda al sitio web simultáneamente y en el día de la Súper OFERTA, el riesgo no considerado resultó ser un gran error.
Lectura recomendada =>
Cobertura de requisitos: ¿qué requisitos ha probado?
Si un producto o una aplicación se desarrolla muy bien, pero si no se ajusta a los requisitos del cliente, no sirve de nada. La cobertura de los requisitos durante las pruebas es tan importante como la cobertura del producto.
Ejemplo 1:
Emocionado por la función familiar, le pidió al sastre que cosiera su vestido y se pusiera esos botones azul pavo real en el escote.
Mientras cosía el vestido, el sastre pensó que poner esos botones en el escote no se vería bien, así que cosió un borde de color dorado. El día de la prueba, definitivamente, el cliente descontento le gritó al sastre que no cumpliera con los requisitos.
Ejemplo # 2:
Mientras probaba una aplicación de chat, el probador se ocupó de todos los puntos importantes, como múltiples usuarios chateando en un grupo, dos usuarios chateando de forma independiente, todos los tipos de emoticonos disponibles, actualizaciones enviadas al usuario de inmediato, etc., pero se olvidó de consultar el documento de requisitos, que claramente mencionó que cuando dos usuarios chatean de forma independiente, la opción de videollamada debe estar habilitada.
El cliente comercializó la aplicación de chat alegando que permitiría llamar, mientras que dos usuarios conversan de forma independiente. Puedes imaginar lo que le habría pasado a la aplicación de chat.
también leer => Cómo crear una matriz de trazabilidad de requisitos
¿Cómo adoptar un método de cobertura de prueba adecuado?
La conciencia lo es todo:
Lo primero es lo primero, el equipo de control de calidad debe saber cuánto trabajo implica y dónde se encuentran las tareas de diseño. De esta manera, estarán al tanto si se van a agregar más pruebas. Para hacer esto, puede usar un RTM como es la práctica típica.
=> Consulte este artículo para saber más sobre él y cómo usarlo: Cómo crear una matriz de trazabilidad de requisitos: proceso exacto con plantilla de muestra
En segundo lugar, verifique la asignación de recursos y proceso de ejecución de prueba para ver si todo se prueba de la manera más efectiva.
Una tabla como la siguiente puede resultar útil:
Tipo de prueba | Casos totales | Casos ejecutados | Estado | Comentarios |
---|---|---|---|---|
Funcional | 100 | 80 | 50 pasa, 30 falla | |
Compatibilidad | 100 | 50 | 45 pasa, 5 falla | |
Usabilidad | 100 | 100 | 98 pasa, 2 falla | |
Regresión final | 100 | 100 | 99 pasa, 1 falla |
¿Cómo asegurarse de que todo esté probado?
- Todo probador debe conocer los requisitos y los métodos de prueba.
- Priorice sus requisitos y enfoque su energía donde más se necesita
- Recibir información sobre las diferencias entre una versión determinada y la anterior para que pueda identificar los requisitos críticos con mayor precisión y centrarse en la máxima cobertura positiva.
- Adaptar la automatización de pruebas
- Utilice las herramientas de gestión de pruebas para estar siempre informado
- Asignación de trabajo inteligente: canalice sus mejores recursos hacia tareas críticas y permita que los nuevos evaluadores exploren más para obtener una nueva perspectiva
- Mantener un lista de verificación para todas las tareas y actividades diversas
- Interactúe más con sus equipos Dev / Scrum / BA para obtener información sobre el comportamiento de la aplicación
- Mantenga un registro de todos sus ciclos de compilación y correcciones
- Identifique los problemas más impactantes en las compilaciones iniciales en sí (cuando sea posible) para que las posteriores puedan funcionar para una mejor estabilidad y llegar a las áreas bloqueadas por problemas anteriores
Áreas y métodos críticos para pruebas efectivas
#1)Mezcla de recursos: Intercambia tareas entre los miembros de tu equipo. Esto ayuda a mejorar el compromiso y evitar la concentración de conocimientos.
#2)Cobertura de compatibilidad: Asegúrese de conocer e incluir los diferentes navegadores y plataformas para probar su aplicación.
#3)Propiedad: Haga que los evaluadores sean responsables y déles rienda suelta (con monitoreo y soporte, por supuesto) para el módulo / tarea en el que están trabajando. Esto ayuda a generar responsabilidad y les permite probar formas creativas en lugar de seguir a los vencidos por el camino.
mejor sitio de descarga de música para Android
#4)Plazos: Conocer los plazos de publicación antes del comienzo de la fase de prueba ayuda a una planificación eficaz
#5)Comunicación : Mantente en contacto con el desarrollador y otros equipos entre ciclos de lanzamiento para saber qué está pasando.
#6)Mantenga un RTM: Actúa como un buen derivado de la Partes interesadas o clientes , según el cual se puede confirmar el calendario de lanzamiento
Ventajas del conocimiento de la cobertura de prueba para un evaluador:
- Ayuda principalmente a priorizar las tareas de prueba
- Ayuda a lograr una cobertura de requisitos del 100% o, en otras palabras, evita la fuga de requisitos.
- Análisis de impactos se vuelve más fácil
- Útil para determinar la Criterio de salida
- Permite que un cable de prueba prepare una informe de cierre de la prueba
Conclusión
La cobertura de la prueba no termina con los contextos mencionados. Hay muchos otros puntos que deben tenerse en cuenta cuando se trata de probar la cobertura.
No siempre es cierto que cuando pruebas más, los resultados son mejores. De hecho, cuando pruebe más sin una estrategia aparente, probablemente termine invirtiendo mucho tiempo.
Con un enfoque más estructurado, un objetivo de cobertura de requisitos del 100% y métodos de prueba efectivos, no comprometerá la calidad.
Esperamos que las técnicas descritas en este artículo le proporcionen algunos consejos.
Agregue sus comentarios y opiniones sobre la publicación. Como de costumbre, nos encantaría saber de ti.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Trabajo de asistente de control de calidad de pruebas de software
- Curso de pruebas de software: ¿A qué instituto de pruebas de software debo unirme?
- Elegir las pruebas de software como carrera
- Prueba de software Escritor de contenido técnico Trabajo autónomo
- ¿Es la prueba de software una tarea emocional?
- Algunas preguntas interesantes de la entrevista sobre pruebas de software
- Comentarios y revisiones del curso de pruebas de software