Cómo aprender a probar software

1. Hoja de ruta de aprendizaje (haga clic en la imagen para ampliarla y verla con claridad)

2. Vídeo de prueba de software, fase uno: conocimientos básicos previos

1. Objetivos de aprendizaje:

Competencias básicas que se pueden dominar:

1. Familiarizarse con conceptos relacionados con la informática;

2. Dominar las teorías básicas de las pruebas;<. /p >

3. Dominar las etiquetas HTML comunes y las especificaciones de sintaxis;

4. Dominar el uso de CSS para definir estilos de páginas web;

5. uso de js;

2. Puntos de conocimiento:

1) Conceptos básicos de informática

Componentes de computadora, clasificación de sistemas operativos, arquitectura B/S y C/S, Comandos DOS de uso común, nombre de dominio del servidor

2) Teoría de las pruebas

El propósito de las pruebas de software, definición de las pruebas de software, principios de las pruebas de software, modelo de calidad del producto, proceso de prueba básico

3) Conceptos básicos de HTML

p>

Sintaxis básica de HTML, atributos de etiquetas, etiquetas de imagen, hipervínculos, anclajes, formularios

4) Conceptos básicos de CSS

Sintaxis básica de CSS, cuatro tipos de selectores de CSS, atributos de texto de uso común, atributos de altura de línea, bordes, modelos de cuadro, márgenes internos y externos

5) Conceptos básicos de JS

JS Sintaxis básica, método de introducción a JS 3, video de prueba de software, segunda etapa: Linux y base de datos

1. Objetivos de aprendizaje:

Capacidades principales que se pueden dominar:

1. Dominar la instalación y configuración del sistema operativo Linux;

2. Ser competente en los comandos comunes de Linux;

3. Dominar las operaciones de adición, eliminación, modificación y consulta de bases de datos;

4. Familiarizarse con funciones avanzadas como índices de bases de datos, vistas, transacciones y funciones comunes.

5. Dominar los tipos y operaciones básicos de Redis, como el tipo de cadena, el tipo hash y el conjunto. tipo, tipo de lista, etc.

2. Puntos de conocimiento:

1) LINUX (familiar)

Introducción a los sistemas operativos, historial de desarrollo de los sistemas operativos , interfaz gráfica de CentOS, archivos y directorios, uso de comandos LINUX de uso común, uso del editor de texto vim

2) Introducción a las bases de datos (Familiar)

Conceptos básicos de bases de datos, introducción a bases de datos relacionales, instalación y uso de MySQL y uso de Navicat

3) Lenguaje SQL (clave)

Operaciones de tablas de datos, operaciones de datos: adición, eliminación, modificación, consulta, condicional consulta, clasificación, función agregada, agrupación, paginación, consulta de unión, autocorrelación, subconsulta, exploración de subconsulta

4) Funciones avanzadas de base de datos (comprensión)

Diseño de base de datos, operación de línea de comandos base de datos, funciones, procedimientos almacenados, vistas, transacciones, índices, claves externas, contraseñas de usuario

5) funciones de base de datos de redis (maestro)

Domine los tipos y operaciones básicos de Redis, como tipo de cadena, tipo de hash, tipo de conjunto, tipo de lista, etc. 4. La tercera etapa del video de prueba de software: conceptos básicos de prueba

Objetivos de aprendizaje:

Competencias básicas que se puede dominar:

1. Dominar los conceptos básicos de pruebas y clasificaciones comunes de pruebas;

2. Dominar los métodos de diseño de casos de prueba de caja negra y diseñar casos de prueba funcionales;

3. Competente en la redacción de informes de defectos;

4. Familiarizado con el uso de las herramientas de gestión de pruebas ZenTao y JIRA.

5.

6. Dominar el análisis de pruebas funcionales y la redacción de casos de uso;

7. Familiarizarse con el contenido principal de los planes de prueba, los planes de prueba y los informes de prueba.

8. Funciones maestras La relación entre las pruebas y la base de datos

9. Dominar el uso de la herramienta Fiddler

2. Puntos de conocimiento:

1) Pruebas de software. teoría

pruebas de software

Clasificación, modelo de desarrollo de software y modelo de prueba, modelo de calidad de software, definición y elementos de casos de prueba

2) Diseño de casos de prueba

Método de clase de equivalencia, método de valor límite, causa y- diagrama de efectos, tabla de determinación, método de migración de estado, ortogonal, escenario

3) Gestión de defectos

Definición de defectos, criterios de evaluación de defectos, informe de defectos, proceso de seguimiento de defectos

4) Práctica de proyectos web

Construir un entorno de prueba para el proyecto, cómo familiarizarse rápidamente con el proyecto, el proceso de prueba del proyecto, planes y soluciones de prueba, análisis de pruebas funcionales, uso de la migración de estado. método, análisis de pruebas de proceso, análisis de pruebas no funcionales, redacción de informes de prueba, captura de paquetes de Fiddler

5) Práctica de proyectos de aplicaciones

6) Herramientas de gestión de pruebas

El uso de ZenTao, el uso de JIRA cinco, Video de prueba de software Capítulo 4: Estructura de datos de programación

1 Objetivos de aprendizaje:

Habilidades básicas que se pueden dominar:

1. Dominar la sintaxis básica de Python y tener habilidades básicas de programación;

2. Establecer el pensamiento de programación y el pensamiento de programación orientada a objetos.

2. Puntos de conocimiento:

1) Entorno de desarrollo de Python

Construcción del entorno de desarrollo de Python y uso de Pycharm

2) Conceptos básicos de Python

Variables y tipos de variables, identificadores y palabras clave, métodos de denominación de variables, operadores aritméticos, conversión de tipos de datos variables, entrada y salida, comentarios, formato básico de declaraciones if, if...else... declaraciones, if ... instrucción elif..else, operador lógico, operador de comparación, prioridad del operador, formato de sintaxis de bucle while, aplicación anidada while, uso de interrupción, uso de continuar, lista de conceptos y operaciones, conceptos y operaciones de tupla, conceptos y operaciones de diccionario, conceptos y operaciones de cadenas, conceptos y operaciones de conjuntos, uso de bucles for y for...else, sintaxis básica de funciones, flujo de ejecución de funciones, comentarios de documentos, funciones con parámetros, funciones con valores de retorno, funciones Llamadas anidadas, funciones anónimas, funciones recursivas , variables locales y variables globales, referencias, concepto de archivos, apertura y cierre de archivos, lectura y escritura de archivos, así como lectura y escritura de posicionamiento de archivos, operaciones relacionadas con archivos y directorios

3) Orientado a objetos

Introducción a la orientación a objetos, los conceptos de clases y objetos, el significado y función de los métodos mágicos, los permisos de control de acceso de los miembros del objeto, el concepto y significado de herencia, herencia, herencia multinivel y múltiples herencia, el concepto y la aplicación del polimorfismo, atributos de clase y atributos de instancia, métodos de instancia, métodos de clase, métodos estáticos, patrones de diseño: patrón Singleton

4) Manejo de excepciones

Comprender el rol de excepciones, captura de excepciones, reglas de entrega de excepciones, excepciones personalizadas

5) Módulos y paquetes

Los conceptos de módulos y paquetes, el uso de __all__, el uso de declaraciones de importación, desde ... importar... Uso, desde... importar * Uso 6, Vídeo de pruebas de software Capítulo 5: Automatización WEB

1. Objetivos de aprendizaje:

Competencias básicas que se pueden desarrollar. dominado:

1. Ser capaz de construir un entorno de prueba automatizado web de manera competente.

2. Ser competente en los métodos de posicionamiento y operaciones de elementos. 3. Dominar las operaciones del mouse y el teclado y el procesamiento de elementos especiales de HTML;

4. Dominar el script del uso de UnitTest para gestionar pruebas automatizadas;

5. del modo PO y poder encapsular la página;

6. Dominar el método de implementación basado en datos

7. y procesamiento de registros

8. Dominar el proyecto real Cómo utilizar de manera flexible tecnologías relacionadas con la automatización.

2. Puntos de conocimiento:

1) Introducción a la automatización WEB

Conocimiento teórico de las pruebas automatizadas, introducción a los principales marcos de pruebas automatizadas web y el historial de desarrollo de Selenio y principio de funcionamiento, uso de herramientas de visualización de elementos y construcción del entorno

2) Conceptos básicos de la automatización WEB

Métodos básicos de posicionamiento de elementos, métodos de posicionamiento de elementos XPath y CSS, operaciones comunes de elementos, métodos de operación del navegador, operaciones con mouse y teclado, espera de visualización y espera implícita, procesamiento de elementos especiales HTML, capturas de pantalla de ventanas, procesamiento de códigos de verificación

3) Nivel intermedio de automatización WEB

Marco UnitTest, Accesorio, afirmación de UnitTest, parametrización, informe de prueba

4) Automatización WEB avanzada

Modo PO, basado en datos, procesamiento de registros

5) Proyecto de combate real

Proceso de prueba de automatización, diseño del marco de automatización de proyectos, implementación de código automatizado 7, vídeo de prueba de software fase 6: automatización móvil

Objetivos de aprendizaje:

Competencias básicas. que se pueden dominar:

1. Dominar las características de prueba de la aplicación móvil

2. Ser capaz de construir hábilmente un entorno de prueba móvil automatizado; Estar familiarizado con el principio de funcionamiento de appium;

4. Competente en el uso de herramientas ADB;

5. Competente en métodos de posicionamiento, operaciones de elementos y operaciones de gestos de elementos; /p>

6. Dominio del marco de pruebas unitarias pytest;

7. Dominar la lectura y escritura de datos YAML;

8. informes;

9. Dominar las ideas de diseño del modo PO;

10. Dominar la implementación basada en datos

11.

12. Dominar la configuración del entorno de integración continua de Jenkins;

p>

13. Dominar cómo utilizar de manera flexible tecnologías relacionadas con la automatización móvil en proyectos reales.

2. Puntos de conocimiento:

1) Funciones de automatización móvil

Arquitectura del sistema de aplicaciones de aplicaciones, entorno de prueba y plataforma de lanzamiento, modelo de desarrollo ágil de aplicaciones, pruebas de aplicaciones de aplicaciones. Puntos clave, pruebas de funciones comerciales, pruebas de compatibilidad, pruebas de actualización de instalación y desinstalación, pruebas de eventos cruzados, pruebas de mensajes push, pruebas de rendimiento, pruebas de experiencia del usuario, pruebas de estabilidad

2) Conceptos básicos de la automatización móvil

Clasificación y características de pruebas de terminales móviles, comandos ADB y uso de Monkey, construcción del entorno de appium, principio de funcionamiento de appium

3) Automatización móvil intermedia

Operación de aplicaciones y sistemas de telefonía móvil, posicionamiento de elementos , Operación de elementos, operación avanzada de gestos, prueba de aplicaciones híbridas, marco de prueba PyTest, informe de prueba personalizado, lectura y escritura de datos YAML

4) Automatización móvil avanzada

Modo PO, basado en datos , Git, Jenkins Integración Continua

5) Práctica del Proyecto

Práctica del Proyecto APP VIII. Video de Pruebas de Software Capítulo Séptima Etapa - Prueba de Interfaz

1.

Competencias básicas que se pueden dominar:

1. Dominar los conceptos relacionados con las interfaces y las pruebas de interfaces;

2. Dominar el uso de Postman para las pruebas de interfaces. ;

3. Dominar las operaciones básicas y las operaciones de transacción de la base de datos;

4. Dominar el uso de la biblioteca de solicitudes y la encapsulación de scripts;

5. Dominar el diseño y la encapsulación del marco de prueba de interfaz;

6. Dominar el uso de herramientas de integración continua para gestionar scripts de prueba de interfaz;

7. probar tecnologías relacionadas en proyectos reales.

2. Puntos de conocimiento:

1) Conceptos básicos de las pruebas de interfaz

Conceptos de prueba de interfaz y de interfaz, protocolo HTTP, especificaciones de interfaz, descripción del entorno del proyecto, prueba de interfaz. proceso

2) Postman implementa pruebas de interfaz

Introducción e instalación de Postman, uso básico de Postman, uso avanzado de Postman, informe de prueba de Postman, práctica del proyecto

3) Base de datos operación

Introducción a la base de datos, operaciones básicas de la base de datos, operaciones de transacción de la base de datos

4) Prueba de interfaz de implementación de código

Biblioteca de solicitudes, UnitTest integrado, desarrollo del marco de prueba de interfaz, proyecto práctica

5) Integración Continua

Introducción a la Integración Continua, Git, Jenkins, Postman de Integración Continua, Código de Integración Continua

6) Extensión de Prueba de Interfaz

Prueba simulada, Resumen de la prueba de interfaz 9, Vídeo de prueba de software, Capítulo 8: Prueba de rendimiento

1. Objetivos de aprendizaje:

Competencias básicas que se pueden dominar:

p>

1. Ser capaz de construir hábilmente un entorno de pruebas de rendimiento;

2. Dominar la teoría básica de las pruebas de rendimiento

3. componentes comunes de Jmeter;

4. Dominar Jmeter para escribir y registrar scripts de prueba de rendimiento;

5. Dominar la implementación de la construcción de escenarios únicos y mixtos basados ​​en Jmeter;

6. Dominar el tiempo de pensamiento, las transacciones y los controladores lógicos Aplicación de escenarios de prueba de rendimiento;

7. Complementos de rendimiento comúnmente utilizados por Master Jmeter para el análisis de gráficos;

8. Dominar los métodos e indicadores de monitoreo del rendimiento basados ​​en servicios de Linux;

9. Dominar los métodos comunes de monitoreo y ajuste de bases de datos.

2. Puntos de conocimiento:

1) Conceptos básicos de las pruebas de rendimiento

Teoría de las pruebas de rendimiento, clasificación de las pruebas de rendimiento, indicadores comunes de las pruebas de rendimiento, proceso de pruebas de rendimiento

p >

2) Herramientas de prueba de rendimiento

Herramientas de prueba de rendimiento de uso común, construcción del entorno Jmeter, descripción general de la función Jmeter, funciones de los componentes y secuencia de ejecución, grupo de subprocesos, parametrización, aserción, asociación, conexión a la base de datos, temporizador de control lógico, distribuido, informe de prueba

3) Prueba de rendimiento de la interfaz del proyecto

Análisis de documentos API del proyecto, clasificación de listas de interfaces, diseño de scripts de interfaz, cálculo de datos concurrentes, control lógico Proyecto de servidor aplicación, construcción de una sola escena, complementos y aplicaciones de gráficos de respuesta comunes

4) Prueba de rendimiento del proyecto-web

Grabación de scripts, filtrado regular, administrador de cookies, controlador de transacciones, tiempo de pensamiento, construcción de escenas mixtas, ejecución y análisis de scripts de rendimiento web

5) Ajuste de pruebas de rendimiento

Monitoreo del rendimiento del servidor Windows, monitoreo del rendimiento del servidor Linux, informe de prueba de rendimiento 10, video de prueba de software Capítulo 9 - Práctica integral de proyectos

1. Objetivos de aprendizaje:

Capacidades básicas que se pueden dominar:

1. Dominar las pruebas funcionales en proyectos reales Cómo implementarlas;

2. Dominar la construcción y el uso del marco de pruebas automatizadas web basado en Selenium;

3. Dominar la construcción y el uso del marco de pruebas automatizadas de aplicaciones basadas en Appium;

4. Dominar el uso de herramientas para implementar pruebas de interfaz;

5. Dominar la construcción y el uso del marco de pruebas de automatización de interfaces basado en la biblioteca Python Requests;

6. Dominar el uso del marco de pruebas de rendimiento de Locust;

7. Dominar cómo realizar pruebas de rendimiento en la aplicación;

8. Dominar cómo utilizar de manera flexible tecnologías de prueba relevantes en proyectos reales.

2. Puntos de conocimiento:

1) Introducción al proyecto

Introducción al proyecto, estructura del proyecto

2) Pruebas funcionales

Ideas de diseño de pruebas funcionales, pruebas laterales de medios propios, pruebas laterales de gestión en segundo plano, pruebas laterales de aplicaciones de usuario

3) Pruebas automatizadas de UI

Selenium Grid, creación de un marco de pruebas automatizadas, escritura de un script de prueba automatizado

4) Prueba de interfaz

Proceso de prueba de interfaz, prueba de interfaz basada en herramientas, prueba de interfaz basada en código

5) Prueba de rendimiento

Marco Locust, prueba de rendimiento de la aplicación