Définir des cas de test pour les questions de codage
Last updated: March 10, 2026
Aperçu
Les cas de test aident à valider le code des candidats. Ils constituent la base de l'évaluation automatisée du code d'un candidat. Un cas de test se compose d'une entrée pour le code et d'une sortie attendue. Une fois que les candidats soumettent le code, il est exécuté contre tous les cas de test. La sortie du code du candidat est comparée à la sortie attendue pour voir si le cas de test a réussi ou échoué.
Un exemple de cas de test avec une explication peut également aider à mieux expliquer le problème aux candidats. Idéalement, vous devriez utiliser 2 à 3 exemples de cas de test pour aider le programmeur à comprendre le problème. Nous recommandons d'avoir un total de 8 à 15 (idéalement un total de 10) cas de test qui couvrent tous les scénarios. Les cas de test doivent être de tailles différentes et couvrir différents niveaux de complexité. Aucun deux cas de test ne doit tester le même concept.
Remarque : Veuillez vous référer à la Test Cases in your Coding Question pour comprendre l'utilisation des cas de test lors de la création de questions de codage pour les tests HackerRank.
Types de cas de test
Il existe deux types de cas de test pour chaque problème, un Cas de test d'exemple et un Cas de test caché.
Cas de test d'exemple
Les cas de test d'exemple sont les cas de test que les candidats peuvent voir et utiliser pour valider leur code. Ils voient à la fois les valeurs d'entrée et de sortie attendue pour ces cas de test. Lors de la création des cas de test, vous pouvez marquer certains cas de test comme cas de test d'exemple.
Par exemple, voir l'illustration ci-dessous d'un cas de test d'exemple défini pour une question de codage. La question demande au candidat d'écrire un code pour trouver le premier caractère non répété dans une chaîne donnée.
Dans le test, lorsque le candidat écrit et compile le code pour la question, le cas de test d'exemple est validé par rapport au code du candidat. Le candidat peut voir les résultats d'exécution du cas de test d'exemple ainsi que les valeurs d'entrée et de sortie attendues telles que définies par vous. Voir les résultats d'exécution du cas de test d'exemple aide les candidats à comprendre les résultats attendus de leur code. Les candidats peuvent également télécharger leurs cas de test d'exemple.
Cas de test cachés
Lors de l'ajout d'un cas de test à votre question de codage, si vous ne le marquez pas comme cas de test d'échantillon, il est considéré comme caché. Les cas de test cachés ont évolué depuis l'ère de la programmation compétitive.
Vous pouvez inclure divers cas extrêmes comme cas de test cachés pour évaluer les candidats dans différentes situations. Lorsqu'un candidat exécute son code, les cas de test cachés sont indiqués par l'icône verrou .
Contrairement aux cas de test d'échantillon, les candidats ne peuvent pas voir les valeurs d'entrée et de sortie attendues pour ces cas de test cachés. Cependant, ils peuvent voir leur sortie et leur sortie débogable lorsqu'ils cliquent sur l'une des options de cas de test cachés. Cette fonctionnalité est fournie aux candidats pour leur offrir une meilleure expérience de débogage.
Dans le test, lorsqu'un candidat écrit et exécute le code pour cette question, le cas de test caché est validé par rapport au code du candidat pour retourner le résultat d'exécution du cas de test. Si le code du candidat exécute avec succès les cas de test cachés et retourne la sortie attendue, alors le candidat obtient le score attribué à ce cas de test.
Désactivation de la sortie pour les cas de test cachés
Vous pouvez également choisir de ne pas afficher la sortie des cas de test cachés pour les candidats. Pour désactiver la sortie pour les cas de test cachés, suivez les étapes ci-dessous.
- Sur la page d'accueil des Tests, cliquez sur le test souhaité.
- Après avoir cliqué sur la question, cliquez sur l'onglet Paramètres puis sur l'option Questions dans la gauche.
- Après avoir cliqué sur l'onglet Questions, faites défiler vers le bas, vous trouverez l'option pour désactiver la sortie pour les cas de test cachés comme indiqué ci-dessous. Cependant, cela n'est pas recommandé car l'affichage de la sortie aide les candidats à déboguer leur code efficacement. L'option pour afficher la sortie est sélectionnée par défaut. Si vous souhaitez masquer votre sortie, vous pouvez désélectionner la case Afficher la sortie pour les cas de test cachés.
Remarque : Nos rapports suggèrent que les candidats ont tendance à perdre beaucoup de leur temps de test en cherchant une solution ou en déboguant à cause des cas de test cachés. Pour réduire ce défi et offrir une meilleure expérience de débogage aux candidats, HackerRank envisage de s'éloigner des cas de test cachés à l'avenir et d'introduire une expérience de débogage basée sur des points d'arrêt pour les candidats.
Notation
Tous les cas de test n'ont pas le même niveau de difficulté. Lors de la création des cas de test, vous devez vous assurer que plus de points sont attribués aux cas de test difficiles par rapport aux faciles. Cela permet une meilleure distinction entre les programmeurs exceptionnels, bons et moyens. La somme des scores de tous les cas de test est le score total attribué à une question particulière. Vous pouvez attribuer zéro point aux cas de test d'exemple si nécessaire. Le score global pour une question de codage est la somme des scores de tous les cas de test qui ont été passés avec succès.
Synchroniser les cas de test avec les stubs de code
Lorsque vous utilisez des stubs de code générés automatiquement, assurez-vous que l'entrée et la sortie attendue sont synchronisées avec les stubs de code. Vous pouvez vous référer à la partie finale pour comprendre cela.
Par exemple :
Si l'entrée est un tableau, vous lirez toujours d'abord "n" (qui désigne la taille du tableau) puis lirez "n" éléments de tableau sur "n" lignes séparées. Cela est nécessaire pour assurer la cohérence dans la lecture de l'entrée dans différentes langues.
Si l'entrée est une liste chaînée, vous lirez toujours "n" (qui désigne le nombre d'éléments à ajouter à la liste chaînée d'entrée) puis lirez "n" éléments sur "n" lignes séparées.
Consultez le sujet Comment ajouter un nouveau cas de test pour obtenir des informations sur la création et l'ajout de cas de test à vos questions.