Método de prueba: clasificación de equivalencia

Método de prueba

La
definición clásica del método de prueba de software :
Prueba de software (Prueba de software), la operación del programa bajo las condiciones especificadas para encontrar errores del programa, medir la calidad del software y evaluar si puede cumplir con los requisitos de diseño.
Definición estándar del proceso :
la prueba de software es El proceso de ejecutar o medir un sistema de software utilizando medios manuales o automatizados, cuyo propósito es verificar si cumple con los requisitos especificados o aclarar la diferencia entre los resultados esperados y los reales.

El propósito de la prueba suave:
encontrar problemas y verificar si el sistema satisface las necesidades. Por
ejemplo, un método común para implementar el método de caja gris blanco y negro anterior es el
Inserte la descripción de la imagen aquí
siguiente:

等价类划分法

边界值

因果图

判定表驱动法

正交实验法

功能图法

场景实验法

错误推断法

需求转化

设计文档

探索式测试

1. Equivalente de caja negra

(Use una pequeña cantidad de datos para representar una gran cantidad de datos para encontrar el valor más representativo)
Porque: la prueba es interminable
(como el registro QQ, hay infinitas combinaciones de apodos de contraseña de número de teléfono móvil, porque los datos de la prueba son infinitos, entonces la prueba Sin fin)

Método de división de clase equivalente:
Clase equivalente: seleccione algunos datos representativos, este tipo de datos es equivalente a otros valores de esta clase; 找出最小的子集,可以发现最多的错误;
◆ El método para dividir la clase equivalente es dividir el campo de entrada del programa en varias partes, y luego de cada parte Seleccione algunos datos representativos como casos de prueba
◆ La función de los datos representativos de cada categoría en la prueba es equivalente a otros valores en esta categoría, es decir, si un ejemplo en una categoría encuentra un error Otros ejemplos en esta clase de equivalencia también pueden encontrar el mismo error.
◆ Por el contrario, si un ejemplo en una determinada categoría no encuentra un error, otros ejemplos en esta categoría no detectarán el error.

** Dos características principales: ** Casos de uso que deben diseñarse; cubren la mayoría de las situaciones;

两类情况:
有效等价类:找出有效值的代表范围;
无效等价类:找出无效值的代表范围;

Principio de clasificación de equivalencia

◆ Si la condición de entrada estipula el rango de valores o el número de valores, se puede determinar
una clase de equivalencia válida y dos clases de equivalencia no válidas ◆ Si una condición de entrada indica una situación de "debe establecerse", entonces Divida una clase de equivalencia válida y una clase de equivalencia no válida
◆ Si la condición de entrada especifica un conjunto de valores posibles de los datos de entrada, y el programa procesa cada valor de manera diferente, entonces cada valor puede dividirse en un valor válido Clase de equivalencia y divida una clase de equivalencia no válida (similar a la liberación del metro en diferentes momentos. También es similar a estar en un buen equipo en la vida, como mirar un juego de pelota)
◆ Si sabemos eso, cada elemento en una determinada clase de equivalencia se ha dividido (Ejemplo) El método de procesamiento en el programa es diferente, por lo que la clase de equivalencia debe dividirse en clases de equivalencia más pequeñas.
◆ Después de establecer la clase de equivalencia, establezca una tabla de clases de equivalencia y enumere todas las divisiones Clase de equivalencia

Diseño de caso de uso basado en clasificación de equivalencia

明确测试对象,Se garantiza que los objetos que no son de prueba son correctos
para cada clase de equivalencia, de 唯一的编号(modo que estas clases de equivalencia estén bien configuradas)
设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类. Repita este paso hasta que todas las clases de equivalencia válidas estén cubiertas por casos de prueba.
设计一个新的测试用例,使其只覆盖一个无效等价类。Repita este paso para que todas las clases de equivalencia no válidas estén cubiertas

(正常条件下取值范围放宽,在异常的无效的条件下要把取值范围缩小,让有效等价类都有用例应对,让每一个无效等价类都有唯一的用例应对)

Características de las clases equivalentes.

1. Prueba 相同的内容
2. Si una prueba en la clase de equivalencia puede capturar un defecto, seleccione otras pruebas en la clase de equivalencia también puede capturar el defecto
3. Si una prueba en la clase de equivalencia no puede capturar el defecto, seleccione el Otras pruebas en la clase de equivalencia no capturarán defectos (不是划分得越细化越好,最好是刚刚好)
4. Si la clase de equivalencia se divide correctamente, el número de casos de prueba puede reducirse considerablemente, y la prueba será precisa y efectiva
5. Si 错误的将两个不同的等价类当作一个等价类, 那就会遗漏一种测试情况, por el contrario, si una clase de equivalencia se considera como dos diferentes De clases equivalentes, la prueba será redundante.

Problemas a tener en cuenta en la división de clases de equivalencia

Considere no solo las clases de equivalencia válidas, sino también las clases de equivalencia no válidas.
Divida cuidadosamente, la división de revisión es
demasiado aproximada, puede perder defectos de software.
Revisión de la organización

Escenario de uso:
Condiciones de entrada (rango de valores / número de valores; conjunto de valores requeridos; valor booleano; un conjunto de valores de procesamiento; reglas que deben observarse; subdividir clases de equivalencia más pequeñas;)

Ejemplo 1: prueba una calculadora de suma de dos dígitos

Requisito de prueba:
pruebe si el resultado de agregar los dos parámetros es correcto.
Entre ellos: el valor de entrada entre -99 y 99 es mayor que 99 o menor que -99. La entrada debe rechazarse y se muestra un mensaje de error
Inserte la descripción de la imagen aquí
para el primer parámetro. Ingrese los valores en la tabla con el segundo parámetro, y los resultados de la prueba obtenidos se muestran en la tabla:

Inserte la descripción de la imagen aquí
Obviamente, si tomo 199 números de -99 a 99 para el primer parámetro y 199 números de -99 a 99 para el segundo parámetro, es imposible agregar dos dígitos Realice una prueba exhaustiva de todas las situaciones.
Si no es posible realizar pruebas exhaustivas, nos enfrentaremos a la siguiente pregunta:
después de probar 1 + 1, 1 + 2, 1+ (-1) y 1+ (-2), ¿es necesario probar 1 + 3, 1+? 4?
Si no realiza una prueba exhaustiva en el programa de calculadora de suma, ¿puede creer con seguridad que todas las combinaciones de parámetros son correctas?
Por lo tanto, debe usar el método de división de clase equivalente

  • PASO 1: De acuerdo con los requisitos de la prueba, se puede dividir en tres categorías equivalentes:

◆ Una clase de equivalencia de datos válidos y dos clases de equivalencia de datos inválidos
◆ La clase de equivalencia de datos válidos es: una colección de datos de entrada significativos que son significativos para la especificación del programa
◆ La clase de equivalencia de datos inválidos es : Una recopilación de datos de entrada que no es razonable o no tiene sentido para la especificación del programa
Inserte la descripción de la imagen aquí

  • PASO 2: Cree una tabla de clase de equivalencia (similar a la base de la prueba)
    ◆ En el trabajo práctico, generalmente establecemos una tabla de clase de equivalencia para todas las clases de equivalencia en el programa después de establecer la clase de equivalencia, para que podamos escribir casos de prueba Basado en el tiempo
    Inserte la descripción de la imagen aquí
  • PASO 3: Identificar casos de prueba

◆ Asigne un número único a cada clase de equivalencia en la tabla de clases de equivalencia
◆ Diseñe un nuevo caso de prueba para que pueda 尽量覆盖尚未覆盖的有效等价类
repetir este paso, de modo que todas las clases de equivalencia válidas estén cubiertas por el caso de prueba
◆ y El paso anterior es similar. 设计一个新的测试用例,使它只覆盖一个无效等价类
◆ Repita este paso para que todas las clases de equivalencia no válidas estén cubiertas por casos de prueba.
Inserte la descripción de la imagen aquí

  • PASO 4: refinar la clasificación de las clases de equivalencia

(Si encuentra que los elementos divididos se manejan de manera diferente en el programa, debe refinarlo nuevamente)
◆ Al probar el intervalo de equivalencia de "-99 <= valor <= 99"
◆ Encontraremos que 10 + 40, -20+ 30 y -30 + (-30)
agregan números positivos, agregan números positivos y negativos, y agregan números negativos también son diferentes intervalos de equivalencia (si son binarios, los dos son diferentes Sí, hay diferencias de algoritmo.)
Por lo tanto, se pueden dividir más clases de equivalencia, y ahora hay dos clases de equivalencia válidas y dos inválidas, y los números agregados se dividen en números positivos y negativos:
Inserte la descripción de la imagen aquí

Mejore los casos de prueba: de
Inserte la descripción de la imagen aquíhecho, puede refinarse más, como números de entrada, caracteres chinos y caracteres especiales, por lo que las clases de equivalencia no válidas pueden refinarse más.

De acuerdo con el método de clase equivalente anterior, probamos de acuerdo con los casos de prueba dados en la tabla de casos de prueba, y no encontramos problemas, luego, después de que el programa se conecta, si ocurren los siguientes problemas, ¿por qué el programa indica que los datos ingresados ​​son incorrectos?

Inserte la descripción de la imagen aquí
Porque solo se considera el alcance y no se considera
el límite. El método de límite en la siguiente sección dará una mejor solución.

Ejemplo 2: Retirada de Yu'ebao

Demanda de prueba: el
retiro de Yu'ebao a la tarjeta bancaria agrega nuevas reglas: límite diario de llegada rápida (2 horas) de 1w yuan y
más de 1w yuan solo puede elegir la llegada ordinaria

Inserte la descripción de la imagen aquí

Caso de uso de diseño:
Inserte la descripción de la imagen aquí
analice el proceso nuevamente:
analice cuidadosamente la demanda, el límite diario es 1w, por lo que es necesario distinguir entre dos escenarios (el primero y el enésimo retiro)
Inserte la descripción de la imagen aquí

Ejemplo 3: diseño de caso de prueba triangular

Reimpreso de:
https://blog.csdn.net/xuhongge/article/details/2632172
Tome la prueba del triángulo como ejemplo: ingrese 3 enteros como los tres lados del triángulo y determine el tipo de triángulo a través del programa.
En el cálculo del triángulo, se requieren los tres lados del triángulo: ABC.

      1、 当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。
      2、若是等腰三角形打印“等腰三角形”, 若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。
      3、若是等边三角形,则打印:“等边三角形”。
      4、画出程序流程图并设计一个测试用例。

Analizar

         1、构成三角形的条件:任意两边之和大于第三边;

         2、构成等腰三角形的条件:任意两边相等;

        3、构成等腰直角三角形的条件:任意两边相等,而且两条边的平方和等于第三边的平方和;

        4、构成等边三角形的条件:三条边都相等。

Inserte la descripción de la imagen aquí
Caso de prueba:
Inserte la descripción de la imagen aquí

Publicado 82 artículos originales · elogiado 7 · visitas 4175

Supongo que te gusta

Origin blog.csdn.net/sunshine612/article/details/105279142
Recomendado
Clasificación