unitarias unit test pruebas desventajas unit-testing code-review qa

unit-testing - pruebas - unit test c#



¿Codifica las pruebas de unidad de revisión? (7)

Después de leer esta pregunta , me pregunto si las tiendas que hacen revisiones de códigos se molestan en hacer las pruebas unitarias también.

En mi contrato actual, todo el código debe revisarse antes del compromiso, pero históricamente las pruebas unitarias no se han tomado en serio. Esta es un área a la que me refiero en este momento y me preguntaba si las personas incluirían las pruebas unitarias con la revisión y, de ser así, cómo abordaría hacer esto donde la experiencia de los desarrolladores en pruebas unitarias es bastante baja, y algunas de ellas tienen experiencia cero en absoluto?


El código escrito para las pruebas unitarias generalmente es mucho más simple que el código de producción (no si, no hay bucle, prueba solo una cosa ...). Entonces, el código de prueba unitaria es menos propenso a errores y no lo revisamos formalmente.

Además, nos esforzamos por utilizar el desarrollo basado en pruebas (TDD), por lo que primero ejecutamos todos nuestros scripts para que fallen primero y luego escribimos en el código para hacerlo pasar. Esto aumenta la calidad de nuestras pruebas, aunque debo admitir que a veces tuvimos problemas en las pruebas unitarias.

Hacer que los desarrolladores revisen el código de pruebas de la unidad les mostrará que las pruebas unitarias no son tan difíciles y los ayudará a comenzar.

Una forma de revisar el código de prueba de todas las unidades, así como todo el código de producción, es la Programación de Pares , aunque es difícil conseguir la aceptación de la administración y los desarrolladores.

Al igual que el código de producción, también se mantendrá el código de pruebas unitarias, por lo que se deberá prestar cierta atención para que se pueda leer y mantener.


En mi lugar de trabajo, recientemente comenzamos a tomar la prueba unitaria más en serio. Actualmente, estamos definiendo una lista de elementos para revisar en nuestras revisiones de códigos, y uno de estos elementos son las pruebas unitarias.

En este momento, este elemento solo significa la existencia de pruebas unitarias. Una vez que hayamos superado esto, comenzaremos a revisar las pruebas más en serio. No ahora mismo, sin embargo.


Estadísticamente, las pruebas unitarias son más problemáticas porque se Toman menos en serio. Así que sí, revisa el código de esos insectores.


Estoy de acuerdo en que las pruebas unitarias también deben ser revisadas. Como han mencionado otros, muchos desarrolladores escatiman en pruebas y pruebas unitarias como un todo y al revisarlos solo puede mejorar las pruebas realizadas e identificar áreas que requieren pruebas unitarias y qué tipo de pruebas.


No hacemos formalmente pruebas de unidad de revisión por pares, pero son el primer lugar que comienzo cuando reviso el código de otra persona. Solo lo menciono en la reunión de revisión si encuentro algo específico incorrecto en una prueba, o si están probando muy poco o demasiado.

(Sí, puedes probar demasiado. He visto pruebas de unidades que comprueban para asegurarte de que un constructor devuelve un objeto del tipo correcto).


Sí. Es rápido Una prueba debería ser obvia; si no es así, no tiene un caso de prueba confiable.

Un miembro del equipo realizó una prueba excesiva (fue la prueba de unidad de datos de prueba para otras pruebas unitarias).

Es una forma de verificar la cobertura, el estilo y la corrección general.

Además, los defectos de la prueba unitaria no son tan graves como los defectos del código de trabajo. Si hay problemas de estilo, no tiene que debatir los méritos de los espacios de () otra vez. Simplemente dices "esto tiene problemas de estilo en las líneas 43, 87, 96, pero lo estamos comprometiendo de todos modos".

Deberías tener una acumulación de correcciones de errores de prueba de unidad como cualquier otra corrección de errores.


Si se va a molestar en la prueba unitaria y se va a molestar en hacer revisiones de códigos, entonces también debería molestarse en revisar las pruebas unitarias.

Para mí, si vas a tomar en serio las pruebas unitarias, tu código de prueba es tan importante como el código de tu aplicación.

Si la experiencia de los desarrolladores en las pruebas unitarias es baja, necesitan retroalimentación sobre cómo deberían hacerlo, ya sea en forma de revisión de código o algún otro mecanismo.

Recomendaría la programación de pares entre un desarrollador con experiencia de prueba unitaria y un novato, y luego lo revisaría con el revisor del código como una tercera persona.