Trabajando en Ali durante 3 años, la voz de una ingeniera de pruebas de software de 27 años

Permítanme hablar brevemente sobre esto primero, las coordenadas son Hangzhou y me gradué en la clase 14. Incluyendo la entrevista en Alibaba hace un año, hubo un total de 6 empresas entrevistadas (porque no quería pedir permiso, Acabo de ir a entrevistar a otras empresas todas las noches, por lo que el entrevistado tiene menos empresas)

Entre ellos, 4 tuvieron éxito y los otros 2 fracasaron porque:

1. La comprensión del conocimiento del sistema no es lo suficientemente completa. Durante la última ronda de entrevista con el supervisor, el supervisor hizo preguntas más detalladas. Al final, como no pudo responder, regresó directamente a esperar la notificación.

2. La otra empresa que fracasó era una empresa pequeña con un número reducido de personas. Después de la entrevista, aprendí mucho sobre ella. La otra parte pensó que mis habilidades básicas eran buenas, pero todavía faltaba la experiencia real del proyecto, porque la otra parte era una empresa nueva y necesitaba People can get start, por lo que no soy particularmente adecuado para su equipo en este momento.

En cuanto a las otras cuatro empresas exitosas, las evaluaciones de las entrevistas que me dieron parecen ser bastante altas, pero no quiero mantener una cuenta corriente, por lo que no enumeraré el proceso de entrevista de cada empresa uno por uno...

En los últimos dos días, hablé con mis amigos sobre el desarrollo de las pruebas de software. De hecho, las pruebas de software han sufrido grandes cambios sin saberlo. En los últimos años, la industria de las pruebas de software seguía siendo un punto caliente. Influencia en las pruebas de software industria, la actual "brecha" de la industria de pruebas de software se ha saturado básicamente. Por supuesto, de lo que estoy hablando es de que hay muy pocos requisitos de trabajo para las pruebas funcionales más básicas, y todavía hay muchas oportunidades para la automatización, el rendimiento, la seguridad e incluso las pruebas de big data y las pruebas de IA que pueden aparecer en el futuro. .

Muchos practicantes de pruebas en realidad se sienten confundidos acerca de su desarrollo futuro y sienten que su trabajo en realidad es "hacer clic con el mouse". De hecho, este no es el caso. Los ingenieros de pruebas tienen su propio valor. Si ama esta industria y planifica bien su trayectoria de desarrollo profesional, es posible alcanzar el salario más alto en la industria.

inserte la descripción de la imagen aquí
"Las olas traseras del río Yangtze empujan las olas delanteras y las olas delanteras mueren en la playa", una vez una broma que hizo sonreír a la gente, ahora se ha convertido en una verdadera representación de la industria de pruebas de software. Debido al bajo umbral de entrada y la alta remuneración en la industria de pruebas de software, hay un flujo constante de sangre fresca hacia los "precursores" de la industria de pruebas de software, lo que nos ha traído mucha presión.

Se puede imaginar la presión que enfrentan aquellos estudiantes que han estado en la industria por algunos años pero aún son pruebas funcionales. Después de todo, la industria de pruebas de software sigue siendo una posición técnica. Dado que es un puesto técnico, debe apoyarse en la tecnología para hablar. Dominar continuamente nuevas habilidades y mejorar la capacidad de las pruebas de software para "encontrar errores" se ha convertido en un problema urgente que deben resolver los profesionales de las pruebas de software. Por lo tanto, la mayoría de los probadores funcionales junior ahora se están acercando a la automatización, el rendimiento y la seguridad.

Sin embargo, todavía hay muchos ingenieros de pruebas de software parados en la "encrucijada", confundidos e indefensos, incapaces de encontrar su propia dirección.

inserte la descripción de la imagen aquí
¡Toda la confusión se debe a que piensas demasiado y haces muy poco! Todos los profesionales de la industria de las pruebas de software son conscientes del dilema al que se enfrentan actualmente, pero todavía hay muy pocas personas que puedan realizar cambios oportunos y adaptarse a los cambios de los tiempos. ¿La mayoría de la gente claramente "Taishan se derrumba y sus rostros están pálidos", pero solo pueden verse eliminados de la industria?

inserte la descripción de la imagen aquíLa siguiente ruta de planificación del desarrollo del ingeniero de pruebas le brindará inspiración y orientación:

1. Base de prueba

Comprender las habilidades básicas de las pruebas, dominar el uso de las principales herramientas de gestión de defectos y ser competente en la operación y el mantenimiento del entorno de prueba.

base de prueba
Plan de prueba/Caso de prueba Clase de equivalencia de diseño de caso de uso de caja negra/valor límite/análisis de escenario/tabla de decisiones/análisis de diagrama causal/inferencia de error
defecto Ciclo de vida de defectos/Clasificación de defectos/Herramienta de gestión de defectos ZenTao/Jira
base de datos Mysql/Construcción ambiental/Agregar, eliminar, modificar y consultar/Asociar consulta/Procedimiento almacenado
linux Construcción del sistema/Instrucciones básicas/Análisis de registros/Construcción del entorno

En segundo lugar, el conocimiento necesario de Linux.

Como el sistema de entorno de software más popular, se debe dominar Linux.Todos los requisitos de contratación actuales requieren capacidades de Linux.

Conocimientos esenciales de Linux.
Introducción y preparación del sistema Linux Como el sistema de entorno de software más popular, Linux debe aprenderse de la introducción, instalación, estructura de directorios y otros contenidos básicos del sistema de versión de CenterOS, y también debe prepararse para el entorno de prueba autoconstruido posterior.
Herramienta remota de Linux Xshell Presentar en detalle cómo comenzar y usar Linux, y realizar operaciones regulares de administración remota y transferencia de archivos, involucrando las herramientas Xshell, Xftp
Propiedades y administración de archivos de Linux – Presentar en detalle cómo comenzar y usar Linux, y realizar operaciones regulares de administración remota y transferencia de archivos, involucrando las herramientas Xshell, Xftp–
Administración y atributos de archivos de Linux Presentar en detalle cómo comenzar y usar Linux, y realizar operaciones regulares de administración remota y transferencia de archivos, involucrando las herramientas Xshell, Xftp
Administración y atributos de archivos de Linux Archivos de Linux, propiedades básicas de directorios, operaciones de archivos, gestión de archivos, operaciones de directorios, gestión de directorios. Evitar operaciones de comportamiento autodestructivo, cómo prevenir operaciones accidentales
Gestión de usuarios y grupos de Linux – Cómo agregar, eliminar, modificar usuarios y grupos en Linux y otorgar los permisos correspondientes, ya no se atasca debido a problemas de permisos:
editor de archivos linux El uso del editor de archivos vi de Linux, modo de comando, modo de entrada, ejemplos de operación, teclas de método abreviado, comandos de canalización y experiencia. ¿Cómo editar en un sistema sin gráficos?
Configuración común del sistema Linux Configuración de red, variables de entorno, administración de disco, configuración de tiempo, recursos del sistema, firewalls, todo, no se preocupe por no tener ni idea.
software de instalación de linux – Comandos de instalación de Linux y cómo instalar a través de tar, gz y otros archivos de instalación descargados, como la instalación de la base de datos MySQL.
Contenedores Docker de Linux Explicación de la tecnología de contenedores Docker, administración de imágenes de imágenes, almacén, creación de contenedores, inicio, operación, empaque de imágenes, ponerse al día con las tecnologías populares de la industria

3. Guión de shell

Master Shell scripting: incluye base y aplicación de Shell, control de lógica de Shell, función de lógica de Shell

Caparazón
Conceptos básicos y aplicaciones de Linux Shell Introducción a la programación de scripts de shell, tipos de entornos, variables, parámetros, operadores, uso de arreglos, scripts de distancia cero
Control lógico de Shell de Linux Aplicación de lógica de shell, comando de prueba, control de procesos, entrada y salida de datos, la lógica de script ya no es monótona y juega trucos
Funciones de shell de Linux -Método de escritura de función de script de Shell, los archivos se llaman entre sí, aplicación práctica de script, saber qué pueden hacer el desarrollo, las pruebas, la operación y el mantenimiento
Lote de secuencias de comandos de Windows Basta de inux, echemos un vistazo al uso general de comandos de Windows, la escritura de scripts por lotes y las aplicaciones prácticas. No es Linux en todas partes. Los scripts de Windows también son uno de los scripts de uso común. Puede usar Windows cuando vea aquí.

4. Principios de los programas de Internet

El camino hacia la automatización: conceptos básicos de desarrollo front-end y elementos esenciales de redes de Internet

Principios de los programas de Internet
Fundamentos del desarrollo front-end web Aprendizaje de contenidos básicos HTML, CSS. ¿Por qué se desarrolló el curso de prueba? Lo siento, si no es así, es posible que la automatización no sea bienvenida, muchos problemas de pruebas de automatización provienen de la base de desarrollo
Scripts de desarrollo front-end web JavaScript es el aprendizaje de secuencias de comandos más común. Del mismo modo, esto también estará involucrado en las pruebas automatizadas. De hecho, las secuencias de comandos dinámicas se utilizan a menudo en algunas herramientas, que también son lenguajes de JavaScript.
Herramientas de depuración para desarrolladores para probar aplicaciones JavaScript es el aprendizaje de secuencias de comandos más común. Del mismo modo, esto también estará involucrado en las pruebas automatizadas. De hecho, las secuencias de comandos dinámicas se utilizan a menudo en algunas herramientas, que también son lenguajes de JavaScript.
Herramientas de depuración para desarrolladores para probar aplicaciones Aunque el F12 del navegador se menciona como una herramienta de desarrollo, de hecho, las pruebas juegan un papel clave tanto en las pruebas funcionales como en las pruebas automatizadas. Como analizar HTML, ubicar elementos, depurar scripts, monitorear paquetes de red, etc.
Programa de Internet Arquitectura de red A través de la arquitectura de red, comprenderemos en detalle el nacimiento del programa de Internet, los detalles lógicos, cómo el principio de comunicación de Internet transmite datos a otras computadoras y cuál es la relación entre TCP, UCP, HTTP y otros protocolos.
Análisis de la estructura de datos del protocolo HTTP- -Analice completamente la estructura de datos del protocolo HTTP, incluidos los formatos de datos de solicitud y respuesta, la definición y el uso del encabezado, lo que representan los diversos estados y cómo identificar errores. Analice la ubicación de los parámetros en el protocolo, la estructura del resto, varios formularios de datos corporales comunes, métodos de análisis y las causas de los errores comunes de análisis de datos.
Mecanismo de sesión y cookies Interpretación de qué es una cookie, qué tipo de relación tiene con una sesión, cómo probar una cookie y una sesión, y a qué prestar atención

5. Base de datos MySQL

Los ingenieros de prueba de software deben tener conocimiento de la base de datos MySQL, no solo en el básico "agregar, eliminar, modificar y verificar".

base de datos mysql
Aplicación de prueba de base de datos MySQL La construcción del entorno MySQL, el uso básico y la manipulación de datos del cliente Navicat, el aprendizaje y la consolidación de la sintaxis básica de SQL, la adición, eliminación, modificación y verificación son indispensables, y el dominio del uso de varias condiciones.
Consultas avanzadas de MySQL Actualización de consultas, consulta maestra de varias tablas, subconsulta, agrupación de consultas, uso de funciones estadísticas y aprendizaje y análisis de preguntas de entrevistas clásicas.
Función personalizada de MySQL Dado que hay funciones integradas, por supuesto, no hay escasez de funciones personalizadas, y se utilizan con frecuencia.Esto es como cualquier lenguaje de desarrollo que es inseparable de la definición y el uso de funciones.
Procedimiento almacenado de MySQL SP El procedimiento almacenado esencial de la base de datos, generalmente también llamado SP, ¿cómo definirlo? ¿Cómo probar? Cómo usarlo de manera más segura y probar qué se puede hacer con los procedimientos almacenados más convenientes para la prueba
Transacciones MySQL y Programación Casos de uso de transacciones de bases de datos, el principio y el uso de índices, la aplicación de la programación SQL de bases de datos en las pruebas y cómo usarlas para generar de forma rápida y precisa una gran cantidad de datos de prueba específicos

6. Herramienta de captura de paquetes

Fiddler, Wireshark, Sniffer, Tcpdump varias herramientas de captura de paquetes son adecuadas para varios proyectos, siempre hay una adecuada para usted

Herramienta de captura de paquetes
El principio y el método de captura de paquetes. 只有了解抓包的原理,才能真正去用好一个适合的工具,选择合适的方向和方法,否则都是徒劳的
抓包工具选择 抓包工具的分类与功效,什么样的项目适合哪种工具,如何去辨别工具的优势
Fiddler基础功能 作为专业的HTTP体系的抓包工具,详细介绍其工具原理,如何过滤数据,如何搜索想要的数据,如何对web,非web,手机,HTTPS协议等各种环境进行抓包
Fiddler高级功能 学会使用其进行接口测试,断电,脚本等方式进行数据的修改,替换,模拟数据进行接口Mock测试,创建自己定义的菜单功能
Wireshark 与其说是抓包,更是一种抓包后的分析工具,在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示,有着强大的过滤和分析功能
Sniffe 黑科技抓包工具,有多种版本,非常专业的抓包工具
Tcpdump Linux、Android系列的系统中的抓包插件神器

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

接口测试工具
Jmeter接口测试入门 Jmeter简介,环境准备,目录结构介绍 ,如何录制脚本,以及基础组件的使用,线程、作用域、HTTP请求、定时器、断言等等
Jmeter接口测试进阶使用 Jmeter逻辑控制、前置处理器、后置处理器、监视器、结果树,如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有token等动态数据的项目进行实战演练
Jmeter接口测试高级功能- -Jmeter脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用,webservice、websocket、jdbc、命令调用等等
Postman接口测试工具使用 行业标准HTTP、rest接口测试神器,基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具,避免泛滥学习

八、Web自动化测试Java&Python

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

Web自动化测试Java&Python
自动化框架思路引导 我们做自动化到底为了什么?节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路,而非无脑进坑任机器摆布
Java&Python3开发环境及基本语法 Java&Python开发环境搭建,基础语法入门,让不会代码的以最快速度入门,方便适应后续自动化测试开发内容学习,代码够用即可,并不是学得越多越好
Java&Python3集合类型与面向对象开发- -Java&Python各种基本类型、集合数据类型的理解与操作,循环语句、判断语句,面向对象的开发,函数的使用,类的使用
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作- -selenium3常见定位方法,属性和值的获取,如何动态判断不一定存在的元素,复杂的网页结构,需要多步骤操作的元素等等
Selenium3环境与浏览器驱动配置 基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
特殊情况处理(js、特殊控件等) selenium3自动化测试中,常见的特殊情况处理,如日期、控件、智能等待、文件上传下载、网页嵌套结构,各种弹窗的处理方式,cookie处理,JavaScript脚本调用等
TestNG&unittest自动化框架使用 Python unittest、Java TestNG自动化框架的使用,环境处理、基本使用逻辑,数据驱动模型,数据库数据载入等
自动化框架断言与日志处理 自动化中最重要的是什么?作为测试当然是断言,没有断言的自动化毫无用处,如何展示日志与结果是自动化测试的根本
PageObject框架设计模式 PageObject框架设计模式,到底是做什么的?如何更好的快速管理控件,从此做起

九、接口与移动端自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

接口与移动端自动化
接口自动化方案Requests Python Requests、Java HTTPclient接口框架,都是专业的接口调用、测试的解决方案,使用简单快速,结合工具的使用方式和功能,快速上手并对其操作,解决其中的疑难杂症
web+自动化框架整合 自动化测试是相通的,如何将web与接口、甚至更多的测试类型和方向结合起来,组成完整的自动化框架
Appium环境搭建 Appium环境相对复杂,针对Android系统进行完整的环境搭建演练,解决环境上的问题,并进行基本的自动化操作
Appium自动化实战与框架结合 Appium整体使用与web自动化类似,引导使用典型功能,并针对一款APP进行实战操作

十、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

敏捷测试&TestOps构建
构建敏捷测试运维架构体系 敏捷测试是什么?为什么需要敏捷,行业都提到的devops又是什么?TestOps能做什么
持续集成Jenkins框架实战 持续集成最常见的一套框架,介绍Jenkins操作、权限、系统管理等,常用构建与运行实例讲解
-静态扫描测试Sonar- -一款自动化的代码扫描工具,便捷式快速扫描代码中的问题,做到提前发现,统一规范,自动化中的代码测试神器-

十一、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

性能测试&安全测试
性能测试学习路线 如何学习性能测试,性能测试到底该怎么学习,使用什么工具?工具并不代表性能,接口的基础对性能测试非常重要,而工具只是辅助,更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner脱离浏览器录制专题 E无法启动被测网站?打不开浏览器?程序无法在浏览器中被打开?这些都没关系,还是一样能录制,但录制是偷懒专用的,对于学习有一定的辅助作用,也会带入无法脱离的坑
-性能测试工具操作实践- -loadrunner, jmeter, con el uso básico anterior, entender el script no es problema, con la parametrización de claves, asociación dinámica de datos, cosas, logs, la mayoría de los scripts se pueden hacer para practicar-
Implementación del plan de monitoreo del sistema ¿La herramienta viene con monitoreo? ¿Monitoreo del sistema? ¿Monitoreo interno de JVM? ¿Monitoreo de base de datos? ¿Cuál es la importancia de varios monitoreos y cómo monitorear con precisión los datos en diversas situaciones?
Origen de las pruebas de seguridad e introducción de herramientas. ¿Cómo se deben realizar las pruebas de seguridad y cuáles son las clasificaciones de las pruebas de seguridad? Qué tipo de herramientas se utilizarán y cuáles son sus funciones, como el análisis de vulnerabilidades web, el análisis de puertos, el análisis del sistema, etc.
-Combate manual de pruebas de seguridad web- -El papel de las pruebas de interfaz en la seguridad, sin pruebas de seguridad manuales, nunca podrá comprender los resultados producidos por la automatización-
Práctica de prueba de la herramienta de escaneo de seguridad Introducción práctica y uso de herramientas profesionales de escaneo de seguridad como APPscan y awvs
Construcción de seguridad empresarial (SDLC) ¿Cómo deberían las empresas llevar a cabo la construcción de seguridad y formular un ciclo de vida de software más seguro? Donde empezar
Práctica de prueba de la herramienta de escaneo de seguridad Introducción práctica y uso de herramientas profesionales de escaneo de seguridad como APPscan y awvs
Construcción de seguridad empresarial (SDLC) ¿Cómo deberían las empresas llevar a cabo la construcción de seguridad y formular un ciclo de vida de software más seguro? Donde empezar

Lo anterior es un diagrama del sistema de arquitectura del conocimiento para la dirección de desarrollo de los ingenieros de pruebas de software que he compilado para usted. Espero que todos puedan seguir este sistema para completar la construcción de dicho sistema dentro de 1-2 años. Se puede decir que este proceso te hará querer morir, pero siempre y cuando lo superes. La vida será mucho más fácil en el futuro. Como dice el refrán, el comienzo de todo es difícil. Mientras das el primer paso, ya has logrado la mitad. Los antiguos decían: "Si no acumulas unos pocos pasos, no puedes dar mil". millas". Cuando mire hacia atrás en este viaje después de la finalización, definitivamente suspirará con emoción. mucho.

Recursos de apoyo

Los anteriores son algunos recursos de apoyo. Estos recursos deberían ser el almacén de preparación más completo y completo para los amigos de pruebas de software. Para organizar mejor cada módulo, también hago referencia a muchas publicaciones de blog y proyectos de alta calidad en Internet. Después de perder cada punto de conocimiento, muchos amigos confiaron en estos contenidos para revisar y recibieron ofertas de grandes compañías como BATJ. Este repositorio también ha ayudado a muchos estudiantes de pruebas de software, y espero que pueda ayudarlo a usted también. Haga clic en la tarjeta al final del artículo para unirse a nuestro grupo de intercambio de prueba y recibir los recursos de apoyo anteriores de forma gratuita

¡Vamos, probador! Si necesita mejorar su planificación, hágalo, es mejor estar en el camino que esperar y ver al principio.

¡En el futuro, definitivamente te agradecerás por trabajar duro ahora!

Supongo que te gusta

Origin blog.csdn.net/weixin_54696666/article/details/127283925
Recomendado
Clasificación