Comenzaré con cómo era hace dos décadas.
Los ingenieros de software se referían a los desarrolladores y tenían la responsabilidad de diseñar, codificar, probar y hacer todo. Entonces aquí no hay división Dev / Tester.
Luego vinieron las empresas basadas en servicios que pensaban que las pruebas pueden ser realizadas por cualquiera que contrate a cualquier graduado de ingeniería, capacítelos en algún dominio y entrégueles las pruebas funcionales. Las pruebas de automatización no eran una furia para entonces. Ahora el desarrollo era superior, con buena aptitud, muchachos muy fuertes en programación (al menos en papel) y los evaluadores eran como cualquier graduado que seguía algún estándar de procedimiento y no hacían nada extraordinario.
- ¿Por qué las grandes empresas contratan a grandes ingenieros y les piden que hagan un trabajo mundano? ¿Por qué no pueden automatizarse estas tareas cotidianas, como las operaciones de desarrollo, utilizando IA?
- Soy realmente bueno en todos los aspectos teóricos de CS, pero no soy bueno en programación. ¿Qué debo hacer?
- ¿Cuánto costaría obtener una plataforma Zomato o Foursquare-esque construida desde cero?
- ¿Cuáles son las posibilidades de que un adolescente desarrolle una aplicación exitosa?
- ¿Puedo realizar prácticas en los programas Google Engineering Practicum o Facebook U si me especializo en ingeniería de software en lugar de ciencias de la computación?
Luego llegó la era de las Pruebas de Automatización, antes teníamos herramientas limitadas que pagaban mucho, por lo que la mayoría de las empresas no optaron por la automatización, ya que no estaban seguras de qué hacer con los scripts de automatización o quién los manejaría y por qué invertirían. en licencia cuando tienen solo unos pocos meses de trabajo. Poco a poco, las herramientas de automatización de código abierto, como Selenium, se hicieron populares y ahora cada vez más empresas querían que los casos de prueba se automatizaran lo más alto posible. Ahora no tienen que pagar ninguna tarifa de licencia. Gradualmente hay una división entre los probadores funcionales y los probadores de automatización. Los probadores funcionales saben dentro y fuera del producto, pero no son técnicamente sólidos y revierten con los probadores de automatización.
Ahora, las herramientas de CI, ATDD, se esperan todo tipo de trabajo de un Probador y ahora estamos pasando de Automation Testers al perfil de trabajo de Devops. Aquí se espera que la persona de Tester o Devops tenga un conjunto de habilidades similares de un desarrollador que pueda administrar todas las pruebas, así como las actividades infra.
Mi conjetura para el futuro es que volveremos a la primera etapa. La razón de esto es que ahora las compañías están buscando probadores que puedan programar y puedan manejar infra y todo (Devops). En los próximos años, estos Devops pueden extenderse al desarrollo a tiempo completo y es posible que veamos un modelo similar que, en un grupo de Devops, desarrolla Feature1 y Test Feature2, mientras que otro grupo es Testing Feature1 y desarrolla Feature 2.