Definiendo Casos de Prueba para Preguntas de Programación
Last updated: March 10, 2026
Resumen
Los casos de prueba ayudan a validar el código de los candidatos. Forman la base para la evaluación automatizada del código de un candidato. Un caso de prueba consiste en una entrada para el código y una salida esperada. Una vez que los candidatos envían el código, se ejecuta contra todos los casos de prueba. La salida del código del candidato se compara con la salida esperada para ver si el caso de prueba ha pasado o fallado.
Un ejemplo de caso de prueba con una explicación también puede ayudar a explicar mejor el problema a los candidatos. Idealmente, deberías usar de 2 a 3 casos de prueba de muestra para ayudar al programador a entender el problema. Recomendamos tener un total de 8 a 15 (idealmente un total de 10) casos de prueba que cubran todos los escenarios. Los casos de prueba deben ser de diferentes tamaños que cubran diferentes niveles de complejidad. Ningún dos casos de prueba deben probar el mismo concepto.
Nota: Por favor, consulta la Guía de casos de prueba en tu pregunta de codificación para entender el uso de los casos de prueba al crear preguntas de codificación para las Pruebas de HackerRank.
Tipos de casos de prueba
Hay dos tipos de casos de prueba para cada problema, un Caso de prueba de muestra y un Caso de prueba oculto.
Casos de prueba de muestra
Los casos de prueba de muestra son los casos de prueba que los candidatos pueden ver y usar para validar su código. Ven tanto los valores de entrada como los de salida esperados para estos casos de prueba. Al crear los casos de prueba, puedes marcar ciertos casos como casos de prueba de muestra.
Por ejemplo, mira la ilustración a continuación de un caso de prueba de muestra definido para una pregunta de codificación. La pregunta requiere que el candidato escriba un código para encontrar el primer carácter no repetido en una cadena dada.
En la prueba, cuando el candidato escribe y compila el código para la pregunta, el caso de prueba de muestra se valida contra el código del candidato. El candidato puede ver los resultados de la ejecución del caso de prueba de muestra junto con los valores de entrada y salida esperados según lo definido por ti. Ver los resultados de la ejecución del caso de prueba de muestra ayuda a los candidatos a entender los resultados esperados de su código. Los candidatos también pueden descargar sus casos de prueba de muestra.
Casos de prueba ocultos
Al agregar un caso de prueba a tu pregunta de codificación, si no lo marcas como caso de prueba de muestra, se considera oculto. Los casos de prueba ocultos han evolucionado desde la era de la programación competitiva.
Puedes incluir varios casos límite como casos de prueba ocultos para evaluar a los candidatos en diferentes escenarios. Cuando un candidato ejecuta su código, los casos de prueba ocultos se indican con el ícono de candado .
A diferencia de los casos de prueba de muestra, los candidatos no pueden ver los valores de entrada y salida esperada para estos casos de prueba ocultos. Sin embargo, pueden ver su salida y la salida depurable cuando hacen clic en cualquiera de las opciones de casos de prueba ocultos. Esta función se proporciona a los candidatos para brindarles una mejor experiencia de depuración.
En la prueba, cuando un candidato escribe y ejecuta el código para esta pregunta, el caso de prueba oculto se valida contra el código del candidato para devolver el resultado de la ejecución del caso de prueba. Si el código del candidato ejecuta con éxito los casos de prueba ocultos y devuelve la salida esperada, entonces el candidato obtiene la puntuación asignada para este caso de prueba.
Desactivando la Salida para Casos de Prueba Ocultos
También puede optar por no mostrar la salida de los casos de prueba ocultos para los candidatos. Para desactivar la salida para casos de prueba ocultos, siga los pasos a continuación.
- En la página de inicio de Tests, haga clic en la prueba deseada.
- Después de hacer clic en la pregunta, haga clic en la pestaña Configuraciones y luego en la opción Preguntas desde la izquierda.
- Después de hacer clic en la pestaña Preguntas, desplácese hacia abajo, encontrará la opción para desactivar la salida para los casos de prueba ocultos como se muestra a continuación. Sin embargo, esto no se recomienda ya que mostrar la salida ayuda a los candidatos a depurar su código de manera efectiva. La opción de mostrar la salida está seleccionada por defecto. Si desea ocultar su salida, puede desmarcar la casilla Mostrar salida para los casos de prueba ocultos.
Nota: Nuestros informes sugieren que los candidatos tienden a perder mucho de su tiempo de prueba mientras encuentran una solución o depuran debido a los casos de prueba ocultos. Para reducir este desafío y brindar a los candidatos una mejor experiencia de depuración, HackerRank espera dejar de usar casos de prueba ocultos en el futuro y presentar una experiencia de depuración basada en puntos de interrupción a los candidatos.
Puntuación
No todos los casos de prueba tienen el mismo nivel de dificultad. Al crear los casos de prueba, debe asegurarse de asignar más puntos a los casos de prueba difíciles en comparación con los fáciles. Esto conduce a una mejor distinción entre programadores sobresalientes, buenos y promedio. La suma de las puntuaciones de todos los casos de prueba es la puntuación total asignada a una pregunta en particular. Puede asignar cero puntos a los casos de prueba de muestra si es necesario. La puntuación total para una pregunta de codificación es la suma de las puntuaciones de todos los casos de prueba que se pasan con éxito.
Sincronizar Casos de Prueba con Fragmentos de Código
Cuando utilice fragmentos de código generados automáticamente, asegúrese de que la entrada y la salida esperada estén en sincronía con los fragmentos de código. Puede consultar la parte final para entender esto.
Por ejemplo:
Si la entrada es un array, siempre leerá primero "n" (que denota el tamaño del array) y luego leerá "n" elementos del array en "n" líneas separadas. Esto es necesario para garantizar la coherencia en la lectura de entrada en diferentes lenguajes.
Si la entrada es una lista enlazada, siempre leerá "n" (que denota el número de elementos a agregar a la lista enlazada de entrada) y luego leerá "n" elementos en "n" líneas separadas.
Consulte el tema Cómo agregar un Nuevo Caso de Prueba para obtener información sobre cómo crear y agregar casos de prueba a sus Preguntas.