¿Es fácil encontrar trabajo como ingeniero de pruebas de software?
Programadores y testers corresponden. Solía pensar que tener buenos programadores en China era suficiente, pero en realidad también necesitamos buenos probadores. Los fabricantes de software nacionales prestan cada vez más atención a los evaluadores.
Ingeniero de pruebas de software
Cuando se trata de ingenieros de pruebas de software, muchas personas pensarán en el personal de bajo nivel o en los usuarios de software que usan software repetidamente y tratan de encontrar errores en operaciones frecuentes. . De hecho, este es un concepto erróneo. Las pruebas de software ya han superado la etapa de prueba básica utilizada por los usuarios para encontrar errores.
Chen Honggang dijo que Microsoft tiene tres tipos de ingenieros de pruebas de software: probadores de software básicos, ingenieros de desarrollo de software en prueba y probadores temporales.
Los ejecutivos de pruebas son responsables de comprender los requisitos funcionales del producto y luego realizar pruebas de acuerdo con las especificaciones de prueba y los casos de prueba, verificar si el software tiene errores y determinar si el software es estable. el rol de ejecución de nivel más bajo.
Los ingenieros de desarrollo de software de herramientas de prueba son responsables de escribir códigos de herramientas de prueba y utilizar herramientas de prueba para probar software o desarrollar herramientas de prueba para servir a los ingenieros de pruebas de software. Las herramientas de prueba desarrolladas se pueden utilizar durante las pruebas de rendimiento y las pruebas de envío después del desarrollo del producto. Son estas personas las que tienen los requisitos técnicos más estrictos porque necesitan tener las habilidades para escribir programas. "Debido a que diferentes productos tienen diferentes características, tienen diferentes requisitos para las herramientas de prueba. Al igual que las herramientas de prueba de Windows no se pueden usar en Office, Office no se puede usar en el servidor SQL. Muchos ingenieros de pruebas de Microsoft son responsables de apuntar específicamente a un determinado producto. Esos que escriben programas de prueba. ”
Ad hoc Testet es un ingeniero de pruebas experimentado. Ser capaz de encontrar su propia dirección y hacerlo bien requiere una gran creatividad. Cuando me uní a Microsoft por primera vez, mi jefe solo le dio a Chen Honggang un proceso operativo y yo seguí este proceso todos los días. Después de unos días, no se encontró ningún error. Chen Honggang también estaba frustrado y compadecido por la empresa. Luego se preguntó: ¿Por qué debe hacer esto? Entonces probé otros métodos. Para su sorpresa, descubrí muchos errores graves a la vez, pero no me atreví a decir nada en ese momento. Un día, encontró más de 10 errores muy graves y el director de desarrollo se sorprendió. Corrió enojado hacia Chen Honggang y le preguntó: "¿Ha cambiado los métodos y procedimientos de prueba?" Chen Honggang estaba un poco asustado y dijo: "Tal vez haya cambiado un poco". La otra parte dijo: "Estoy muy enojado, pero". No estoy enojado contigo. Fue porque los evaluadores fueron deficientes o hubo problemas con las pruebas anteriores. Algunos errores en el software estuvieron allí durante medio año o incluso un año, y recién ahora se descubrió que estaban allí. ¡Eran mucho más difíciles de arreglar!" Más tarde, Chen Honggang obtuvo la aprobación de su jefe y pudo seguir sus propias ideas. Lo intentó. Chen Honggang se sintió profundamente conmovido por esto: "Por un lado, he experimentado la cultura de Microsoft que fomenta la creatividad. Al mismo tiempo, también siento que simplemente seguir dogmas no es un buen evaluador, al igual que los usuarios. Ser ingeniero de pruebas de software también requiere espíritu pionero y creatividad”
En la gestión del desarrollo, las pruebas no deben pertenecer a la gestión de proyectos, ni a los desarrolladores. Estos tres departamentos deben trabajar mano a mano y cooperar entre sí y, en última instancia, son los ingenieros de pruebas quienes deciden si el producto puede lanzarse al mercado.
Calidad de los ingenieros de pruebas de software
Porque las pruebas de software aún se encuentran en la etapa de desarrollo y aún no han alcanzado el nivel teórico. Incluyendo a Microsoft, no existe un estándar unificado para la evaluación del personal, por lo que la evaluación de los ingenieros de pruebas de software solo puede eliminarse naturalmente en función de sus prácticas laborales.
Las pruebas de software tienen altos requisitos en cuanto a pensamiento lógico, capacidad de aprendizaje y capacidad de reacción. También son importantes el pensamiento riguroso y el pensamiento inverso. Chen Honggang dijo que en un equipo de prueba de cinco o seis personas, descubrió más de la mitad de los errores. Él cree que esto está estrechamente relacionado con su experiencia en matemáticas. Hay formación en pensamiento lógico en matemáticas y hay que ser bueno identificando varios factores. Por ejemplo, a la hora de demostrar un teorema se deben considerar todos los aspectos, si no se cumple una condición no se puede demostrar pero si la demostración no se cumple, lo más común es encontrar un contraejemplo. punto de prueba que no se sostiene, esto es lo que buscan las pruebas de software.
Al realizar pruebas, también debes considerar todas las posibilidades de errores y hacer algunas cosas raras que no siguen las reglas. Además de la detección de vulnerabilidades, las pruebas también deben considerar problemas de rendimiento, es decir, garantizar que el software funcione bien, no tenga pérdidas de memoria y no se ejecute cada vez más lento; es igualmente importante considerar la compatibilidad del software en diferentes usos; ambientes. Las pruebas de software también tienen una gran relación con el tamaño del producto, porque los errores de software a menudo se encuentran en las uniones de software de gran tamaño.
Ser ingeniero de pruebas de software requiere ser escéptico con respecto al software. Esto se debe a que a los desarrolladores les gusta dar las cosas por sentado y siempre están buscando datos que sean beneficiosos para la ejecución de sus propios programas. Algunos desarrolladores incluso piensan que los datos que no son propicios para la ejecución del programa son una mancha y una blasfemia para el código. Pero las pruebas de software requieren preparar estratégicamente varios datos, diseñar diferentes escenarios de aplicación a partir de cada detalle y no asumir que ningún dato sea factible.
En términos de calidad profesional y comunicación, no es que a los ingenieros de pruebas les guste encontrar fallas en los demás, sino que este trabajo requiere fuertes habilidades de comunicación. Comuníquese con los desarrolladores con frecuencia, hable y actúe de manera apropiada y no culpe a los demás; de lo contrario, obtendrá el doble de resultado con la mitad de esfuerzo. Su personalidad tranquila le permite comunicarse fluidamente con los desarrolladores y trata a las personas y las cosas de manera completamente diferente.
Cómo formar excelentes ingenieros de pruebas de software
Zhang Jianyang, un ingeniero de pruebas de software de Langchuan, desarrolló un software de análisis de mecánica de fluidos después de graduarse en el Departamento de Mecánica de la Universidad de Pekín. Quedó impresionada por los problemas causados por pruebas de software insuficientes. Posteriormente, fue a Datang Telecom para trabajar en UIM (Sistema de gestión de mensajería unificada). Descubrió que, aunque la empresa adoptó muchos incentivos para alentar a los empleados a encontrar errores, pocas personas estaban dispuestas a realizar pruebas del sistema. Sin embargo, desde entonces Zhang Jianyang ha revisado y traducido muchos materiales nacionales y extranjeros y ha desarrollado un gran interés en las pruebas de software.
No hay muchos desarrolladores como Zhang Jianyang que se posicionen en el campo de las pruebas de software, porque los programadores prefieren desarrollar antes que probar. Desde la perspectiva del entorno general, el bajo nivel de ingresos de los evaluadores también es una de las razones. En Microsoft, los evaluadores y los desarrolladores reciben el mismo salario.
¿Cómo cambiar esta situación? Algunas personas dicen que se puede enviar gente a empresas extranjeras de software avanzado para que aprendan, pero este método no es viable porque implica secretos comerciales. El Dr. Chen Honggang cree que una mejor manera es presentar talentos, presentar talentos experimentados que hayan trabajado en grandes empresas de software extranjeras e incluso contratarlos con salarios altos. Dijo que esto no es solo un problema para una sola persona, la clave es elevar el nivel de todas las pruebas del software a un nivel superior.
Presentar talentos es solo el comienzo, cultivar un grupo de talentos en pruebas de software es más importante. La educación y capacitación en desarrollo de software son relativamente formales y cada escuela también tiene especializaciones, pero no hay graduados profesionales formales y no existen estándares para juzgar las pruebas de software. El Dr. Chen Honggang sugirió a muchas escuelas de software establecer cuatro cursos básicos en pruebas de software: conceptos básicos de pruebas de software, desarrollo de pruebas de software, casos de pruebas de software avanzados y métodos de prueba de características de software de la industria. En la actualidad, existen algunos libros de texto sobre pruebas básicas de software en China, pero no hay otros libros de texto. Los casos de prueba de software avanzados son principalmente casos de prueba de software a gran escala, y los problemas del software a gran escala son muy representativos. Los cursos sobre pruebas de software específicas de la industria pueden ampliar los horizontes de los estudiantes. El Dr. Chen dijo que en países extranjeros, pocas universidades ofrecen carreras de evaluación, pero pueden aprender de los cursos de instituciones de capacitación privadas. Sólo después de que aparezca un grupo de talentos de prueba profesionales, la gente se dará cuenta de su importancia.
Si ya ha comenzado a realizar pruebas de software, no piense que las pruebas de software no tienen potencial de desarrollo ni futuro. A partir de 1995, Liu Zhong se hizo cargo de las pruebas de la versión china del OS2 de IBM. Desde entonces, ha trabajado en el campo de las pruebas de software y ascendió al puesto de vicepresidente senior de la empresa. Hoteng Software también ha capacitado a un grupo de ingenieros de pruebas que se muestran escépticos sobre la carrera de pruebas y tienen objetivos claros para su carrera de pruebas. Liu Zhong dijo: "Muchas personas dirán que es problemático y aburrido cuando comienzan a realizar la ejecución de pruebas, pero simplemente se quejan en lugar de tomar la iniciativa de aprender. No ven el conocimiento oculto detrás de las pruebas de software. Porque el aprendizaje puede hacerlo Puedes hacer estos trabajos sin estudiar, pero la calidad es diferente. Si alguien ha aprendido mucho sobre pruebas de tecnología y gestión por sí mismo, la empresa naturalmente lo capacitará para el próximo proyecto”.
Por lo tanto, para un novato es necesario desarrollar sus propias habilidades en todos los aspectos.
Lo primero es comprender varios procesos de prueba y transformarlos en su propio conocimiento sobre la base de la comprensión para que pueda resolver problemas similares usted mismo en el futuro. En términos de habilidades de prueba, necesita saber qué métodos de prueba están disponibles, como qué métodos se utilizan para las pruebas de estrés y qué herramientas pueden ayudar en las pruebas. En cuanto a competencias profesionales, se enfrentan a diferentes direcciones técnicas, como sistemas operativos, redes, comunicaciones, etc. , debemos tener un conocimiento profundo de la profesión. Estos tres aspectos deberían desarrollarse simultáneamente.
El desarrollo futuro de los ingenieros de pruebas de software
¿Hay futuro para las pruebas de software? ¿Cuál es la futura dirección de tu carrera?
El Dr. Chen Honggang dijo que hay varias formas de desarrollar un ingeniero de pruebas de software en Microsoft: una es tomar la ruta técnica y convertirse en un ingeniero de pruebas de software senior, y luego poder probar un software de forma independiente. una gran cantidad de software y luego convertirse en un diseñador de marcos de pruebas de software. El segundo es desarrollarse en la dirección de la gestión, desde ingeniero de pruebas hasta líder, director de proyectos y puestos superiores. El tercero puede cambiar de trabajo y convertirse en director de proyectos o desarrollador. Muchos ingenieros de desarrollo de software de herramientas de prueba pueden cambiar fácilmente de carrera a la programación de productos porque han acumulado experiencia en desarrollo y tienen sus propios puntos de vista sobre el producto de software en sí.
El Dr. Chen Honggang está ahora con un equipo de pruebas, dos estudiantes del Instituto de Software de Tsinghua, un estudiante de doctorado de Nankai especializado en pruebas de software y un estudiante de la Universidad de Pekín. Son responsables de probar los productos en la sede. El Dr. Chen dijo que habló brevemente sobre sus pensamientos y discutió con ellos. Encontró más de 70 errores en una semana y sintió que había aprendido mucho. Dijo que se concentraría en las pruebas de software en el futuro porque así lo sentía. pruebas de software Es realmente un tema muy profundo con muchos temas para estudiar. De hecho, muchos evaluadores de Microsoft también tienen maestrías y doctorados. También están realizando un trabajo creativo para garantizar la calidad de los programas y promover el avance del software.
Las pruebas de software son un campo desafiante y en rápido desarrollo. Aunque las pruebas de software de escritorio independiente han madurado mucho, con el advenimiento de la era de Internet, empresas como Microsoft no tienen un sistema de prueba completo basado en red y todavía están explorando. La posibilidad de ser atacado en Internet es demasiado alta, razón por la cual los piratas informáticos pueden causar problemas en Internet. Las pruebas de red son un entorno nuevo y un gran desafío.
El desarrollo futuro de las pruebas de software es enorme y la trayectoria profesional de los ingenieros de pruebas de software también está llena de esperanza.