Como desarrolladores de back-end, ¿deberíamos aprender las pruebas de software? [cerrado]

12

Como desarrollador junior, estoy trabajando en una empresa que desarrolla software para la industria de las aerolíneas. Tenemos un equipo de prueba, así que no tengo ninguna motivación para aprender a probar el software. Mi amigo está trabajando para una pequeña empresa como desarrollador de servicios de fondo. Su equipo no tiene ningún equipo de prueba específico, y hacen sus pruebas por su cuenta. ¿Debería un desarrollador de back-end aprender sobre pruebas de software?

Ali Arda Orhan
fuente
31
Si eres un desarrollador junior y no quieres ser junior en toda tu carrera, debes saber todo lo que puedas sobre tu campo. Las pruebas son una parte esencial del desarrollo, por lo que incluso si no las "necesita" también, les permitirá tener más conocimiento en su campo, lo que los hará moverse valiosos, lo que puede conducir a puestos más altos.
msw
3
Obtuve la mayoría de mis trabajos porque hice cosas en mi tiempo libre que no necesitaba hacer, ya sea aprendiendo Haskell o escribiendo un compilador de rayos de tiempo de compilación en C ++: P Los tipos que conozco / sabían que hicieron solo lo que se requería para el trabajo ahora luchan por avanzar en su carrera.
phresnel
3
¿No es este el tipo de pregunta "blanda" que conduce a expresiones de opinión?
ThomasMcLeod
@phresnel Oh, un rastreador de rayos en tiempo de compilación en C ++ es tan malo . El respeto.
David Conrad
3
Estoy de acuerdo en que esta pregunta debería quedar en espera. Es como decir: "Solo hablo inglés, pero mi esposa es de China y habla algo de inglés y, por supuesto, chino. ¿Debo aprender chino?"
TTT

Respuestas:

48

Absolutamente e inequívocamente: ¡sí!

Es una habilidad central que se espera que tenga en un gran porcentaje de empresas para las que querrá trabajar en el futuro.

Como desarrollador, los aspectos técnicos de las pruebas son más interesantes que los metodológicos: aprenda a usar un marco de pruebas unitarias, configure pruebas automatizadas, intente realizar un desarrollo basado en pruebas para ver cómo le gusta.

Si desea especializarse en él, las pruebas de rendimiento / estrés y las pruebas de seguridad / penetración son habilidades muy solicitadas.

Michael Borgwardt
fuente
1
@AliArdaOrhan, existe el argumento de que el desarrollo de cada función debe estar precedido por la escritura de varias pruebas unitarias automatizadas. Pruébalo, mejora tu código.
Jodrell
99
El desarrollo de back-end realmente se presta muy bien para pruebas automatizadas. No hay locura de UI con la que lidiar. Al menos con un marco de prueba de unidad de equipo de desarrollo, está detectando más errores antes de que abandonen su equipo y que QA los encuentre. Menos errores dejando a su equipo hace felices a los observadores.
BPugh
2

Probar el código en el que está trabajando es parte de la disciplina que convierte a un buen programador en un gran programador. La configuración de pruebas automáticas, utilizando casos de prueba livianos y rápidos, le permite establecer una línea base de funcionalidad; La modificación del código para corregir errores o agregar nuevas funcionalidades puede probarse de forma incremental y le brinda comentarios rápidos sobre su código. Esta retroalimentación rápida, cuando se realiza con frecuencia, es mucho más eficiente en términos de retrabajo que compilarlo todo, compilarlo y probarlo, porque terminará no yendo tan lejos del camino correcto.

BobDalgleish
fuente