Examen de la unidad


En la programación de computadoras , la prueba unitaria es un método de prueba de software mediante el cual se prueban unidades individuales de código fuente ( conjuntos de uno o más módulos de programas de computadora junto con datos de control asociados, procedimientos de uso y procedimientos operativos) para determinar si son aptos para su uso. . [1]

Las pruebas unitarias suelen ser pruebas automatizadas escritas y ejecutadas por desarrolladores de software para garantizar que una sección de una aplicación (conocida como la "unidad") cumpla con su diseño y se comporte según lo previsto. [2] En la programación procedimental , una unidad puede ser un módulo completo, pero es más común que sea una función o procedimiento individual. En la programación orientada a objetos , una unidad suele ser una interfaz completa, como una clase o un método individual. [3] Al escribir pruebas primero para las unidades comprobables más pequeñas, luego los comportamientos compuestos entre ellos, uno puede construir pruebas integrales para aplicaciones complejas. [2]

Para aislar los problemas que puedan surgir, cada caso de prueba debe probarse de forma independiente. Se pueden usar sustitutos como stubs de método , objetos simulados , [4] falsificaciones y arneses de prueba para ayudar a probar un módulo de forma aislada.

Durante el desarrollo, un desarrollador de software puede codificar criterios, o resultados que se sabe que son buenos, en la prueba para verificar la corrección de la unidad. Durante la ejecución del caso de prueba, los marcos registran las pruebas que fallan en algún criterio y las informan en un resumen. Para ello, el enfoque más utilizado es prueba - función - valor esperado.

La escritura y el mantenimiento de pruebas unitarias se pueden hacer más rápido mediante el uso de pruebas parametrizadas . Estos permiten la ejecución de una prueba varias veces con diferentes conjuntos de entrada, lo que reduce la duplicación del código de prueba. A diferencia de las pruebas unitarias tradicionales, que suelen ser métodos cerrados y prueban condiciones invariantes, las pruebas parametrizadas toman cualquier conjunto de parámetros. Las pruebas parametrizadas son compatibles con TestNG , JUnit y su contraparte .Net, XUnit. Los parámetros adecuados para las pruebas unitarias pueden proporcionarse manualmente o, en algunos casos, el marco de prueba los genera automáticamente. En los últimos años, se agregó soporte para escribir pruebas (unitarias) más poderosas, aprovechando el concepto de teorías, casos de prueba que ejecutan los mismos pasos, pero usando datos de prueba generados en tiempo de ejecución, a diferencia de las pruebas parametrizadas regulares que usan los mismos pasos de ejecución con conjuntos de entrada. que están predefinidos. [5] [6] [7]

El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. [1] Una prueba unitaria proporciona un contrato escrito estricto que la pieza de código debe cumplir. Como resultado, ofrece varios beneficios.