seguridad - testing de software ejemplos
Escritura de pruebas de calidad (7)
Creo que el caso de uso es muy útil para obtener la mejor cobertura de prueba. Si tiene su funcionalidad en términos de caso de uso, se puede convertir fácilmente en diferentes escenarios de prueba para cubrir los aspectos positivos, negativos y excepciones. El caso de uso también establece los requisitos previos y la preparación de datos, si corresponde, para el mismo que resulta muy útil al escribir casos de prueba.
Sabemos que la cobertura del código es una métrica pobre para usar cuando se mide la calidad del código de prueba. También sabemos que probar el lenguaje / marco es una pérdida de tiempo.
Por otro lado, ¿qué métricas podemos usar para identificar las pruebas de calidad? ¿Hay alguna práctica recomendada o regla general que haya aprendido para ayudarlo a identificar y redactar pruebas de mayor calidad?
Asegúrese de que sea fácil y rápido escribir pruebas. Luego escribe muchos de ellos.
Descubrí que es muy difícil predecir de antemano qué pruebas serán las que terminarán fallando ahora o en una etapa muy posterior. Tiendo a enfocarme con armas de dispersión, tratando de atacar casos en las esquinas si puedo pensar en ellos.
Además, no tengas miedo de escribir pruebas más grandes que prueben un montón de cosas juntas. Por supuesto, si la prueba falla, podría llevar más tiempo descubrir qué fue lo que salió mal, pero a menudo los problemas solo surgen una vez que comienzas a unir las cosas.
Mis reglas generales:
- Cubra incluso casos de prueba más simples en su plan de prueba (no se arriesgue a dejar sin probar la funcionalidad más utilizada)
- Rastrear el requisito correspondiente cerca de cada caso de prueba
- Como dice Joel , tenga un equipo aparte que haga pruebas
No estoy de acuerdo con que la cobertura del código no sea una métrica útil. Si no tiene una cobertura de código del 100%, eso al menos indica áreas que necesitan más pruebas.
En general, sin embargo, una vez que obtiene una cobertura de declaración adecuada, el siguiente lugar lógico es escribir pruebas que estén diseñadas para verificar directamente los requisitos que el código se escribió para cumplir, o que están destinados a enfatizar los casos límite. Ninguno de estos caerá naturalmente de cualquier cosa que pueda medir fácilmente directamente.
escribir pruebas que verifiquen la funcionalidad básica y los casos de uso individuales de la intención del software. Luego escriba pruebas para verificar los casos límite y verifique las excepciones esperadas.
en otras palabras, escriba buenas pruebas unitarias desde la perspectiva del cliente y olvídese de las métricas para el código de prueba. ninguna métrica le dirá si su código de prueba es bueno, solo el software que funciona le indica cuándo el código de prueba es bueno.
- Asegúrese de que sus pruebas sean independientes entre sí. Una prueba no debe depender de la ejecución o los resultados de alguna otra prueba.
- Asegúrese de que cada prueba tenga criterios de entrada claramente definidos, pasos de prueba y criterios de salida.
- Configure una Matriz de Trazabilidad de Verificación de Requisitos (RVTM). Cada prueba debe verificar uno o más requisitos. Además, cada requisito debe ser verificado por al menos una prueba.
- Asegúrate de que tus pruebas sean identificables. Establezca una convención simple de nombres o etiquetado y apéguese a ella. Haga referencia al identificador de prueba al registrar defectos.
- Trata tus pruebas como tratas tu código. Tenga un proceso de desarrollo de prueba que refleje su proceso de desarrollo de software. Las pruebas deben tener revisiones por pares, estar bajo control de versiones, tener procedimientos de control de cambios, etc.
- Clasifica y organiza tus pruebas. Facilite encontrar y ejecutar una prueba, o conjunto de pruebas, según sea necesario.
- Haga sus pruebas lo más breve posible. Esto los hace más fáciles de ejecutar y automatizar. Es mejor realizar muchas pruebas pequeñas que una prueba grande.
- Cuando falla una prueba, facilite ver por qué falló la prueba.
Hay dos buenas maneras de verificar la calidad de la prueba
1. Revisión del código
Con la revisión del código es posible verificar los pasos importantes definidos por @Patrick Cuff en su respuesta https://.com/a/197332/516167
La revisión del código es un examen sistemático (a menudo conocido como revisión por pares) del código fuente de la computadora. Su objetivo es encontrar y corregir los errores que se pasan por alto en la fase de desarrollo inicial, mejorando tanto la calidad general del software como las habilidades de los desarrolladores.
2. Prueba de mutación
El segundo es más barato: es un trabajo automatizado que mide la calidad de la prueba.
Las pruebas de mutación (o el análisis de mutación o la mutación del programa) se utilizan para diseñar nuevas pruebas de software y evaluar la calidad de las pruebas de software existentes .
Preguntas relacionadas