# Talón de prueba

En la informática de polimorfismo avanzado, los talones de prueba son programas que simulan el comportamiento de los componentes de software (o módulos) de los que depende un módulo que se somete a pruebas. Los talones de prueba brindan respuestas enlatadas a las llamadas realizadas durante la prueba y, por lo general, no responden en absoluto a nada fuera de lo programado para la prueba. Se utilizan principalmente en el enfoque descendente de las pruebas incrementales. Los talones son programas informáticos que actúan como reemplazo temporal de un módulo de base llamado y dan la misma salida que el producto o software real.

## Ejemplo

Considere un programa informático que consulta una base de datos para obtener la suma del precio total de todos los productos almacenados en la base de datos. En este ejemplo, la consulta es lenta y consume una gran cantidad de recursos del sistema. Esto reduce el número de ejecuciones de prueba por día. En segundo lugar, las pruebas pueden incluir valores fuera de los que se encuentran actualmente en la base de datos. El método (o llamada) utilizado para realizar esto es get_total . Para fines de prueba, el código fuente en get_total se puede reemplazar temporalmente con una declaración simple que devuelve un valor específico. Esto sería un talón de prueba.
Existen varios entornos de prueba, así como programas que generan talones de prueba basados en el código fuente existente y en los requisitos de la prueba. Los talones y los controladores son dos tipos de arneses de prueba. Los arneses de prueba son la recopilación del software y los datos de prueba que se configuran para que uno pueda probar una unidad de programa simulando un conjunto diferente de condiciones, mientras se monitorean el comportamiento y los resultados.
Los talones y los controladores son módulos ficticios y solo se crean con fines de prueba.
Los talones se utilizan en el método de prueba descendente, cuando uno tiene el módulo principal listo para probar, pero los submódulos aún no están listos. Así que, en un lenguaje simple, los talones son programas "llamados", que se llaman para probar la funcionalidad del módulo principal.
Por ejemplo, en una situación en la que se tienen tres módulos diferentes: Inicio de sesión, Inicio, Usuario. Supongamos que el módulo de inicio de sesión está listo para la prueba, pero los dos módulos menores Inicio y Usuario, que son llamados por el módulo de inicio de sesión, aún no están listos para la prueba. En este momento, se escribe un fragmento de código ficticio que simula los métodos llamados de Inicio y Usuario. Estas piezas ficticias de código son los talones.
Por otro lado, los controladores son la clave, ya que son los programas "llamadores". Los controladores se utilizan en el método de pruebas ascendente. Los controladores son código ficticio, que se usa cuando los submódulos están listos pero el módulo principal aún no lo está.
Tomando el mismo ejemplo que el anterior, supongamos que esta vez los módulos del usuario y de inicio están listos, pero el módulo de inicio de sesión no está listo para probar. Ahora, ya que Inicio y Usuario devuelven valores del módulo de inicio de sesión, se escribe un código ficticio que simula el módulo de inicio de la sesión. Este código ficticio se llama controlador.