¿Qué es la prueba de interfaz? ¿Cómo probar?

Contenido de alfabetización:

1. ¿Qué es una interfaz?

2. ¿Qué tipos de interfaces existen?

3. ¿Cuál es la esencia de la interfaz?

4. ¿Qué es la prueba de interfaz?

5. ¿Qué es la prueba de interfaz?

6. ¿Cómo hacer una prueba de interfaz?

7. ¿Qué es el punto de prueba de la interfaz?

8. ¿Qué conocimientos se deben dominar en las pruebas de interfaz?

9. ¿Otros conocimientos relevantes?

 Un conjunto completo de tutoriales prácticos de prueba de interfaz: desde la base cero hasta la competencia, vale la pena recopilar la primera recomendación de la estación B

1. ¿Qué es una interfaz?

Las pruebas de interfaz se utilizan principalmente para puntos de interacción entre sistemas externos y subsistemas internos, para definir puntos de interacción específicos y luego, a través de estos puntos de interacción, a través de algunas reglas especiales, es decir, protocolos, para llevar a cabo la interacción de intercambio de datos.

2. ¿Qué tipos de interfaces existen?

Las interfaces generalmente se dividen en dos tipos: 1. Interfaces internas del programa 2. Interfaces externas del sistema

La interfaz externa del sistema: Por ejemplo, si desea obtener recursos o información de otros sitios web o servidores , definitivamente otros no compartirán la base de datos con usted, solo puede proporcionarle un método que hayan escrito para obtener datos, y usted lo cita La interfaz puede usar el método que escribió, para lograr el propósito de compartir datos.

La interfaz dentro del programa: la interacción entre métodos, entre módulos y módulos, la interfaz lanzada dentro del programa, como el sistema bbs, hay módulos de inicio de sesión, módulos de publicación, etc., entonces debe iniciar sesión primero si desea post, entonces esto Los dos módulos tienen que interactuar, y arrojará una interfaz para que el sistema interno llame.

Clasificación de las interfaces: 1. interfaz de servicio web 2. interfaz http api

La interfaz webService se transmite a través de http a través del protocolo de jabón. Tanto el mensaje de solicitud como el mensaje de respuesta están en formato xml. Solo usamos la herramienta de paso para llamar y probar cuando se prueba.

La interfaz api http utiliza el protocolo http para distinguir el método de llamada a través de la ruta. El mensaje de solicitud tiene la forma de clave-valor, y el mensaje devuelto es generalmente una cadena json. Existen métodos como get y post, que son también el método de dos solicitudes más utilizado.

JSON es un tipo de datos universal que todos los lenguajes reconocen. (La esencia de json es una cadena. No tiene nada que ver con otros idiomas. Solo se puede convertir en tipos de datos en otros idiomas después de un poco de procesamiento. Por ejemplo, se puede convertir en un diccionario en Python, y la forma de clave-valor se puede convertir en nativo en JavaScript.Objeto, se puede convertir en un objeto de clase en Java, etc.)

3. ¿Cuál es la naturaleza de la interfaz y cómo funciona?

Simplemente puede entender que la interfaz es una URL. El principio de funcionamiento es que la URL envía algo al servidor a través de una solicitud de obtención o publicación, y luego obtiene algunos valores de retorno correspondientes. La esencia es la transmisión y recepción de datos.

4. ¿Qué es la prueba de interfaz?

La prueba de interfaz es un tipo de prueba que prueba las interfaces entre los componentes del sistema. Las pruebas de interfaz se utilizan principalmente para detectar los puntos de interacción entre los sistemas externos y los subsistemas internos. El objetivo de la prueba es comprobar el intercambio de datos, el proceso de gestión de entrega y control, y las dependencias lógicas mutuas entre los sistemas.

La respuesta corta es transmitir los datos que queremos transmitir a través de URL como servidores u otros módulos, y luego ver si devuelven lo que esperábamos.

5. ¿Qué es la prueba de interfaz?

1. Cuanto menor sea el error encontrado, menor será el costo de reparación.

2. El front-end se puede cambiar a voluntad, la interfaz se ha probado y no es necesario cambiar el back-end. El front-end y el front-end son desarrollados por dos grupos de personas.

3. Verifique la seguridad y la estabilidad del sistema. Los parámetros de front-end no son confiables. Por ejemplo, las compras de Jingdong, el precio de front-end no se puede pasar en -1 yuan, pero se puede pasar -1 yuan a través de la interfaz.

 4. La complejidad del sistema actual continúa aumentando, el costo de los métodos de prueba tradicionales aumenta considerablemente y la eficiencia de la prueba cae considerablemente. Las pruebas de interfaz pueden proporcionar una solución en este caso.

 5. La prueba de interfaz es relativamente fácil de lograr una integración continua automatizada, y también es relativamente estable en comparación con la automatización de la interfaz de usuario, lo que puede reducir los costos de mano de obra y el tiempo para la prueba de regresión manual, acortar el ciclo de prueba y respaldar la liberación rápida de back- requisitos finales. La integración continua de la interfaz es la causa raíz del bajo costo y el alto rendimiento.

 6. Ahora la [arquitectura] frontal de muchos sistemas (http://lib.csdn.net/base/architecture) está separada del nivel de seguridad:

   (1) Confiar solo en el front-end para las restricciones ya no puede cumplir con los requisitos de seguridad del sistema (es demasiado fácil pasar por alto el front-end), y el back-end también debe controlarse. En este caso , es necesario verificar desde el nivel de interfaz.

   (2) También debe verificarse si la información, como la transmisión de front-end y back-end y la impresión de registros, está encriptada y transmitida, especialmente cuando se trata de información privada del usuario, como tarjeta de identificación, tarjeta bancaria, etc.

6. ¿Cómo hacer una prueba de interfaz?

– Dado que las llamadas front-end y back-end de nuestro proyecto se basan principalmente en la interfaz del protocolo http, cuando probamos la interfaz, usamos principalmente herramientas o códigos para simular el envío y la recepción de solicitudes http. Hay muchas herramientas como: postman, jmeter, soupUI, java+httpclient, robotframework+httplibrary, etc.

– También se puede realizar mediante la automatización de la interfaz, es decir, por código, el marco es similar a la automatización de la interfaz de usuario y la solicitud de envío se juzga por aserción.

7. ¿Qué es el punto de prueba de la interfaz?

Propósito: probar la corrección y estabilidad de la interfaz;

Principio: simule el proceso en el que el cliente envía un mensaje de solicitud al servidor, el servidor procesa el mensaje correspondiente después de recibir el mensaje de solicitud y devuelve una respuesta al cliente, y el cliente recibe la respuesta;

Puntos clave: Examinar los procesos de gestión de intercambio, transferencia y control de datos, incluido el número de procesos;

Núcleo: la integración continua es el núcleo de las pruebas de interfaz;

Ventajas: Lleve capacidades eficientes de monitoreo de defectos y supervisión de calidad a plataformas altamente complejas Cuanto más compleja sea la plataforma, más grande será el sistema, más obvio será el efecto de las pruebas de interfaz (mejorando la eficiencia de las pruebas, mejorando la experiencia del usuario y reduciendo los costos de I+D);

Puntos clave del diseño de casos de uso: por lo general, las dos interfaces más externas se prueban principalmente: la interfaz del sistema de entrada de datos (llamando a los parámetros del sistema externo para que los use el sistema) y la interfaz del sistema de salida de datos (verificando si los datos procesados ​​por el sistema son normal);

PD: Al diseñar casos de uso, también es necesario prestar atención a qué funciones proporcionan las interfaces externas a los usuarios externos que usan estas interfaces y qué funciones realmente necesitan los usuarios externos;

Pregunta 1. ¿Cuáles son las interfaces de back-end probadas?

  – Para responder a esta pregunta, podemos comenzar desde la perspectiva del contenido de la actividad de prueba de interfaz. Eche un vistazo a la imagen a continuación, que básicamente refleja el contenido principal de la prueba de interfaz de back-end actual de nuestro proyecto:

Pregunta 2. La interfaz de back-end se prueba una vez y la interfaz de usuario también se prueba una vez. ¿Se repite la prueba?

  – Para responder a esta pregunta, podemos comparar directamente el contenido de las pruebas de interfaz y las actividades de prueba del lado de la aplicación. La siguiente figura muestra el contenido que debe cubrirse o considerarse durante la prueba de la aplicación:

 

De la comparación de las dos figuras anteriores, se puede ver que las mismas partes de las dos actividades de prueba incluyen pruebas funcionales, pruebas de análisis de límites y pruebas de rendimiento , y otras partes requieren pruebas especiales debido a sus diferentes características o preocupaciones, que no ser discutido aquí. . A continuación, analizaremos el mismo contenido de las tres partes anteriores:

1. Prueba de función básica:

  Dado que la prueba está dirigida a las funciones comerciales básicas, esta parte es la parte con la mayor superposición entre las dos pruebas, y los desarrolladores generalmente se refieren a esta parte.

2. Prueba de análisis de límites:

  Considere las condiciones límite de entrada y salida sobre la base de pruebas funcionales básicas, y esta parte también tendrá partes repetidas (como el límite de las reglas comerciales). Sin embargo, la entrada y la salida del front-end a menudo proporcionan valores fijos para que los usuarios elijan (como cuadros desplegables). En este caso, el rango límite de la prueba es muy limitado, pero no existe tal limitación en la prueba de interfaz En términos relativos, la interfaz puede cubrir un rango más amplio. Del mismo modo, la probabilidad de problemas de interfaz también es mayor.

3. Prueba de rendimiento:

  Esto es relativamente fácil de distinguir Aunque se requieren pruebas de rendimiento para ambos, el enfoque es bastante diferente. El rendimiento del lado de la aplicación se centra principalmente en las funciones relacionadas con los teléfonos móviles, como la CPU del teléfono móvil, la memoria, el tráfico, los fps, etc. El rendimiento de la interfaz se centra principalmente en el tiempo de respuesta de la interfaz, la concurrencia y el uso de recursos del servidor. Las estrategias y métodos de las dos pruebas son muy diferentes, por lo que esta parte del contenido debe probarse por separado. En teoría, esta también es una parte diferente.

Resumen:

1. Las actividades de pruebas de interfaz y pruebas de aplicaciones tienen cierto contenido repetitivo, centrándose principalmente en las pruebas de funciones comerciales. Además, las pruebas para sus respectivas características son diferentes y las pruebas específicas deben realizarse por separado para garantizar la calidad de todo el producto.

  2. Las pruebas de la interfaz pueden centrarse en la verificación de la lógica del servidor, mientras que las pruebas de la interfaz de usuario pueden centrarse en la lógica de visualización de la página y la verificación de la integración del servidor y el front-end de la interfaz.

3. Integración continua de pruebas de interfaz:

Para las pruebas de interfaz, la automatización de la integración continua es el contenido central Solo mediante la automatización podemos lograr un bajo costo y un alto rendimiento. En la actualidad, hemos realizado la automatización de la interfaz, que se utiliza principalmente en la etapa de regresión, y el grado de automatización debe fortalecerse en el futuro, incluidos, entre otros, los siguientes:

  a) En términos de proceso: En la etapa de regresión, se fortalece la cobertura de escenarios de excepción de interfaz, y se extiende gradualmente a las etapas de prueba del sistema y prueba de humo, y finalmente se logra la automatización completa del proceso.

  b) Visualización de resultados: visualización de resultados más rica, análisis de tendencias, estadísticas y análisis de calidad, etc.

  c) Resolución de problemas: los mensajes de error y los registros son más precisos, lo que facilita la reproducción y la resolución de problemas.

  d) Verificación de resultados: fortalecer las capacidades de verificación automática, como la verificación de información de bases de datos.

  e) Cobertura de código: intente pasar constantemente del cuadro negro actual al cuadro blanco para mejorar la cobertura del código.

  f) Requisitos de desempeño: mejorar el sistema de pruebas de desempeño y monitorear si los indicadores de desempeño de la interfaz son normales a través de medios automatizados.

4. Criterios de evaluación de la calidad de la prueba de interfaz:

  a) Si la cobertura de la función comercial es completa

  b) Si la cobertura de la regla de negocio es completa

  c) Si la validación de parámetros cumple con los requisitos (límite, reglas comerciales)

  d) Si la cobertura de escenarios de excepción de interfaz es completa

  e) Si la cobertura de la interfaz cumple con los requisitos

  f) Si la cobertura del código cumple con los requisitos

  g) Si los indicadores de desempeño cumplen con los requisitos

  h) Si los indicadores de seguridad cumplen con los requisitos

8. ¿Qué conocimientos se deben dominar en las pruebas de interfaz?

① Comprender la interacción de la lógica comercial entre el sistema y varios componentes internos;

② Comprender la E/S de la interfaz (entrada/salida: entrada y salida);

③ Comprender el contenido básico del protocolo, que incluye: principio de comunicación, protocolo de enlace de tres vías, tipos de protocolo de uso común, composición de mensajes, modo de transmisión de datos, códigos de estado comunes, composición de URL, etc.;

④Herramientas comunes de prueba de interfaz, como: jmeter, loadrunner, postman, soapUI, etc.;

⑤Comandos básicos de operación de la base de datos (comprobar el almacenamiento de datos, extraer datos de prueba, etc.);

⑥ Tipos de caracteres comunes, como: char, varchar, text, int, float, datatime, string, etc.;

¿Cómo aprender estas habilidades?

①Lógica de interacción comercial entre sistemas: a través de muchos canales y métodos, como documentos de requisitos, diagramas de flujo, mapas mentales y comunicación;

②Protocolo: recomiendo el libro "Illustrated http", que tiene un contenido vívido y es relativamente un libro de nivel de entrada. Otros incluyen "Illustrated tcp, IP" y así sucesivamente;

③Herramientas de prueba de interfaz: Baidu estas herramientas, y luego encontrará muchos blogs de enseñanza, soluciones de problemas relacionados y algunos libros basados ​​​​en herramientas, por supuesto, es muy importante elegir el libro correcto;

④ Comandos de operación de bases de datos: sitios web de aprendizaje (W3C, tutoriales para principiantes), blogs de enseñanza y algunos libros relacionados con bases de datos, recomendaciones de nivel de entrada: "mysql must know", "oracle PL/SQL must know", etc.

⑤Tipo de personaje: Todavía Baidu, hay un dicho: si no está seguro sobre asuntos internos, pregunte a Baidu, y si no está seguro sobre asuntos exteriores, pregunte a Google. . .

¿Cómo obtener información relacionada con la interfaz?

En las empresas en general, el personal de desarrollo o técnico correspondiente redactará el documento de la interfaz, en el que se indicará la dirección, tipo de parámetro, método, entrada, salida y demás información relacionada con la interfaz, en caso contrario buscar la forma de obtenerla. . .

Ocho elementos de un documento de interfaz:

Portada: La portada debe ser preferentemente la portada especificada por la empresa, con logotipo, título del contenido, número de versión, razón social y fecha de generación del documento;

Historial de revisiones: el formato de la tabla es mejor, incluye: versión, descripción de la revisión, fecha de la revisión, persona de la revisión, revisor del tiempo de revisión, etc.;

Información de interfaz: método de llamada de interfaz, método GET/POST de uso común, dirección de interfaz;

Descripción de la función: describa las funciones de la interfaz de manera concisa y clara, por ejemplo: qué información no está incluida en la adquisición de la interfaz;

Descripción de los parámetros de la interfaz: cada parámetro debe ser el mismo que la llamada real, incluidas mayúsculas y minúsculas; el significado del parámetro se explica de manera concisa y el formato es cadena, entero o largo, etc.;

En la parte de descripción, explique dónde se debe proporcionar el valor del parámetro y detalle cómo se genera el parámetro, como la marca de tiempo, qué período de tiempo es, si el parámetro es obligatorio, algunos parámetros son obligatorios y otros son parámetros opcionales. , etc.;

Descripción del valor de retorno:

① Es mejor tener un valor de retorno de plantilla y explicar el significado de cada parámetro de retorno;

②Proporciona una interfaz de llamada real y un valor de retorno real;

Restricciones de llamadas, aspectos de seguridad:

Método de cifrado, o un proceso de cifrado especial de su propia empresa, siempre que ambas partes adopten un algoritmo de cifrado consistente, se puede llamar a la interfaz para garantizar la seguridad de la llamada de interfaz, como el md5 común;

Mantenimiento del documento: Cuando se está manteniendo el documento, si hay alguna modificación, se debe escribir la fecha de modificación y la persona que lo modificó, y se debe cambiar el número de versión para modificaciones mayores;

9. ¿Otros conocimientos relevantes?

La diferencia entre la solicitud de obtención y la solicitud de publicación:

1. GET usa URL o Cookie para pasar parámetros. Mientras que POST pone datos en BODY.

2. La URL de GET tiene un límite de longitud y los datos de POST pueden ser muy grandes.

3. POST es más seguro que GET porque los datos no están visibles en la barra de direcciones.

4. En general, las solicitudes de obtención se utilizan para obtener datos y las solicitudes de publicación se utilizan para enviar datos.

De hecho, entre los puntos anteriores, solo el último punto es más confiable. El primer punto es que la solicitud de publicación también puede poner los datos en la URL. La solicitud de obtención en realidad no tiene límite de longitud. La solicitud de publicación parece tener parámetros implícitos. Es un poco más seguro, pero eso es solo para usuarios novatos Incluso si publica una solicitud, puede capturar los parámetros capturando paquetes. (La única diferencia es esta, los 3 puntos anteriores no son precisos)

código de estado http:

1, 200 y 2 al principio todos indican que la solicitud se envió con éxito, el más común es 200, lo que significa que la solicitud está bien y el servidor regresa.

2. Los que empiezan por 300 y 3 representan redirección, siendo el más común el 302, que redirige la solicitud a otro lugar.

3. 400 400 significa que la solicitud enviada por el cliente tiene un error gramatical, 401 significa que la página a la que se accede no está autorizada, 403 significa que no hay permiso para acceder a esta página y 404 significa que no existe dicha página.

4. 500 al comienzo de 5 significa que el servidor tiene una excepción, 500 significa una excepción interna del servidor y 504 significa que el servidor ha agotado el tiempo de espera y no se devuelve ningún resultado.

Cómo probar la interfaz del servicio web:

No requiere que deletree el mensaje, le dará una dirección de servicio web o un archivo wsdl, impórtelo directamente en soapui, puede ver todas las interfaces en el servicio web, también hay mensajes, complete directamente los parámetros y llamar y ver el resultado de retorno Eso es todo.

Pronóstico meteorológico dirección wsdl: http://www.webservicex.net/globalweather.asmx?wsdl

La diferencia entre cookie y sesión:

1. Los datos de las cookies se almacenan en el navegador del cliente y los datos de la sesión se almacenan en el servidor.

2. Las cookies no son muy seguras, otros pueden analizar las cookies almacenadas localmente y engañarlos

Teniendo en cuenta la seguridad, se debe utilizar la sesión.

3. La sesión se guardará en el servidor dentro de un cierto período de tiempo. Cuando aumente el número de visitas, se reducirá el rendimiento de su servidor

En consideración a la reducción del rendimiento del servidor, se deben utilizar cookies.

4. Los datos guardados por una sola cookie no pueden exceder 4K, y muchos navegadores limitan un sitio para guardar hasta 20 cookies.

5. Así que mi sugerencia personal:

Almacene información importante, como la información de inicio de sesión, como una sesión

Si es necesario conservar otra información, se puede colocar en una cookie

Gracias a todos los que leyeron mi artículo con atención, aunque no es algo muy valioso, si pueden usarlo, se lo pueden llevar:

Estos materiales deberían 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. ¡Espero que también pueda ayudarlo a usted!

 Método de adquisición de información:

Supongo que te gusta

Origin blog.csdn.net/qq_56271699/article/details/131329278
Recomendado
Clasificación