Sí. Los probadores de software ya se están volviendo obsoletos. Tiene sentido si lo piensas. ¿Por qué pagarle a alguien para que tome un plan de prueba, lo siga paso a paso e informe si falló? Eso es básicamente la automatización humana. ¿Por qué gastar dinero pagando a alguien para que haga lo que una aplicación puede hacer?
Por supuesto, todavía necesita probar el software. Podrías hacer que los desarrolladores prueben su propio código. He estado allí, hecho eso. Deberían estar haciendo sus propias pruebas, pero alguien más debe verlo. El problema es que cuando malinterpretan los requisitos durante el desarrollo, cometen el mismo error al realizar la prueba y se produce un error crítico.
Entonces, puedes hacer que los desarrolladores prueben el código de cada uno. Esto puede funcionar, pero hay un par de problemas. Primero, la mentalidad que usas cuando desarrollas una nueva función es diferente a cuando estás probando. Cuando estás desarrollando una nueva función, tu mentalidad es: “¿Cómo puedo hacer que esto funcione?”. Cuando estás probando, tu mentalidad es: “¿Cómo puedo romper esto?”
Los desarrolladores, por supuesto, pueden hacer esto. He visto esto hecho con éxito. Por supuesto, cuando hacen eso, son básicamente ingenieros de control de calidad a tiempo parcial y desarrolladores a tiempo parcial. Y, cada hora dedicada a las pruebas como ingeniero de control de calidad es una hora dedicada a no desarrollar nuevas funciones. Además, hay una cierta cantidad de tiempo perdido al cambiar de mentalidad y rebotar entre el desarrollo y las pruebas. Simplemente no es eficiente.
- ¿Qué es una solución simple a la Paradoja de Fermi? ¿No podría ser que la vida extraterrestre no pueda viajar lejos, como nosotros?
- ¿Es posible traducir la mente humana en ecuaciones matemáticas?
- ¿Es posible que en un futuro cercano usemos la frase ‘Quora it!’ en lugar de ‘google it’?
- ¿Cuándo podrá la humanidad bloquear la luz de todas las estrellas para ver otros exoplanetas directamente?
- ¿Cuál es la parte técnica de claytronics?
Por lo tanto, simplemente puede contratar a un ingeniero de control de calidad dedicado que se especialice en saber cómo romper el software y encontrar los errores. No veo a los ingenieros de control de calidad obsoletos pronto.
¿Esto contradice lo que dije al principio? De ningún modo. Un ingeniero de control de calidad no es un probador de software. Los comprobadores de software que simplemente siguen ciegamente los planes de prueba escritos por otras personas y reportan el paso / fracaso serán reemplazados por la automatización. Sin embargo, alguien necesita escribir esa automatización. Alguien tiene que averiguar qué probar en primer lugar. Alguien necesita expandir las pruebas una vez que el desarrollo haya tapado todos los agujeros encontrados por la automatización para que se puedan encontrar más errores.
Al probar el software, básicamente lo metes con un palo para ver si sangra. Un probador de software o un script automatizado empujarán el software en el mismo lugar cada vez. Esa es la ciencia de SQA.
Un buen ingeniero de control de calidad irá más allá de los planes de prueba y buscará el software en lugares que nadie más podría pensar en buscar. Ese es el arte de la SQA.