Estaba pensando en el desarrollo de software y en escribir pruebas unitarias. Tengo la siguiente idea:
Supongamos que tenemos pares de desarrolladores. Cada par es responsable de una parte del código. Uno del par implementa una característica (escribir código) y el segundo escribe una unidad de pruebas para ello. Las pruebas se escriben después del código. En mi idea, se ayudan mutuamente, pero funcionan bastante por separado. Idealmente, trabajarían en dos características de tamaño similar y luego cambiarían por la preparación de la prueba.
Creo que esta idea tiene algunas ventajas:
- las pruebas son escritas por alguien que puede ver más sobre la implementación,
- el trabajo debe hacerse un poco más rápido que la programación en pareja (dos funciones al mismo tiempo),
- tanto las pruebas como el código tienen una persona responsable de ello,
- el código es probado por al menos dos personas y
- quizás buscar errores en el código escrito por la persona que está probando su código le daría una motivación especial para escribir un código mejor y evitar recortes.
Quizás también sea buena idea agregar otro desarrollador para la revisión del código entre el desarrollo del código y las pruebas.
¿Cuáles son las desventajas de esta idea? ¿Ya se describe como una metodología desconocida para mí y se utiliza en el desarrollo de software?
PD. No soy un administrador de proyectos profesional, pero sé algo sobre los procesos de desarrollo de proyectos y conozco las pocas metodologías más populares, pero esta idea no me suena familiar.
assert true
como pruebas y llamarlo un día porque cada prueba estaba pasando. Faltaba un paso importante: las pruebas deberían fallar primero, y deberían aprobarse cambiando el código, no las pruebas.