Una comprensión profunda de las pruebas automatizadas [Resumen de la práctica], se recomienda recopilar ~

1. Conocimientos básicos de pruebas automatizadas

¿Qué es la prueba automatizada?

1. Cambie el comportamiento de la prueba impulsada por humanos a la ejecución de la máquina. A través del caso de prueba diseñado, la máquina lo operará automáticamente de acuerdo con los pasos de ejecución del caso de prueba, generará los resultados y los comparará con los probadores.

2. Las pruebas automatizadas a menudo usan algunas herramientas o marcos de prueba para escribir casos de prueba automatizados para simular pruebas manuales.

3. Las pruebas automatizadas pueden ahorrar en gran medida mano de obra, tiempo y recursos de hardware, y mejorar la eficiencia de las pruebas.

Ventajas de las pruebas automatizadas

1. La herramienta de prueba automatizada puede preparar una gran cantidad de datos de prueba según sea necesario.

2. Se puede preparar una gran cantidad de casos de prueba utilizando técnicas de secuencias de comandos relevantes.

3. Los resultados de las pruebas a veces deben procesarse en consecuencia.

4. Puede comparar rápidamente una gran cantidad de datos o formatos de datos.

Desventajas de las pruebas automatizadas

1. En comparación con las pruebas manuales, las pruebas automatizadas tienen requisitos relativamente altos para la capacidad de los probadores.

2. Los casos de prueba automatizados deben actualizarse de acuerdo con las iteraciones de la versión, lo que tiene un cierto costo de mantenimiento.

3. No se puede esperar que las pruebas automatizadas encuentren más errores nuevos Las pruebas automatizadas pueden encontrar muchos menos defectos que las pruebas manuales.

4. El valor de salida de las pruebas automatizadas a menudo radica en las pruebas de regresión a largo plazo, y su función a corto plazo puede no ser obvia.

5. Las pruebas automatizadas no pueden mejorar la eficacia de las pruebas, solo se pueden utilizar para mejorar la eficiencia de las pruebas.

Conceptos erróneos sobre las pruebas automatizadas

1. Con las pruebas automatizadas, ya no se requieren pruebas manuales.

2. Pruebas automatizadas Para algunas pruebas, como las pruebas de localización, las pruebas de experiencia del usuario y las pruebas exploratorias, la construcción del entorno de prueba no puede reemplazar por completo las pruebas manuales.

3. La prueba automatizada es la operación del producto. Debe haber una cierta base para la prueba manual de los puntos de prueba. La prueba automatizada y la prueba manual se complementan entre sí.

4. Las pruebas automatizadas no solo se refieren a productos de prueba en ejecución automatizados, el procesamiento de datos también es un vínculo muy importante.

Requisitos previos y principios para las pruebas automatizadas

1. El ciclo del proyecto es largo y la demanda es estable y no ha cambiado en el futuro cercano.

2. El desarrollo front-end no necesita modificar las páginas muchas veces, y no quedan módulos defectuosos.

3. Los scripts de prueba automatizados se pueden reutilizar y las pruebas de regresión se realizan con mayor frecuencia (debido a la gran cantidad de módulos, el alcance de las pruebas de regresión se limita temporalmente al proceso principal del módulo).

4. Las pruebas manuales son difíciles de implementar y es necesario ejecutar los mismos casos de prueba y una gran cantidad de tareas repetitivas en múltiples plataformas.

5. La implementación temprana de la automatización debe evitar módulos extremadamente complejos

Cómo implementar pruebas automatizadas

1. Obtenga información y análisis de requisitos de prueba: comprenda la arquitectura y el diseño general del sistema y analice los requisitos de prueba del sistema.

2. Diseño: Diseñe casos de prueba y seleccione casos de prueba que necesitan ser automatizados.

3. Implementación: escribir, depurar e implementar scripts de prueba.

4. Ejecución: El proceso de ejecución del script requiere un análisis continuo de las excepciones en el proceso de ejecución.

5. Análisis de los resultados de las pruebas: analice cuáles son errores y cuáles son problemas del marco de prueba en sí.

6. Mantenimiento: El mantenimiento del script de prueba automatizado es un problema difícil y necesario de resolver.

7. Resumen: Resuma la relación entrada-salida de la práctica de automatización en el proceso de pruebas automatizadas.  

Jerarquía de pruebas automatizadas

1. Cuanto más alto llegue, más cerca estará del control de calidad, el negocio/los usuarios finales, y cuanto más bajo llegue, más cerca estará del desarrollo.

2. Cuanto más arriba, más lenta la ejecución de la prueba, cuanto más abajo, más rápida la ejecución de la prueba.

3. Cuanto más alto vaya, mayor será el costo de la prueba (cuanto más tiempo consuma, más vaga será la información de la falla y más difícil será rastrearla), cuanto más bajo vaya, menor será el costo de la prueba.

Al mismo tiempo, también he preparado un video tutorial de prueba de software para todos, que se encuentra al final del artículo. Si lo necesita, puede verlo directamente o hacer clic directamente en la pequeña tarjeta al final del artículo. artículo para obtener el documento de información de forma gratuita.

2. Marcos y herramientas de pruebas automatizadas

Herramientas comunes de prueba automatizada

Lenguaje de desarrollo de herramientas de pruebas automatizadas: Java, Python, etc.

Herramienta de prueba básica

(1) Pruebas unitarias: junit (java), unittest (python)

(2) Prueba de interfaz: httpclient (java), restauración (java), solicitud (python)

(3) Pruebas de interfaz de usuario: selenium webdriver (web), appium (aplicación)

Herramientas comunes de prueba automatizada

(1) Prueba de interfaz: Jmeter, soapui, cartero

(2) Pruebas de interfaz de usuario: katalon, Robotframework, Android

Tecnología de guiones de prueba automatizados

1. Guión lineal: grabación, reproducción

2. Script estructurado: contiene instrucciones para controlar la ejecución del script, admite secuencias, selecciones y bucles 3. Script compartido: puede ser utilizado por varios casos de prueba y los scripts pueden llamarse entre sí

3. Scripts controlados por datos: los scripts controlados por datos almacenan la entrada de prueba en archivos separados y solo la información de control se almacena en los scripts.

4. Script basado en palabras clave: el script basado en palabras clave es en realidad una extensión lógica de la tecnología basada en datos más repetitiva, es decir, los pasos de ejecución (operación, objeto de operación y valor de operación) del caso de prueba se almacenan en el archivo. y ejecutado directamente

Fundamentos de las operaciones de pruebas automatizadas

1. Operación de prueba automatizada de interfaz

(1) Simule la URL y el mensaje de la solicitud, prepare datos de prueba, capture paquetes para obtener información de la interfaz, analice la interfaz, con o sin documentación

(2) Simule al cliente enviando solicitudes HTTP (obtener, publicar)

(3) Simule que el cliente recibe el mensaje de respuesta del servidor

(4) Verificar que los resultados devueltos cumplan con las expectativas

2. Operación de la prueba de automatización de la interfaz de usuario

(1) Ubique los elementos de la página (findelement, findelements) por id, nombre, xpath, cssSelector, etc.

(2) Realice las operaciones correspondientes en los elementos de página posicionados (clic, entrada, etc.)

(3) Hacer una comparación entre el resultado después de la operación y el resultado esperado (afirmar)

Principios básicos de las herramientas de pruebas automatizadas

Selenium (analiza el código front-end y controla el navegador)

 

Modo PO para pruebas automatizadas

1. En el modo PO, se encapsula de manera abstracta en una clase BasePage, que tiene una propiedad que solo implementa instancias de webdriver

2. Cada página hereda BasePage, administra los elementos en esta página a través del controlador y encapsula las operaciones en la página en métodos individuales. TestCase se basa en la clase de página para implementar los pasos de prueba correspondientes.

 

marco de prueba automatizado

1. Impulsado por palabras clave

(1) Divida el caso de prueba en cuatro partes diferentes. El primero es el paso de prueba (Paso de prueba), el segundo es el objeto en el paso de prueba (Objeto de prueba), el tercero es la acción (Acción) realizada por el objeto de prueba, y el cuarto son los datos requeridos por el objeto de prueba (Datos de prueba).

(2) Combinar datos con palabras clave para describir cómo realizar la prueba. Es decir, los pasos del guión del caso de prueba se extraen y se colocan en un archivo de datos independiente, lo que se convierte en una forma sencilla de escribir. Este enfoque tiene la ventaja de estar basado en datos, al tiempo que permite a los no programadores crear pruebas.

(3) El modelo basado en palabras clave se basa en el enfoque basado en datos, y el archivo basado en palabras clave contiene instrucciones (palabras clave), no solo datos.

(4) Este marco de prueba puede generar una gran cantidad de casos de prueba con muy poco código. El mismo código se reutiliza al usar la tabla de datos para generar cada caso de prueba.

2. Basado en datos

(1) Lea los datos de prueba de entrada de un archivo de datos (como un archivo de Excel, un archivo Xml, un archivo Json, una base de datos, etc.) y luego páselos al script de prueba escrito a través de variables.

(2) La lectura de los archivos de datos, el estado de la prueba y todos los pasos de la prueba se escriben en el script de prueba; los datos de prueba solo se incluyen en el archivo de datos, no en el script, y el script de prueba es solo un "controlador", o un mecanismo de transmisión de datos.

(3) El método basado en datos se usa principalmente en escenarios que requieren diferentes datos para garantizar la cobertura de la prueba, como que la lógica comercial del sistema bajo prueba es fija o cambia poco, es decir, los pasos del caso de prueba son fijos, pero el datos de prueba requeridos Es una situación cambiante, en términos generales, los datos se almacenan en un archivo o base de datos externa y se obtienen automáticamente en tiempo de ejecución. Es decir, el marco de prueba debe admitir la separación de datos y scripts, y un script de prueba puede impulsar la ejecución de múltiples escenarios de prueba similares.

(4) Este marco tiene la intención de reducir la cantidad total de scripts de prueba necesarios para ejecutar todos los casos de prueba, y la tecnología basada en datos requiere muy poco código para generar una gran cantidad de casos de prueba.

3. Selección y construcción del marco de prueba automatizado

Soluciones técnicas

Selenio (Webdriver) + Python (prueba de unidad) + cx_Oracle + HTMLTestRunner

WebDriver de Selenium es una herramienta de código abierto. Usar el lenguaje Python relativamente simple para pruebas automatizadas es más práctico en términos de costos de aprendizaje del personal, y el tiempo de aprendizaje es corto, lo que tiene sus ventajas.

El marco de prueba unitaria unittest que viene con Python puede implementar fácilmente tareas como el diseño y la ejecución de casos de uso automatizados y la gestión de conjuntos de casos de uso automatizados. Python es un lenguaje puro orientado a objetos, y también se puede hacer la transición a Java + Selenium para realizar pruebas automatizadas más ricas en el futuro; además, Jenkins se puede seleccionar como el servidor de integración continua para realizar pruebas de humo automatizadas con la solución Python + Selenium .

Esta solución utiliza el patrón de diseño de objetos de página para separar páginas, casos de uso y datos. De esta forma, el caso de prueba puede prestar más atención al negocio que a los detalles de la interfaz, mejorar la legibilidad del caso de prueba, reducir la redundancia de código y aumentar la reutilización del método.

selección de entorno

De acuerdo con los resultados de la discusión de los requisitos de prueba automatizados del grupo de prueba, use la tecnología de prueba automatizada para realizar pruebas de regresión en entornos uat y escenarios. (Asegúrese de que el entorno se puede usar normalmente antes de la ejecución)

Debido al lanzamiento frecuente de UAT y entornos de escenario, que afectan la depuración y la creación de scripts del marco de prueba automatizado, solicite un entorno estable para la depuración y escritura.

Proceso de prueba automatizado

(1) Seleccione el módulo

(2) Seleccione un caso de uso (caso de uso del proceso principal)

(3) Escriba el método de operación por página

(4) Escribir guiones de procesos de casos de uso por caso de uso

(5) Escribir métodos de consulta de datos según los casos de uso

(6) Ejecutar casos de uso

(7) Informe de salida (ampliación posterior, agregando registros de ejecución y capturas de pantalla de excepción para rastrear defectos).

En resumen, cuando se escribe el contenido del script y los requisitos comerciales y de prueba no han cambiado, simplemente realice los dos últimos pasos. Verifique el contenido del informe.Si se encuentra un defecto, es necesario reproducir el defecto de acuerdo con el contenido del caso de uso y enviarlo al sistema de gestión de ZenTao.

Mantenimiento posterior

(1) Cambios en los requisitos comerciales

Cuando los requisitos comerciales cambian, el caso de uso del contenido modificado debe omitirse cuando se ejecuta el caso de uso, y el script y el caso de uso deben ajustarse en consecuencia después de que se inicie el contenido modificado. Una vez que se completa el ajuste, debe ejecutarse nuevamente para garantizar la estabilidad del caso de uso.

(2) Refactorización del módulo bajo prueba

Cuando se completa la refactorización del módulo bajo prueba, es necesario ejecutar el caso de prueba automatizado del módulo para verificar si se ejecuta normalmente. Si no hay problema, no se requiere ningún ajuste. Si hay un problema, necesita para ser depurado y resuelto a tiempo.

(3) Cambios técnicos

Con la continua optimización y expansión del marco de prueba automatizado, los módulos básicos y las páginas encapsuladas también cambiarán en consecuencia. Además, las pruebas automatizadas deben realizarse regularmente para garantizar la estabilidad del marco después del ajuste y la expansión, a fin de garantizar el progreso normal de las pruebas de regresión.

Asignación de recursos

(1) Medio ambiente:

a. El entorno del proyecto es similar al del proyecto en línea. Se publica de forma independiente. El contenido de la versión es relativamente estable. La base de datos es independiente y no se verá afectada por otros entornos.

 B. Entorno local, win7 y win10 Chrome 72 de 32 bits.

(2) Usuario: usuario independiente, la autoridad debe ajustarse lo más alto posible, para que no se vea afectado por la autoridad del usuario para acceder a ciertos puntos de función y para reducir la omisión de casos de uso.

(3) Personal: Establezca un grupo de pruebas automatizadas, idealmente con 3-4 personas, desarrollo de pruebas, ingenieros de pruebas automatizadas intermedios y superiores e ingenieros de automatización junior.

(4) Capacitación: Capacitación para ingenieros de automatización junior, marco de diseño y manejo de empaque, etc.

Cuarto, las pruebas automatizadas se implementan en etapas.

1. Cree el marco básico y complete la demostración de prueba automatizada de un módulo

Adopte el patrón de diseño de objeto de página para encapsular y aislar elementos de página, procesos de casos de uso y datos, y vuelva a encapsular el controlador web en el módulo común o módulo básico, y genere automáticamente informes de prueba para analizar los resultados de la ejecución de prueba automatizada.

2. De acuerdo con el marco de la versión básica, amplíe el alcance de las pruebas

Seleccione módulos funcionales adecuados para pruebas automatizadas, escriba scripts, casos de uso, etc. de acuerdo con las ideas básicas del marco, y luego amplíe el marco para realizar la ejecución de pruebas programadas y basadas en datos, enviar informes por correo electrónico y otras funciones fáciles de usar. -funciones básicas.

3. Pruebas de regresión que cubren la mayoría de los módulos.

De acuerdo con la coordinación de recursos como el personal, los casos de prueba automatizados se amplían en la medida en que se cubren la mayoría de las pruebas de regresión del módulo. Las pruebas de regresión se completan realizando pruebas automatizadas para lograr el propósito de mejorar la eficiencia de las pruebas de regresión y reducir los requisitos de mano de obra para las pruebas de regresión.

resumen

La tecnología de pruebas automatizadas tiene ciertas ventajas en la tecnología de pruebas moderna, pero las pruebas automatizadas no son necesarias en ningún caso. La inversión adecuada o rentable requiere que introduzcamos las pruebas automatizadas en el momento adecuado, de modo que las pruebas manuales y la automatización La prueba logre una combinación perfecta .

Vea videos tutoriales gratuitos en:

Un método muy pervertido pero que le permite dominar rápidamente las pruebas automatizadas (Web/automatización de interfaz/APP/Selenium/pruebas de rendimiento, etc.) 、【Pruebas automatizadas】Ideas de diseño de marcos de pruebas automatizadas, un conjunto completo de materiales de prueba de software y rutas de aprendizaje, etc. Para ver videos más emocionantes del maestro UP, preste atención a la cuenta UP. https://www.bilibili.com/video/BV1hj411z71j/?vd_source=74d0257ec7066cc4f9013524f0bb7013 A la edad adecuada, elija la posición correcta e intente aprovechar al máximo sus propias ventajas.

Mi camino hacia el desarrollo de pruebas automatizadas es inseparable del plan en cada etapa del camino, porque me gusta planificar y resumir, por lo que mis amigos y yo dedicamos un tiempo a organizar y escribir la siguiente "Ruta de aprendizaje de pruebas de software", que también es Organizó una gran cantidad de [recursos de disco de red]

 PD: ¿Cómo puedo conseguirlo? ¡Es muy simple, simplemente haga clic en la pequeña tarjeta a continuación para obtenerlo gratis!


 

 

Supongo que te gusta

Origin blog.csdn.net/HUA1211/article/details/132249488
Recomendado
Clasificación