Cómo aprender a probar software

Se cree que a través de las pruebas puede acceder fácilmente a TI. Les preguntamos a nuestros especialistas en pruebas cómo implementar esto sin ingresar a programas de educación especializados en las universidades. Resultó que puede limitarse a una base de informática, un libro de prueba y la elección correcta de dónde obtener su primera experiencia. Es cierto que esto debe ser sazonado con el propio interés y celo.

Under the cut: nuestros consejos y respuestas a preguntas comunes de principiantes. Hay poco acerca de dónde ir a continuación cuando parece que el techo del conocimiento está cerca.

imagen

¿El probador necesita una base en TI?


Francamente, deseable.

La mayoría de nuestros especialistas de una forma u otra han sido aficionados a la informática desde la infancia, o al menos han estudiado en universidades especializadas, es decir. Ya tenía un entrenamiento básico antes de venir a las pruebas. Algunos de ellos comenzaron como desarrolladores (estudiados como desarrolladores), no había áreas separadas de "prueba" hace 10 años. Entonces, ante nuestros ojos simplemente no tenemos un "anti-ejemplo" de tal camino.

Ahora, en TI, realmente hay muchos que no han recibido dicha capacitación. Y es un poco más difícil para ellos avanzar. Para hacer frente a las tareas en las pruebas, al menos debe poder instalar el sistema operativo, comprender cómo implementar la aplicación de prueba y el entorno necesario, cómo crear un repositorio en Git, Google responde a sus preguntas, busca recursos especializados como Stackoverflow. De hecho, esto proporciona una base común en informática.

Pero incluso este conocimiento se puede dominar a través de libros o cursos en Internet. No hay escasez de fuentes de información hoy. Lo principal es que hay interés y tiempo que se puede asignar para esto.

Probadores o desarrolladores?


Las pruebas de prueba son diferentes.

Los requisitos para un probador manual para principiantes no son muy altos. Quizás esta sea la "manera fácil de llegar a TI". Aquí debe conocer los principios básicos de las pruebas, de los que hablaremos un poco más adelante, y tener la base mencionada anteriormente. Es cierto que los probadores manuales se están alejando gradualmente para probar productos de software de manera más rápida y eficiente. Por lo tanto, de una forma u otra, con el tiempo, todos los "frenos de mano" comienzan a escribir código o participar en métricas y análisis. Pero esto no significa que no pueda comenzar su carrera en el estado de un juna de freno de mano.

La automatización de pruebas está más cerca del desarrollador. En la base de conocimiento, cada automatizador generalmente tiene al menos un lenguaje de programación, en el que se desarrollan las pruebas automáticas (este no es siempre el principal lenguaje de desarrollo en un proyecto). Al estar involucrado en la automatización, también es importante conocer los patrones de diseño y poder aplicar los principios generales de desarrollo: extensibilidad, legibilidad, facilidad de reutilización. En esencia, una prueba automática es el mismo programa que debe corresponder a un escenario predeterminado.
Para comenzar a trabajar como ingeniero de automatización, además de probar el conocimiento en general, debes tener un conocimiento mínimo en programación orientada a objetos, imagina cómo escribir el más simple "¡Hola Mundo!".

Al elegir una dirección, apenas vale la pena mirar la popularidad momentánea de los especialistas en el mercado laboral. Los indicadores promedio de demanda y salarios en TI son algo muy específico, dependen, entre otras cosas, del conocimiento relacionado. Quién lo hubiera pensado, pero los especialistas en desarrollo de algunos Delphi ahora tienen demanda en el sector bancario, a pesar del hecho de que en otras industrias el idioma no tiene una demanda general. Aquí todo funciona de acuerdo con las leyes del mercado: hay pocos especialistas, pero la demanda continúa, porque alguien necesita apoyar el legado.
Entonces en las pruebas. Ahora hay una demanda de automatización JS. Es genial porque las necesidades comerciales son grandes, pero las personas que se han embarcado en este camino con la primera aparición de interés en el mercado aún no han tenido tiempo de aprender. Una vez que aprenden y van a trabajar, la situación puede cambiar.

En este mundo volátil, se trata de un conocimiento básico: comprender qué y cómo probar en principio, qué enfoques están disponibles, así como la capacidad de absorber rápidamente la información lo ayudará a reorientarse rápidamente a una pila de tecnología adyacente.

Que leer


Las pruebas, y la TI en general, es una industria en auge, por lo que a menudo puede encontrar escepticismo sobre los libros. Tienen demasiado "ciclo de producción". Para escribir, publicar, distribuir, durante mucho tiempo. Es más del doble si hablamos de literatura traducida.

Sin embargo, nuestro departamento de pruebas recomendó un libro casi por unanimidad: "Testing Dot Com" de Roman Savin. Este es el libro más famoso sobre el tema, que presenta simple y fácilmente los conceptos y procesos básicos en las pruebas manuales. Y aunque se publicó hace mucho tiempo, el conocimiento básico establecido en él sigue siendo relevante. Tal vez fue leído por el 80 por ciento de todos los evaluadores en los países de la CEI.

Otras recomendaciones se pueden encontrar fácilmente en las "listas de N libros de Internet para el probador principiante". Pero, en general, nuestro equipo de evaluación cree que la base del libro de Roman Savin será suficiente para comenzar el proceso de autoeducación.

¿Vale la pena ir a cursos, más pagados?


La opinión de nuestros especialistas sobre los cursos es mixta.

Todos los programas de capacitación son útiles, ya que proporcionan mucha información a la vez de manera estructurada. La información se recopila en fragmentos convenientes para el desarrollo, divididos en etapas. Nivel por nivel, puede seguir el plan de estudios, como en un juego, y obtener conocimientos útiles.

Puede ir a los cursos con uno de dos objetivos: cerrar cualquier brecha en el conocimiento o consolidar información ya conocida. Dependiendo de los objetivos, todo se asimilará de diferentes maneras. Pero debido a la abundancia de nuevos conocimientos, no se resolverá el 100% de la información recibida. Desde este punto de vista, el autoestudio en un proyecto específico es más útil. La información recopilada o la respuesta encontrada definitivamente permanecerá en su cabeza. Es cierto, esto llevará un poco más de tiempo.
No vale la pena golpear todas las paredes con la frente. Y el equilibrio adecuado, donde vale la pena escuchar al profesor en los cursos y dónde, para tratar de aprender algo usted mismo, todos lo determinan por sí mismos. Este equilibrio existe en cualquier otro campo: probablemente ya sepas a ti mismo que es más fácil para ti estudiar de forma independiente o escuchar a un maestro.

Pasemos a los detalles. Varias veces en conversaciones con nuestros especialistas en pruebas, los cursos de Alexey Barantsev surgieron, por ejemplo, en pruebas funcionales para probadores manuales o en automatización. Pero está claro que la gama de oportunidades de aprendizaje no se limita a ellas.

Los cursos mencionados de forma negativa, no los daremos aquí. Todos ganan tanto como pueden, y la educación profesional es el mismo negocio que todo lo demás. Por lo tanto, antes de pagarle dinero a alguien por desarrollar una profesión, vale la pena pasar tiempo investigando el mercado.

Los planes de estudio se eligen mejor por referencia. Al mismo tiempo, no debe ver reseñas en los sitios web de los cursos o de las instituciones educativas que los promueven. Es mejor buscar comentarios negativos en las redes sociales. Los comentarios positivos a menudo son dejados por aquellos que aún están estudiando, que no pueden expresar todo lo que piensan sobre el proceso de aprendizaje. La verdad se revela cuando son liberados y comienzan a repensar lo que les sucedió. Por cierto, es probable que encuentre algo negativo sobre cualquier institución educativa, la única pregunta es cuánto será y cuál será su contenido.

Los buenos cursos deben incluir más que solo publicar videos y luego recoger la tarea. Se necesita una retroalimentación normal con el maestro o mentor, quien explicará cuál es el error, en qué dirección vale la pena moverse, para resolver correctamente el problema. Y puede ver videos gratis (y luego resolver problemas desde Internet).

Es probable que la comunidad en torno al aprendizaje sea importante para algunos. Las decisiones conjuntas unen al equipo, mientras desarrollan las habilidades blandas necesarias para el trabajo en equipo posterior.

¿Debo ir a la conferencia?


Las conferencias son un elemento muy útil del mundo de TI. En primer lugar, esta es una plataforma para el intercambio de experiencias. Aquí rara vez puede encontrar un informe que responda una pregunta privada momentánea en una situación particular. Pero puede tropezar con enfoques para resolver problemas similares que sean bastante aplicables a su situación.

En algunas conferencias, uno puede encontrar informes "básicos" que le permiten recopilar conocimientos iniciales en un nuevo segmento, por ejemplo, en automatización. Pero más a menudo, por supuesto, esto es información para profesionales más experimentados. En general, una conferencia es más bien un lugar para la creación de redes y el conocimiento relacionado (al lado de su especialización actual, por ejemplo, en otro idioma).

Vale la pena señalar que la mayoría de los temas discutidos en las conferencias están en Internet. Los eventos individuales pueden dar una experiencia realmente obvia.

Muchos documentos de la conferencia se pueden encontrar en grabaciones en línea. Lo principal es no centrarse en verlos. Si miras muchos videos, pero practicas un poco, el autodesarrollo sensato no funcionará. Todo necesita un equilibrio. Por cierto, a diferencia de ver informes, una presencia personal en las conferencias suele ser también conocida, comunicación con personas con las que puede discutir problemas y problemas actuales.

¿Dónde conseguir la primera experiencia?


La experiencia de prueba real solo se puede obtener en el trabajo en un proyecto real. Cuanto más código escriba con sus propias manos, más eficientemente resolverá los siguientes problemas, porque la teoría que lee sin práctica se olvida rápidamente.
En un proyecto real, la capacitación será mucho más efectiva. Surgirán problemas concretos, sus soluciones se pueden encontrar en Google o en los foros. Un camino trazado de forma independiente será de gran ayuda en el futuro. Naturalmente, este camino no debe establecerse desde cero, por lo tanto, ya hemos hablado sobre dónde buscar el conocimiento inicial.

Junto con una base común, cualquier proyecto dará un cierto grado de especialización. Quizás probará productos para diferentes sistemas operativos, aplicaciones cliente-servidor o herramientas para servidores. Todo esto requerirá sus habilidades de acompañamiento.

Valioso cuando los colegas lo acompañan en el camino. Por lo tanto, es muy importante para un principiante elegir la compañía correcta. Para un recién llegado, es mejor tener una organización grande, donde las pilas de tecnología para cada tipo de producto ya están definidas, todos los procesos están construidos, hay documentación de prueba y muchos equipos que pueden buscar una solución o pedir consejo. Al principio, un enfoque sistemático para las pruebas y la ideología del intercambio interno de experiencias es mucho más importante que el salario prometido. Y también, seremos francos, en las grandes empresas la responsabilidad de las decisiones estratégicas incorrectas es bastante confusa, por lo que puede ganar experiencia sin arriesgar todo el negocio de su empleador.

En pequeñas empresas y nuevas empresas, la actitud ante las pruebas suele ser diferente. Alguien está probando algo en alguna parte, y bien. Cómo probar correctamente, no lo dirán. Por el contrario, sin pasar por todos los procedimientos el viernes por la noche, subirán nuevos lanzamientos a producción y los probarán más tarde.

Es mejor ir a tales "bailes salvajes" para especialistas más capacitados que entiendan cuál es la desviación de los procesos clásicos. Para una persona sin experiencia, trabajar en este modo solo producirá gachas en la cabeza. Lo más probable es que no aprenda nada bueno aquí.

En general, si no tiene suerte con su lugar de trabajo, no es necesario recoger cosas con urgencia. Lo principal es encontrar un especialista en el que pueda confiar en la búsqueda de las soluciones adecuadas, una especie de mentor y asesor. Por cierto, no es necesario buscar al mentor entre colegas. Este puede ser un extraño que le dirá qué estudiar y dónde buscar. Es cierto que es poco probable que un extraño se vea inmerso en el tema del proyecto. La comunicación con ellos probablemente tendrá que ser recordada sobre el NDA.

Junio, medio, senior. ¿Hay un camino más allá?


En su proyecto, el probador generalmente se ve obligado a limitarse a la pila de tecnología existente. Cambiar la pila, así como los experimentos audaces, generalmente es bastante costoso o está asociado con un cambio en el lugar de trabajo. Sin embargo, dentro del marco de la pila, en algún lugar hasta el nivel superior tiene suficientes problemas: este no es un año de trabajo duro y autoeducación.

Cuando parece que ha alcanzado el límite, puede convertirse en gerentes o ir "en amplitud" - para estudiar nuevos marcos y herramientas, elevando su precio en el mercado laboral. Es importante que al estudiar diferentes enfoques, tenga una visión muy integrada que lo ayude a resolver mejor problemas aparentemente irresolubles, incluso dentro de su pila.

Al igual que en el desarrollo, en las pruebas hay una pequeña proporción de tareas que implican un conocimiento más profundo, por ejemplo, las matemáticas. La conversación al respecto comienza donde aparecen las matemáticas y en el desarrollo mismo, en grandes cargas, etc. Esta es otra área de crecimiento potencial para aquellos que pueden acomodar estructuras lógicas realmente a gran escala en sus cabezas (y que están aburridos con las tareas de prueba estándar). Hay muy pocas tareas de este tipo en el mercado. Pero debido a ellos, la posibilidad de un mayor autodesarrollo sigue siendo para aquellos que no quieren seguir el camino gerencial del desarrollo.

Enlaces de sitio


Los materiales de prueba están disponibles en http://www.protesting.ru/ . Hay mucha teoría y poca práctica. Puede encontrar información básica sobre qué tipos de pruebas son, qué es un caso de prueba, plan de prueba, etc. Es cierto que este recurso se ha estado desarrollando desde la década de 2000, por lo que parte de la información ha quedado desactualizada. Pero en la base aquí puedes encontrar ejemplos valiosos.

El foro sobre el recurso https://software-testing.ru/forum/ es una especie de análogo de Habr para probadores (en su mayor parte para automatizadores). Hay mucha información útil exactamente en el nivel inicial: en Habré en la sección de pruebas hay artículos más avanzados, y los textos para principiantes aparecen cada vez menos y la audiencia acepta peor.

Dos buenas fuentes de información más:https://tproger.ru/digest/free-software-testing-books/ y https://automation-remarks.com/ .

¡Gracias a los especialistas en pruebas de nuestra empresa por su ayuda en la preparación del artículo!

PD: publicamos nuestros artículos en varios sitios de Runet. Suscríbase a nuestras páginas en VK , FB , Instagram o en el canal Telegram para conocer todas nuestras publicaciones y otras noticias de Maxilect.

All Articles