Me he encontrado con tantos programadores que odian las pruebas, o incluso aquellos que desprecian las pruebas (¿Por qué las pruebas de software se consideran menos “prestigiosas” que la ingeniería de software?), Pero este es un mal necesario.
A medida que avanza en las etapas posteriores de las pruebas, el objetivo general se centra más en cumplir los objetivos comerciales y menos en encontrar errores: se espera que la mayoría de los defectos (especialmente los más fundamentales) se detecten durante las primeras etapas del desarrollo del software.
Si el programador no pasa tiempo asegurándose de que su salida sea correcta, aumenta las posibilidades de encontrar errores (particularmente los irritantes) en las etapas posteriores de la prueba.
- Ontologías (ciencia de la información): ¿Cuál es el mejor algoritmo para determinar la relación de los temas en un foro o red en línea (por ejemplo, temas principales y secundarios en Quora, o "Habilidades relacionadas" en Linkedin Skills and Expertise)?
- ¿Es factible elegir cada nuevo trabajo de una manera que lo obligue a cambiar toda su pila de tecnología?
- Durante mi último día en Quora, me encontré con el término desarrollador 'full tech stack'. ¿Qué significa realmente y cuál es su importancia en la industria del desarrollo de software?
- ¿Qué herramientas y tecnologías necesito para aprender a ser ingeniero de DevOps?
- ¿Cómo funciona el sistema FastPass + de Disney desde el punto de vista de la informática y la programación? En otras palabras, ¿cómo sería el esquema de la base de datos y qué tipo de tecnologías se utilizan para que el sistema funcione?
Hay ventajas de las pruebas unitarias:
- asegurando que las expectativas más fundamentales en su código se cumplan desde el principio
- haciéndolo más consciente de la calidad de su propia producción; puede fomentar la mejora de las prácticas y procesos de programación
- algunos problemas se detectan desde el principio; menor probabilidad de retrabajo (peor, revisión); menos errores, menos irritación por los probadores de software, menos tiempo necesario para analizar y reportar errores
- Menos costo total del proyecto, esfuerzo y tiempo
Temas relacionados:
- ¿El desarrollo impulsado por pruebas (TDD) todavía está de moda o fue una moda?
- ¿Qué tipo de proyectos o equipos realizan pruebas de software de caja blanca en la actualidad, donde las pruebas no las realiza el programador original?