Examen de la unidad


En 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 son típicamente 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 de procedimientos , una unidad podría ser un módulo completo, pero más comúnmente es 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 ellas, se pueden 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 utilizar sustitutos tales como resguardos de métodos , 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 exactitud de la unidad. Durante la ejecución del caso de prueba, los marcos registran las pruebas que fallan en cualquier criterio y las informan en un resumen. Para esto, el enfoque más comúnmente 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 de códigos de prueba. A diferencia de las pruebas unitarias tradicionales, que generalmente son 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 se pueden suministrar manualmente o, en algunos casos, el marco de pruebas los genera automáticamente. En los últimos años, se agregó soporte para escribir pruebas (unitarias) más potentes, 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 el fragmento de código debe cumplir. Como resultado, ofrece varios beneficios.