Diferencia clave: Stub y Driver son dos tipos diferentes de códigos que se utilizan en el desarrollo de software, específicamente en las pruebas de software. Los apéndices se utilizan como funciones en la integración de arriba abajo, mientras que los controladores se utilizan como funciones en la integración de abajo a arriba. Los stubs y los controladores se utilizan comúnmente en la adaptación, la computación distribuida, así como en el desarrollo y las pruebas de software en general.
Stub y Driver son dos tipos diferentes de códigos que se utilizan en el desarrollo de software, específicamente en las pruebas de software. Hay momentos durante el desarrollo de software en los que se debe probar una parte del código. Esto permite que el desarrollador se asegure de que esta parte del código funciona bien antes de pasar a la siguiente parte del código. Sin embargo, esta parte del código puede no funcionar correctamente sin las entradas de las otras partes del código, que aún no se han escrito. Aquí es donde los códigos ficticios son útiles.
Los códigos ficticios son pseudocódigo, lo que básicamente significa que son códigos falsos que ayudan a estimular el comportamiento del código existente. Esto significa que el desarrollador puede usar estos códigos ficticios en lugar de las partes del código que aún no se han escrito para replicar las salidas que proporcionará el código original. Estas salidas se pueden usar para probar la parte del código que se ha escrito.
Los talones y los controladores son dos tipos diferentes de códigos ficticios y, por lo tanto, se utilizan de manera diferente. Los apéndices se utilizan como funciones en la integración de arriba abajo, mientras que los controladores se utilizan como funciones en la integración de abajo a arriba. Los stubs y los controladores se utilizan comúnmente en la adaptación, la computación distribuida, así como en el desarrollo y las pruebas de software en general.
Supongamos que hay tres piezas de código: A, B y C, y se ejecutan en esa dirección, es decir, A-> B -> C. Ahora el código A se ha desarrollado y necesita ser probado, pero los códigos B y C todavía necesitan se desarrollará, y el código A no se ejecutará sin la entrada de B y C. Por lo tanto, se usan stubs en lugar de B y C. Estos stubs imitan los códigos B y C e incluso dan una salida que es similar a la de B y C daría. Esto se denomina integración de arriba hacia abajo, es decir, pruebas desde la parte superior a la inferior.
De manera similar, imagine ahora que los códigos B y C se han desarrollado y deben probarse, sin embargo, el código A aún debe desarrollarse, y de la misma manera los otros dos códigos no funcionarán sin las entradas del código A. Por lo tanto, un controlador puede ser usado en lugar del código A. Este controlador imitaría el código A y daría la entrada a B y C, de manera similar a como lo haría el código A real. Esto se denomina integración ascendente, es decir, pruebas desde abajo hacia arriba.
Los apéndices y los controladores son básicamente rutinas que en realidad no hacen nada, excepto declararse a sí mismos y los parámetros que aceptan. El resto del código puede tomar estos parámetros y usarlos como entradas. Los apéndices y los controladores se usan comúnmente como marcadores de posición para las rutinas, es decir, los códigos que aún deben desarrollarse. Por lo tanto, los apéndices y los controladores contienen solo el código suficiente para permitir que se compilen y vinculen con el resto del programa.
Comparación entre Stub y Driver:
Talón | Conductor | |
Tipo | Códigos ficticios | Códigos ficticios |
Descripción | Las rutinas que en realidad no hacen nada excepto se declaran a sí mismas y los parámetros que aceptan. El resto del código puede tomar estos parámetros y usarlos como entradas. | Las rutinas que en realidad no hacen nada excepto se declaran a sí mismas y los parámetros que aceptan. El resto del código puede tomar estos parámetros y usarlos como entradas. |
Utilizado en | Integración de arriba abajo | Integración de abajo hacia arriba |
Propósito | Para permitir la prueba de los niveles superiores del código, cuando los niveles inferiores del código aún no están desarrollados. | Para permitir la prueba de los niveles inferiores del código, cuando los niveles superiores del código aún no están desarrollados. |