::design_test_video::[html]


(Versión sin música).


(Versión con música).


Para un problema que esté resolviendo en el juez en línea y que haya realizado las fases de análisis y diseño,
haga una prueba similar a la que se muestra en este vídeo
.
Más adelante se le solicitará subir una fotografía de su prueba de diseño.

::design_test_methods::[markdown]Indique si las siguientes proposiciones son verdaderas o falsas sobre las formas de probar un diseño{ =Los algoritmos se pueden probar por métodos analíticos, los cuales están basados en razonamientos lógicos formales. -> Verdadero =Los algoritmos se pueden probar por métodos empíricos, los cuales están basados en evidencia experimental y datos. -> Verdadero =Las pruebas analíticas formales son universales y demuestran que el algoritmo es válido para todos los casos. -> Verdadero =Las pruebas empíricas son universales y demuestran que el algoritmo es válido para todos los casos. -> Falso =Ejemplos de pruebas analíticas son las demostraciones formales del algoritmo de Euclides. -> Verdadero =Las pruebas analíticas son muy difíciles de lograr, incluso para teoremas o algoritmos sencillos pueden tardarse cientos de años hasta que alguien logre una demostración aceptada -> Verdadero =Las pruebas empíricas son muy difíciles de lograr, incluso para algoritmos sencillos es difícil recabar casos de prueba -> Falso } ::design_test_completeness::[markdown]Cuando se realiza una prueba de corrección...{ =Es necesario rastrear todo el algoritmo, desde el inicio hasta el fin. -> Falso =Sólo es necesario probar las subrutinas o regiones de código de interés, en todo caso es una prueba de corrección no de completitud. -> Verdadero =Como un efecto colateral, permite al diseñador tener un indicio de si su algoritmo o parte de él es eficiente o no. -> Verdadero =Nunca se debe modificar el algoritmo durante una prueba de corrección -> Falso =El diseñador realiza el mismo trabajo sobre el algoritmo que el trabajo que el implementador realiza con un depurador sobre el código fuente -> Verdadero =El principio de la prueba de corrección es determinar si los supuestos que la persona diseñadora tiene en mente sobre la solución son correctos o no -> Verdadero } ::design_test_imperative::[markdown]El método para probar la corrección visto se puede considerar altamente imperativo por la siguiente razón{ =Se rastrea el estado del programa a través de los valores de sus variables. ~Se rastrea la invocación de sus subrutinas. ~Se compara la salida del programa con la esperada por el caso de prueba. ~La recursión y los ciclos se rastrean de la misma manera. }