Créer une question ou un test de codage

Article 5 sur 5 d’une série sur la création de vos propres tests.

Il s’agit du cinquième article dans une série de cinq, destinés à vous aider à créer vos propres tests au moyen de la plateforme TestGorilla. La série complète comprend :

  1. Développer un test de sélection efficace
  2. Choisir un type de question
  3. Rédiger des questions de jugement situationnel
  4. Comment créer votre propre test
  5. Créer une question ou un test de codage (facultatif)

L’option permettant d’ajouter vos propres tests est disponible pour les propriétaires de compte, les administrateur·rice·s et les recruteur·euse·s qui ont souscrit à nos forfaits Pro.

Lorsque vous créez votre propre test, nous vous recommandons d’en définir les grandes lignes avant de l’intégrer à la plateforme TestGorilla. Cela vous permettra de vous assurer que tout est organisé et disposé exactement comme vous le souhaitez.

Durée de lecture : 8 minutes environ

 

Dans cet article

  1. Qu’est-ce qu’une question de codage
  2. Créer une question de codage
    1. Sélectionnez votre langage
    2. Éditeur de question
    3. Rédiger la description du test
    4. Saisie d’informations spécifiques au code

    5. Enregistrer votre question
    6. Tests de codage indépendants du langage
  3. Questions fréquentes
  4. Étape suivante

Qu’est-ce qu’une question de codage ?

Les questions et tests de codage sont utilisés pour évaluer la capacité d’un·e candidat·e à créer ou à déboguer du code dans un langage spécifique dans un certain délai. Pour la plupart des langages de codage, nous développons des tests dans les catégories :

  • Pensée algorithmique (p. ex. recherche, tri, récursion, itération)
  • Concepts spécifiques au langage (p. ex. structures de données, programmation orientée objet)
  • Débogage

La différence principale entre une question et un test de codage c’est que le test contient une banque de questions de codage, et que notre plateforme se chargera de les faire défiler. Une question de codage se présente seule, dans la section Questions personnalisées.

 

Qui peut créer une question de codage ?

Tout·e utilisateur·rice ayant la fonction de propriétaire, administrateur·rice ou recruteur·euse est en mesure de créer une question ou un test de codage En raison de la nature hautement technique des tests de codage,  vous devrez faire appel à un·e expert·e dans le langage de codage requis pour créer vos questions de votre part.

Remarque : TestGorilla n’est pas en mesure de vous assister avec le contenu des tests personnalisés. Tous les tests que vous créez vous-même doivent être une création originale.

 

Langages de codage disponibles

Nous disposons actuellement de 20 langages de codage, qui peuvent être utilisés dans les tests et les questions :

  • C: 10.2.0
  • C# : 6.12.0
  • C++ : 10.2.0
  • Go:  1.16.2
  • Java: 15.0.2
  • JavaScript: 18.15.0
  • Kotlin: 1.8.20
  • PHP:  8.2.3
  • Python:  3.10.0
  • R: 4.1.1
  • Ruby:  3.0.1
  • Scala: 3.2.2
  • SQL: SQLite 3.31.1
  • Swift: 5.3.3
  • Typescript:  5.0.3

Dans nos tests de codage agnostiques en termes de langues, vous pouvez utiliser toutes les langues susmentionnées ainsi que les langues suivantes :

  • Dart: 2.19.6
  • Elixir: 1.11.3
  • Erlang: 23.0.0
  • Julia: 1.8.5
  • Perl: 5.36.0
  • Rust: 1.68.2
  •  
Remarque : un seul langage peut-être utilisé par test ou par question.

 

Créer une question de codage

Les questions de codage peuvent être utilisées de deux manières :

Le processus de création de votre question de codage est le même, quelle que soit la méthode que vous suivez. Chacun des guides indiqués en lien donne des détails complémentaires sur la manière d’atteindre l’étape requise. Ce guide vous accompagnera dans le processus d’utilisation de l’éditeur de questions pour créer votre question de codage.

 

Sélectionnez votre langage

Le premier écran qui s'affiche après le lancement de l’éditeur de questions vous permet de choisir votre langage de codage. Vous avez le choix entre 15 langages. Choisissez-en un dans la grille pour passer à l'écran suivant.

Remarque : si vous créez un Test de mon entreprise, le langage doit rester le même pour toutes vos questions de codage au sein de ce test.

 

Si vous utilisez des questions personnalisées, vous pouvez choisir un langage différent pour chaque question.

Éditeur de question

L’éditeur de question se trouve sur l'écran suivant. Vous écrirez la description de votre test dans la zone de texte située à gauche de la page. Elle fournira les détails dont votre candidat·e a besoin pour pouvoir faire l’exercice. Vous pouvez formater le texte à l’aide de la barre d’outils située en haut de la zone de texte. Cela vous permettra de surligner des passage clé du texte.

Rédiger la description du test

Nous vous recommandons de décomposer la description de votre test en cinq étapes :

 

Donnez le contexte et l’objectif général de la tâche de codage. Cela donne vie à la question et est nécessaire pour que le ou la candidat·e comprenne l’intention de la tâche de codage. Voici un bon exemple montrant à quoi cela ressemblerait :

 

Formulez en termes clairs ce que le ou la candidat·e doit faire. Pour cet exemple, imaginons que le ou la candidat·e doit écrire une fonction. Vous devrez

  1. Préciser la sortie : que doit renvoyer la fonction ?
  2. Préciser les arguments de la fonction (les données d’entrée)

En reprenant notre scénario ci-dessus, voici un exemple :

 

Donnez un exemple de données d’entrée et de sortie qui satisfont aux exigences. Cela pourrait ressembler à cela :

 

Ajouter les détails pertinents : Dans notre exemple de coffre-fort, il s’agirait :

 

Facultatif : Ajoutez tout indice potentiel ou toute autre élément à prendre en compte. Cela n’est pas nécessaire dans la plupart des cas, mais vous pourriez vouloir en ajouter.

Saisie d’informations spécifiques au code

Le côté droit de la page vous permet de saisir des informations spécifiques au code. Vous avez 4 onglets à compléter :

Signature de la fonction

Ici, vous pouvez définir le type de variable que la fonction renvoie, son nom et le(s) paramètre(s) d’entrée. Vous avez le choix parmi les types de paramètres suivants :

  • String
  • Integer
  • Boolean
  • Float
  • Tableau (saisi sous forme de valeurs séparées par des virgules, comme 1,2,3,4,5)
Remarque : les objets ne sont pas pris en charge en tant que paramètre de fonction.

 

Code initial

Le code initial est le point de départ pour les candidat·e·s. Il montre la signature de la fonction. Vous pouvez ajouter du code comme point de départ si votre tâche l’exige. Veuillez indiquer les endroits où les candidat·e·s sont censés insérer leur propre code.

Remarque : ceci n’est pas nécessaire si vous développez une tâche de débogage.

 

Cas de test

Les cas de test sont des combinaisons de paramètres d’entrée et de sortie qui satisfont aux exigences que vous avez spécifiées dans la question. Sous cet onglet, vous trouverez deux en-têtes :

  • Cas de test à utiliser pendant le test. Il s’agit de cas de test auxquels le ou la candidat·e a accès pendant le test. Ils aident le ou la candidat·e à mener à bien la tâche de codage, puisque les candidat·e·s peuvent tester leur code en fonction de ces cas de test pendant l’exercice.

    Si le ou la candidat·e clique sur exécuter pendant l’exercice de codage, le code qu’il ou elle a écrit est exécuté avec les paramètres d’entrée spécifiés dans chacun de ces cas de test.

    Si son code renvoie un résultat qui correspond aux résultats que vous avez spécifiés, le cas de test est réussi, et le ou la candidat·e en sera informé·e. Si son code échoue, il ou elle en sera également informé·e, ce qui lui permettra de rechercher les erreurs et de les corriger avant l’envoi final.

    Ces cas de test doivent être simples. 4 est le minimum.
  • Cas de test à utiliser pour validation Il s’agit des cas de test qui seront utilisés pour produire le score final du test. Ils ne sont pas utilisés pendant l’évaluation, les candidat·e·s ne peuvent donc pas vérifier leur code par rapport à ces cas de test.

    Ces cas de test doivent porter sur toutes les exigences définies dans votre scénario, y compris les exceptions, les cas particuliers, etc. Nous vous recommandons d’en créer 6 à 10 selon la complexité de la question.

Le score d’exactitudesera le pourcentage de cas de test de validation réussis.

Vous pouvez également ajouter des cas de test pour mesurer l’efficacité du code. Ces cas de test produisent le Score de performance, montrant le pourcentage de tests de performance réussis.

La performance est définie par le temps d’exécution nécessaire à l’exécution du cas de test, en millisecondes. Le code du ou de la candidat·e passe le test de performance si l’exécution du code est entièrement réalisée dans le délai que vous avez fixé.

Un cas de test de performance est pertinent pour les tests de codage où l’évolutivité est importante. Vous pouvez voir combien de temps il a fallu pour exécuter un cas de test de performance lorsque vous exécutez votre code de vérification (voir ci-dessous) :

 

Code de vérification

Le code de vérification est essentiellement la réponse modèle. Vous devez la coder et l’exécuter pour vous assurer que tous les cas de test que vous avez saisis sont réussis. Ce n’est qu’à ce moment-là que vous pourrez enregistrer la question.

Une fois que le ou la candidat·e a terminé le test, un rapport de codage indique le code du ou de la candidat·e et le résultat des cas de test de validation qui déterminent le score. Pour en savoir plus sur le rapport du test de codage, cliquez ici.

 

Tests SQL

Les tests SQL sont un peu différents, étant donné la composante supplémentaire que représente la base de données dans le test. Vous pouvez voir ici l’utilité des différents onglets lors de l’écriture d’un test SQL :

  • Structure de la base de données Ici, vous choisissez si vous demandez au ou à la candidat·e d’écrire une requête, à l’aide de SELECT, ou une mise à jour de la base de données, à l’aide de INSERT, UPDATE ou DELETE.
    Cet onglet est également l’endroit où vous allez créer la base de données initiale en établissant la ou les tableaux et en insérant les valeurs appropriées. Dans la plupart des cas, vous devriez copier votre structure de base de données initiale sous forme de bloc de code dans la description du test. Sinon, les candidat·e·s ne sauront pas comment la base de données est structurée et ce qu’elle contient.
  • Code initial Ici, vous pouvez inclure les quelques premières lignes de code si votre tâche l’exige.
  • Cas de test Comme indiqué précédemment, les cas de test sont répartis entre les cas de test disponibles pour le ou la candidat·e, c'est-à-dire les Cas de test à utiliser pendant le test, et les cas de test utilisés pour déterminer le score de correction, c'est-à-dire les Cas de test à utiliser pour validation.

    La plus grande différence avec la rédaction de questions SQL réside dans la structure des cas de test. Lors de ’écriture  des cas de test, vous pourrez insérer des valeurs supplémentaires dans la base de données dans la Configuration du cas de test. Cette configuration est un script qui sera exécuté immédiatement après la création de la structure de la base de données, mais avant le code du ou de la candidat·e. Le code de vérification fonctionne de la même manière que dans les autres questions de codage : il s’agit de la réponse modèle et elle doit être claire et efficace.

Lorsque vous écrivez un scénario de test SQL, il est bon de garder à l’esprit les flux suivants.

Lorsque vous demandez au ou à la candidat·e de créer une requête, vous définissez le résultat attendu de la requête en fonction de la structure de la base de données et de la configuration du cas de test, comme le montre la figure 1 ci-dessous.

 

Figure 1 : Séquence des scripts SQL exécutés lorsqu’on demande à un·e candidat·e d’écrire une requête (à l'aide de SELECT)

 

Lorsque vous demandez au ou à la candidat·e de rédiger une mise à jour de la base de données, vous devez également rédiger une requête de vérification. Cette requête sera exécutée après le code du ou de la candidat·e.

 

Dans le Résultat, vous indiquez ce que la requête de vérification est censée renvoyer. Voir la Figure 2.

 

Figure 2 : Séquence des scripts SQL exécutés lorsqu’on demande à un·e candidat·e d’écrire une mise à jour de base de données (à l'aide de INSERT, UPDATE, ou DELETE)

Remarque : Chaque cas de test recrée la base de données. Les cas de test sont donc isolés les uns des autres.

 

Enregistrer votre question

La partie la plus facile du processus ! Lorsque vous avez fini de saisir tous les détails, cliquez sur le bouton Enregistrer dans le coin supérieur droit de l'écran.

Notre plateforme exécutera d’abord l’ensemble de votre code pour s’assurer qu’il n’y a pas d’erreurs. Vous recevrez un message d’erreur si le système en détecte une. Vous devrez tout recommencer pour la corriger.

Si la sauvegarde est réussie, la fenêtre de l’éditeur de questions se ferme et vous ramène à l'écran précédent.

 

Tests de codage indépendants du langage

Cette option est disponible pour les plans Starter et Pro.

Avec nos tests de codage indépendants du langage de programmation, vous pouvez configurer les langages de programmation proposés à vos candidats et inclure autant de langages que vous le souhaitez parmi les 20 actuellement disponibles.

Vous pourrez ainsi évaluer les compétences du candidat dans le langage de programmation de son choix.

 

Pour consulter la liste de tests de codage indépendants du langage les tests, cliquez ici.

 

Il vous suffit d'ajouter un test de codage indépendant du langage de programmation à votre évaluation, après quoi vous verrez apparaître un écran qui vous permettra de choisir les langages de codage parmi lesquelles les candidats pourront choisir. Il y a 20 langages parmi lesquels on peut choisir, et vous pouvez en sélectionner autant que vous le souhaitez.

Step 2.gif

Vous pouvez modifier les langages de programmation disponibles dans un test de codage indépendant du langage en cliquant sur le bouton d'édition à côté du test ajouté.

Remarque : Les candidats peuvent décider du langage utilisé pendant le test, et reçoivent des questions d'entraînement ainsi que des infobulles d'accueil et d'intégration.

Les candidats peuvent également utiliser notre EDI (environnement de développement intégré) configurable pour personnaliser le thème de couleur, la taille de la fenêtre, la taille de l'écran et la taille de la police en fonction de leurs besoins.

 

Questions fréquentes

Pourquoi est-ce que je dois créer plusieurs questions de codage pour mon test ?

Cela permet à notre plateforme de présenter une question différente à chaque fois que votre test est utilisé. Si vous avez des candidat·e·s qui ont déjà passé votre test, ils auront un avantage sur les autres candidat·e·s car ils connaîtront le contenu du test à l’avance. Le fait de prévoir plusieurs questions réduit le risque que cela se produise.

Est-ce que je dois utiliser un test de codage ou une question de codage personnalisée ?

Cela dépendra de vos propres besoins. Si vous sélectionnez fréquemment des candidat·e·s pour le même poste de développeur, il est préférable de prendre le temps de réaliser un test d’entreprise complet, afin de ne pas avoir à recommencer le processus dans un avenir proche. Toutefois, si vous n’avez besoin que d’une ou deux questions et que vous disposez de l’espace nécessaire dans les questions personnalisées prévues par votre forfait, cela pourrait être plus facile.

Y a-t-il une limite au nombre de tests ou de questions de codage que je peux utiliser dans mon  ?

Votre évaluation peut comprendre jusqu’à 5 tests et, en fonction de votre forfait, jusqu’à 20 questions personnalisées. En théorie, vous pourriez avoir 5 tests de codage et 20 questions de codage personnalisées dans votre évaluation. Gardez à l’esprit la durée totale de votre évaluation : il est peu probable qu’un·e candidat·e accepte de passer votre évaluation s’il ou elle doit y consacrer 12 heures !

Étapes suivantes

Bien qu’ils ne soient pas inclus dans cette série, nous avons d’autres articles utiles concernant la création de votre propre test qui valent la peine d’être consultés. Il s'agit de 

 

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 9 sur 11

Articles dans cette section