¿Cómo se diseñan los buenos casos de prueba?

En este artículo, hablamos principalmente de la habilidad más común y fundamental de un ingeniero de pruebas, la capacidad de diseñar casos de prueba.

caso de prueba

Un caso de prueba es un documento diseñado para enfocarse en cómo producir resultados específicos usando la tecnología de prueba determinada en el plan de prueba para refinar y refinar las condiciones de prueba determinadas paso a paso.

En términos sencillos, es convertir las acciones que desea probar en qué circunstancias, qué acciones realizar, qué métodos de datos usar y qué tipo de resultados desea obtener al final en un caso de prueba. Por lo tanto, cada caso de prueba debe tener sus condiciones previas, sus eventos y parámetros correspondientes, y finalmente los resultados esperados. Este es un caso de prueba calificado.

Por ejemplo, la función de inicio de sesión, ahora básicamente todos los sitios web, aplicaciones, etc. botón de inicio de sesión y vea Ha iniciado sesión correctamente. Esta es la operación más simple y constituye nuestro primer y más normal caso de prueba. También incluye varios elementos mencionados anteriormente:

Condición previa : un usuario existente

Acciones  y parámetros: Introduzca el nombre de usuario y la contraseña correctos y haga clic en Iniciar sesión

·  Resultado esperado: inicio de sesión exitoso

Este es, por supuesto, un caso de prueba completo, pero por supuesto no es suficiente para un módulo de inicio de sesión, este es solo uno de los casos de prueba calificados en este módulo. Entonces, ¿cómo escribir más casos de prueba? Ahora es el momento de mirar nuestro verbo: diseñar. El diseño en realidad corresponde a un conjunto de métodos, solo con el método correcto podemos diseñar casos de prueba calificados.

diseño de caso de uso

Métodos de diseño de casos de prueba más comunes

·  Método de división de clases de equivalencia

·  Método del valor límite

·  Método de diseño de diagramas causa-efecto

·  Método de diseño de tablas de decisión

·  Método experimental ortogonal

·  Error de cálculo

·  Método de escena

En cuanto a los principios, principios y cómo usarlo, hay mucha información en Internet, por lo que no hablaré de eso aquí. Hay tantos métodos, así que cómo elegir al diseñar. Aquí hay un chiste que está circulando en Internet.

Elija la equivalencia para la clasificación de entrada, agregue límites para un rango determinado, combine condiciones para determinar la causa y el efecto, determine si las condiciones están aisladas, use la ortogonalidad para el agotamiento infinito, use el método de escenarios comerciales complejos, confíe en la experiencia para adivinar errores y cubra completamente el prueba.

¿Se pueden utilizar todos estos métodos? La respuesta es No. En mi prueba de cognición, los métodos más utilizados son el valor límite, la clase de equivalencia, el método de escenarios y la adivinación de errores. Entonces, para resumir, nuestras ideas de diseño en el trabajo real son probablemente:

·  Usar el método de división de clases de equivalencia para dividir la mayoría de los casos de prueba de diseño de escenarios

En cualquier caso, se debe utilizar el método de análisis de valor límite.La experiencia demuestra que los casos de prueba diseñados con este método tienen la mayor capacidad para encontrar errores  de programa.

·  La complejidad comercial del programa es relativamente alta, por lo tanto, use el método de escenarios para complementar parte de los casos de prueba

·  Si está muy familiarizado con el negocio, puede agregar algunos casos de prueba basados ​​en su experiencia donde es probable que ocurran errores

Basándonos en este método de diseño, que sigue siendo la interfaz de inicio de sesión original, podemos diseñar aproximadamente los siguientes casos de prueba:

1. Para un usuario existente, ingrese el nombre de usuario y la contraseña correctos, haga clic en Iniciar sesión y verifique si el inicio de sesión es exitoso;

2. No ingrese ningún contenido, haga clic en Iniciar sesión directamente, verifique si el inicio de sesión falla y si la información del aviso es correcta;

3. Para un usuario existente, ingrese el nombre de usuario correcto y la contraseña incorrecta, haga clic en Iniciar sesión, verifique si el inicio de sesión falla y la información solicitada es correcta;

4. Usuarios existentes A y B, ingrese el nombre de usuario de A y la contraseña de B, haga clic en Iniciar sesión, verifique si el inicio de sesión falla y si la información solicitada es correcta, ingrese un nombre de usuario inexistente y cualquier contraseña, haga clic en Iniciar sesión, verifique si el inicio de sesión falla y la información del aviso es correcta;

5. Para los usuarios que ya existen pero tienen un estado anormal (como desactivado, congelado, bloqueado), ingrese el nombre de usuario y la contraseña correctos, haga clic en Iniciar sesión, verifique si el inicio de sesión falla y la información del aviso es correcta;

6. Para un usuario existente, el nombre de usuario está en minúsculas, ingrese el nombre de usuario en mayúsculas y la contraseña correcta, haga clic en Iniciar sesión y verifique si el inicio de sesión falla;

7. Para un usuario existente, la contraseña está en minúsculas, ingrese el nombre de usuario correcto y la contraseña en mayúsculas, haga clic en Iniciar sesión y verifique si el inicio de sesión falla;

8. Si la contraseña se encripta y se muestra automáticamente o si contiene funciones ocultas/que se muestran, y verifique si se puede usar normalmente;

9. Si se distinguen los derechos de usuario y si el administrador y el usuario normal inician sesión correctamente y saltan correctamente;

10. Si el cuadro de ingreso de nombre de usuario y contraseña tiene un límite de longitud y si es consistente con el requisito de longitud durante el registro;

11. Si el código de verificación se mostrará automáticamente si la falla de inicio de sesión alcanza una cierta cantidad de veces;

12. Si hay un código de verificación, ingrese el nombre de usuario y la contraseña correctos y el código de verificación correcto para verificar si el inicio de sesión es exitoso;

13. Si hay un código de verificación, ingrese el nombre de usuario y la contraseña correctos y el código de verificación incorrecto para verificar si el inicio de sesión falla;

14. Cuando haya un código de verificación, haga clic en la imagen del código de verificación (o cambie un botón) para cambiar el código de verificación y si el código de verificación reemplazado está disponible;

15. Si hay un código de verificación, haga clic en la imagen del código de verificación (o cambie un botón) para reemplazar el código de verificación, inicie sesión con el código de verificación antes del reemplazo y verifique si el inicio de sesión falla;

16. Si el código de verificación de la página de actualización sigue a la actualización;

17. Si el código de verificación ha caducado, ingrese el código de verificación actual para verificar si el inicio de sesión falla;

18. Después de que falla el inicio de sesión, si el nombre de usuario se guarda y la contraseña está vacía;

19. Si existe una función de recordar el nombre de usuario y recordar la contraseña, y si está disponible;

20. Si la tecla de acceso directo está disponible y si la contraseña no se puede pegar;

21. Si TAB y ENTER pueden saltar automáticamente al control y enviar automáticamente;

22. Si es compatible con el inicio de sesión de terceros (WeChat, Alipay, QQ, Weibo, etc.) y si la verificación de inicio de sesión es correcta;

23. Si es compatible con el inicio de sesión del código de verificación del teléfono móvil, si el teléfono móvil puede recibir mensajes de texto y si el inicio de sesión puede ser exitoso;

24. Se agotó el tiempo de espera del código de verificación en el teléfono móvil. Si usa el código de verificación de tiempo de espera agotado para iniciar sesión, ¿puede iniciar sesión correctamente?

25. Si redirigir a la página de inicio de sesión después de que expire la sesión del usuario;

26. Después de que el usuario cierre la sesión, si la operación puede continuar a través del botón Atrás;

27. Si tiene la función de olvidar la contraseña y si está disponible.

Bien, solo enumeré algunos, pero si tuviera que calificar este conjunto de casos de uso en este punto, lo calificaría con 80. Debe haber amigos que me quieran despedir por mi nombre real, ya tan comprensivo, que mas necesitas? ¿Por qué sólo 80 puntos? Esto involucra la tercera dimensión de nuestro tema de discusión de hoy, el adjetivo "excelente".
 

Hable acerca de excelentes casos de prueba

Para un conjunto de casos de prueba, solo los casos de prueba completos, repetibles, verificables y completos son los mejores casos de prueba.

Prueba de registro de datos

La llamada prueba de registro de datos incluye principalmente elementos de prueba que no podemos ver en el front-end, la página o la aplicación. Permítanme dar algunos ejemplos:

·  Si el campo de la contraseña de la base de datos está encriptado o no

Si la cantidad de fallas de inicio de sesión se registra en la base de datos y en el caché, y si la lógica es correcta

·  Si el estado de la base de datos se modifica correctamente en escenarios como la falla de inicio de sesión y la congelación

Si  el registro de errores está completo y es fácil de solucionar

Si el objeto es fácil de  localizar y fácil de automatizar

Si  hay un aumento en los puntos ocultos para el análisis del comportamiento del usuario

Pruebas de interfaz de usuario

Para las pruebas diarias, la prueba de la interfaz y la experiencia del usuario también es muy necesaria. El uso de TAB y ENTER es en realidad una especie de experiencia del usuario, por lo que si desea realizar una prueba más exhaustiva, también debe considerar la prueba de la interfaz.

Si  el diseño es razonable y alineado

Si el diseño de la interfaz es coherente con los requisitos y los documentos  de diseño de la interfaz de usuario

·  Si hay errores tipográficos o de puntuación

· ¿  Es adecuada la correspondencia de colores de la página?

·  Si el texto del error es claro y fácil de entender

Si  el efecto visual de la interfaz es apropiado y si la visualización de la animación de la interfaz es fluida.

prueba de compatibilidad

Si es  compatible con diferentes sistemas operativos (Windows, MAC OS, LINUX)

· Bajo diferentes versiones del mismo sistema operativo, si se puede mostrar normalmente y la función es correcta

Si es compatible con diferentes navegadores (Chrome, IE, FireFox, etc.)

Si  diferentes versiones del mismo navegador son compatibles

·  Si el terminal móvil es compatible

Si  es compatible para mostrar al acercar y alejar la interfaz

Si la visualización de la interfaz es  correcta en diferentes idiomas

Si  tiene un modo de lectura de alto contraste (preparado para personas con problemas de visión)

Pruebas de rendimiento

Las pruebas de rendimiento se pueden dividir en rendimiento del lado del servidor y rendimiento de front-end, que también deben considerarse de manera integral. Al mismo tiempo, los indicadores y escenarios de rendimiento también varían con diferentes módulos, diferentes empresas y diferentes necesidades. Daré brevemente algunas comparaciones aquí Ejemplo genérico:

·  Máxima interfaz de inicio de sesión de usuario simultáneo (tiempo de respuesta en 3 s)

·  Métricas de rendimiento para servidores bajo pruebas de carga específicas

Indicadores de estabilidad y rendimiento de  los servicios durante las pruebas de estrés

·  Lógica de procesamiento distribuido del servicio, lógica de balanceo de carga, caché y uso de colas

·  La máxima concurrencia de la interfaz que se puede soportar

Procesamiento de GC  , si hay desbordamiento de memoria, etc.

Si la base de datos tiene [url=]SQL[/url] lento y punto muerto bajo alta concurrencia 

·  Velocidad de carga de la página

·  Tamaño del recurso de la página, ya sea para aplicar Sprite

·  Análisis YSLOW, rendimiento estático

Prueba de seguridad

Por último, pero no menos importante, está nuestra prueba de seguridad que más se pasa por alto. En muchos casos, tendemos a ignorar las amenazas que trae la seguridad, pero de hecho, una vez que ocurre un problema de seguridad, la pérdida será mucho mayor que el impacto de un error determinado. Primero, presentemos brevemente las medidas de prueba de seguridad que se deben tomar en la interfaz de inicio de sesión, y luego hablaremos sobre todos los aspectos de las pruebas de seguridad en detalle más adelante.

Verifique  si los datos críticos se transmiten a través de HTTP o HTTPS

Ya sea para  incluir contraseñas débiles

Si  es fácil ser descifrado por la fuerza bruta

Ya sea  para usar la autenticación multifactor

Ya sea  para usar la autenticación de exclusión mutua para el inicio de sesión

·  Fortaleza del token de sesión generado (ID de sesión)

Si  hay una fuga de token de sesión en la transmisión

·  Si contiene lagunas no autorizadas

·  Si puede iniciar sesión correctamente con la contraseña universal

Si  es posible realizar una inyección ciega de SQL

·  Seguridad de cifrado de almacenamiento de contraseñas

Si  tiene defensa contra ataques XSS (cross-site scripting)

Si  contiene vulnerabilidad de ataque CSRF

·  Evitar ataques de intermediarios durante la transmisión de tokens o contraseñas

Escrito al final, la ejecución de casos de prueba también debe estar vinculada a la urgencia del proyecto real. Obviamente, el proyecto es muy urgente para estar en línea. Si desea ejecutar todos los casos de uso anteriores, entonces nada será suficiente, por lo tanto, la prioridad de los casos de prueba debe ser clara. Ejecute casos de uso prioritarios relativamente apropiados en el momento adecuado para garantizar la calidad del producto.

Por último, me gustaría agradecer a todos los que han leído detenidamente mi artículo. La reciprocidad siempre es necesaria. Aunque no es algo muy valioso, puedes quitártelo si lo necesitas:

Estos materiales deben ser el almacén de preparación más amplio y completo para los amigos [de pruebas de software]. Este almacén también ha acompañado a decenas de miles de ingenieros de pruebas a través del viaje más difícil, ¡y espero que pueda ayudarlos! 

Supongo que te gusta

Origin blog.csdn.net/OKCRoss/article/details/131327433
Recomendado
Clasificación