Artikel 5 von 5 in einer Serie über die Erstellung deiner eigenen Tests.
Dies ist der fünfte Artikel einer fünfteiligen Serie, die dir helfen soll, deine eigenen Tests mit der TestGorilla-Plattform zu erstellen. Die komplette Serie umfasst:
- Entwicklung eines effektiven Screening-Tests
- Wahl eines Fragentyps
- Schreiben von Fragen zur Situationsbeurteilung
- Wie du deinen eigenen Test erstellst
- Erstellen einer Kodierfrage oder eines Tests (optional)
Die Option, eigene Tests hinzuzufügen, steht Kontoinhaber:innen, Administrator:innen und Personalverantwortlichen zur Verfügung, die unsere Pakete Pro nutzen.
Wenn du deinen eigenen Test erstellst, empfehlen wir dir, ihn zu skizzieren, bevor du ihn in die TestGorilla-Plattform einstellst. So kannst du sicherstellen, dass alles genau so organisiert und angeordnet ist, wie du es möchtest.
Ungefähre Lesezeit: 8 Minuten
Inhalte in diesem Artikel
Was ist eine Kodierfrage?
Kodiertests und -fragen dienen dazu, die Fähigkeit eines/einer Kandidat:in zu beurteilen, Code in einer bestimmten Sprache innerhalb einer bestimmten Zeit zu erstellen oder von Fehlern zu befreien. Für die meisten Kodiersprachen entwickeln wir Tests in den folgenden Kategorien:
- Algorithmisches Denken (z. B. Suchen, Sortieren, Rekursion, Iteration)
- Sprachspezifische Konzepte (z. B. Datenstrukturen, objektorientierte Programmierung)
- Fehlersuche
Der wichtigste Unterschied zwischen einem Kodiertest und einer Kodierfrage besteht darin, dass ein Test eine Reihe von Kodierfragen enthält, die unsere Plattform durchläuft. Eine Kodierfrage wird allein als Teil des Abschnitts Benutzerdefinierte Fragenangezeigt.
Wer kann eine Kodierfrage erstellen?
Jede:r Benutzer:in mit der Rolle Inhaber:in, Administrator:in oder Personalverantwortliche:r kann einen benutzerdefinierten Kodiertest oder eine Kodierfrage erstellen. Da Kodiertests sehr technisch sind, musst du deine Fragen von einem/einer Expert:in in der gewünschten Kodiersprache erstellen lassen.
Hinweis: TestGorilla kann dir beim Inhalt von benutzerdefinierten Tests nicht helfen. Jeder Test, den du selbst erstellst, muss eine originale Kreation sein.
Verfügbare Kodiersprachen
Wir stellen derzeit 15 Kodiersprachen zur Verfügung, die sowohl in Tests als auch in Fragen verwendet werden können:
- Java: OpenJDK 12
- C: GCC 10
- C++: G++ 10
- C#: SDK 3.1.300
- Go: 1.16
- JavaScript: Node 13
- PHP: 7.4
- Python: 3.8
- Ruby: 3
- SQL: SQLite 3.31.1
- Typescript: 4.3.4
- Kotlin:
- R:
- Scala:
- Swift:
Hinweis: Pro Test oder Frage kann nur eine Sprache verwendet werden.
Kodierfrage erstellen
Kodierfragen können auf zwei Arten verwendet werden:
- Als Teil deiner Fragendatenbank für einen Unternehmenstest
- Als benutzerdefinierte Frage, die in Schritt 3: Fragen hinzufügen während der Erstellung des Assessments hinzugefügt wird
Der Prozess der Erstellung deiner Kodierfrage ist derselbe, unabhängig davon, für welche Art du dich entscheidest. Jeder der verlinkten Leitfäden beschreibt detailliert, wie du die gewünschte Phase erreichst. In diesem Leitfaden erfährst du, wie du mit dem Frageneditor deine Kodierfrage erstellst.
Sprache auswählen
Auf dem ersten Bildschirm, der dir nach dem Start des Frageneditors angezeigt wird, kannst du deine Kodiersprache auswählen. Es stehen 15 Sprachen zur Auswahl. Wähle eine Sprache aus dem Raster aus, um zum nächsten Bildschirm zu gelangen.
Hinweis: Wenn du einen Unternehmenstest erstellst, muss die Sprache für alle Kodierfragen im Test gleich bleiben.
Wenn du benutzerdefinierte Fragen verwendest, kannst du für jede Frage eine andere Sprache wählen.
Frageneditor
Der Frageneditor wird auf dem nächsten Bildschirm angezeigt. Gib deine Testbeschreibung in das Textfeld links auf der Seite ein. Diese Beschreibung liefert die Details, die deine Kandidat:innen brauchen, um die Übung zu absolvieren. Du kannst den Text mithilfe der Symbolleiste oben im Textfeld formatieren. So kannst du wichtige Textpassagen hervorheben.
Testbeschreibung verfassen
Wir empfehlen, deine Testbeschreibung in fünf Schritte zu unterteilen:
Gib den Kontext und das allgemeine Ziel der Kodieraufgabe an. Das macht die Frage realistischer und ist notwendig, damit die Kandidat:innen die Absicht der Kodieraufgabe verstehen. Hier ist ein gutes Beispiel dafür, wie das aussehen könnte: |
|
|
Formuliere in klaren Worten, was die Kandidat:innen tun müssen. In diesem Beispiel sollen die Kandidat:innen eine Funktion schreiben. Gib Folgendes an:
Hier ist ein Beispiel für unser oben genanntes Szenario: |
|
Nenne ein Beispiel für eine Eingabe und Ausgabe, die die Anforderungen erfüllen. Das könnte in etwa so aussehen: |
|
Füge relevante Details hinzu. In unserem Beispiel mit dem Tresor wären das folgende: |
Optional: Füge mögliche Hinweise oder andere Überlegungen hinzu. Das ist in den meisten Fällen nicht notwendig, aber vielleicht möchtest du diese Informationen hinzufügen. |
Eingabe von Code-spezifischen Informationen
Rechts auf der Seite kannst du Code-spezifische Informationen eingeben. Es gibt 4 Registerkarten, die du ausfüllen musst:
Funktionssignatur
Hier kannst du den Typ der Variablen, die die Funktion zurückgibt, ihren Namen und den/die Eingabeparameter festlegen. Du kannst aus den folgenden Parametertypen wählen:
- String
- Ganzzahl
- Boolesch
- Float
- Array (Eingabe als kommagetrennte Werte wie 1,2,3,4,5)
Hinweis: Objekte werden als Funktionsparameter nicht unterstützt
Ursprünglicher Code
Der ursprüngliche Code ist der Ausgangspunkt für die Kandidat:innen. Er zeigt die Funktionssignatur an. Du kannst etwas Code als Ausgangspunkt hinzufügen, wenn deine Aufgabe es erfordert. Gib an, wo die Kandidat:innen ihren eigenen Code einfügen sollen.
Hinweis: Dies ist nicht notwendig, wenn du eine Aufgabe zur Fehlersuche entwickelst.
Testfälle
Testfälle sind Kombinationen von Eingabe- und Ausgabeparametern, welche die Anforderungen erfüllen, die du in der Frage angegeben hast. Auf dieser Registerkarte findest du zwei Überschriften:
- Testfälle, die während des Tests verwendet werden. Dies sind die Testfälle, auf die Kandidat:innen während des Tests Zugriff haben. Sie helfen ihnen dabei, die Kodieraufgabe erfolgreich abzuschließen, da die Kandidat:innen ihren Code während der Übung anhand dieser Testfälle testen können.
Wenn die Kandidat:innen während der Kodierübung auf Ausführen klicken, wird der von ihnen geschriebene Code mit den Eingabeparametern ausgeführt, die in jedem der Testfälle angegeben sind.
Wenn der Code ein Ergebnis zurückgibt, das mit deinen angegebenen Ergebnissen übereinstimmt, ist der Testfall bestanden und die Kandidat:innen werden darüber informiert. Wenn der Code fehlschlägt, wird ihnen das ebenfalls mitgeteilt. So können sie nach Fehlern suchen und ihren Code vor der endgültigen Einreichung bearbeiten.
Diese Testfälle sollten relativ einfach sein. 4 ist das Minimum.
- Testfälle, die zur Validierung verwendet werden. Dies sind die Testfälle, die zur Ermittlung der endgültigen Testnote verwendet werden. Sie werden während des Assessments nicht verwendet, sodass Kandidat:innen ihren Code nicht anhand dieser Testfälle prüfen können.
Diese Testfälle sollten alle in deinem Szenario festgelegten Anforderungen abdecken, einschließlich Ausnahmen, Grenzfälle usw. Wir empfehlen, je nach Komplexität der Frage 6 bis 10 Testfälle zu erstellen.
Die Korrektheitsbewertung ist der Prozentsatz der bestandenen Validierungstestfälle.
Du kannst auch Testfälle hinzufügen, um die Effizienz des Codes zu messen. Diese Testfälle ergeben die Leistungsbewertung, die angibt, wie viel Prozent der Leistungstests bestanden wurden.
Die Leistung wird durch die für die Ausführung des Testfalls benötigte Laufzeit in Millisekunden definiert. Der Code der Kandidat:innen besteht den Leistungstest, wenn die Laufzeit des Codes innerhalb des von dir festgelegten Zeitlimits vollständig ausgeführt wird.
Ein Leistungstestfall ist für Kodiertests relevant, bei denen die Skalierbarkeit wichtig ist. Du kannst sehen, wie viel Zeit die Ausführung eines Leistungstestfalls in Anspruch genommen hat, wenn du deinen Verifizierungscode ausführst (siehe unten):
Verifizierungscode
Der Verifizierungscode ist im Grunde die Musterantwort. Du musst ihn codieren und ausführen, um sicherzustellen, dass alle von dir eingegebenen Testfälle bestanden werden. Erst dann kannst du die Frage speichern.
Wenn der/die Kandidat:in den Test abgeschlossen hat, wird ein Kodierbericht angezeigt, der den Code des/der Kandidat:in und das Ergebnis der Validierungstestfälle zeigt, welche die Punktzahl bestimmen. Mehr über der Kodiertestbericht erfährst du hier.
SQL-Tests
SQL-Tests sind etwas anders, da der Test eine zusätzliche Datenbankkomponente enthält. Hier kannst du sehen, welchen Zweck die verschiedenen Registerkarten beim Schreiben eines SQL-Tests erfüllen:
- Datenbankstruktur. Hier wählst du aus, ob die Kandidat:innen eineAbfrage – mit SELECT – oder ein Datenbank-Update –mit INSERT, UPDATE oder DELETE – schreiben sollen.
Auf dieser Registerkarte erstellst du auch das Skript der ursprünglichen Datenbank, indem du Tabellen erstellst und die passenden Werte eingibst. In den meisten Fällen solltest du deine ursprüngliche Datenbankstruktur als Code-Block in die Testbeschreibung kopieren. Andernfalls haben die Kandidat:innen keine Ahnung, wie die Datenbank strukturiert ist und was sie enthält. - Ursprünglicher Code. Hier kannst du erste Code-Zeilen einfügen, wenn deine Aufgabe dies erfordert.
- Testfälle. Wie oben werden die Testfälle unterteilt in Testfälle, die den Kandidat:innen zur Verfügung stehen – Testfälle, die während des Tests verwendet werden – und Testfälle, die zur Ermittlung der Korrektheitsbewertung verwendet werden – Testfälle, die zur Validierung verwendet werden.
Der größte Unterschied zum Schreiben von SQL-Fragen liegt in der Struktur der Testfälle. Wenn du Testfälle schreibst, kannst du im Testfall-Setup zusätzliche Werte in die Datenbank eingeben. Dieses Setup ist ein Skript, das unmittelbar nach der Erstellung der Datenbankstruktur, aber vor dem Code der Kandidat:innen ausgeführt wird. Der Verifizierungscode funktioniert genauso wie bei anderen Kodierfragen: Dies ist die Musterantwort, die sauber und effizient sein sollte.
Beim Schreiben von SQL-Testfällen solltest du die folgenden Abläufe im Kopf haben.
Wenn die Kandidat:innen eine Abfrage erstellen sollen, definierst du das erwartete Ergebnis der Abfrage vor dem Hintergrund der Datenbankstruktur und des Testfall-Setups, wie in Abbildung 1 unten.
Abbildung 1: Sequenz von SQL-Skripten, die ausgeführt werden, wenn ein/e Kandidat:in eine Abfrage schreiben soll (mit SELECT)
Wenn die Kandidat:innen ein Datenbank-Update schreiben sollen, solltest du ebenfalls eine Prüfabfrage schreiben. Diese Abfrage wird nach dem Code des/der Testteilnehmer:in ausgeführt.
Im Ergebnis legst du fest, was die Prüfabfrage zurückgeben soll. Siehe Abbildung 2.
Abbildung 2: Sequenz von SQL-Skripten, die ausgeführt werden, wenn ein/e Kandidat:in ein Datenbank-Update schreiben soll (mit INSERT, UPDATE oder DELETE)
Hinweis: Jeder Testfall rekonstruiert die Datenbank. Daher funktionieren Testfälle isoliert voneinander.
Frage speichern
Der leichteste Schritt im Prozess! Wenn du alle Details eingegeben hast, klicke auf die Schaltfläche „Speichern“ oben rechts auf dem Bildschirm.
Unsere Plattform führt zunächst deinen gesamten Code aus, um sicherzugehen, dass keine Fehler auftreten. Falls Fehler auftreten, erhältst du eine Fehlermeldung. Du musst dann alles erneut durchgehen, um deinen Fehler zu korrigieren.
Wenn die Frage erfolgreich gespeichert wurde, schließt sich der Frageneditor und du kehrst zurück zum vorherigen Bildschirm.
Häufige Fragen
Warum muss ich mehrere Kodierfragen für meinen Test erstellen?
Dadurch kann unsere Plattform bei jeder Nutzung deines Tests eine andere Frage anzeigen. Wenn einige deiner Kandidat:innen den Test schon einmal absolviert haben, sind sie gegenüber anderen Testteilnehmer:innen im Vorteil, da sie den Testinhalt schon kennen. Durch mehrere Fragen kann dieses Risiko verringert werden.
Sollte ich einen Kodiertest oder eine benutzerdefinierte Kodierfrage verwenden?
Das hängt von deinen eigenen Anforderungen ab. Wenn du häufig Kandidat:innen für dieselbe Entwicklerrolle prüfst, könnte es besser sein, einen kompletten Unternehmenstest zu erstellen, damit du den Prozess nicht bald erneut durchlaufen musst. Wenn du aber nur ein oder zwei Fragen brauchst und noch Platz in den benutzerdefinierten Fragen deines Pakets hast, könnte das einfacher sein.
Gibt es eine Obergrenze für die Anzahl der Kodiertests oder -fragen, die ich in meinem Assessment verwenden kann?
Dein Assessment kann bis zu 5 Tests und – je nach Paket – bis zu 20 benutzerdefinierte Fragen enthalten. Theoretisch könntest du 5 Kodiertests und 20 benutzerdefinierte Kodierfragen in deinem Assessment haben. Achte jedoch darauf, wie lange dein Assessment insgesamt dauert. Kandidat:innen werden wahrscheinlich nicht an deinem Assessment teilnehmen, wenn sie 12 Stunden dauert!
Nächste Schritte
Zwar sind sie nicht in dieser Serie enthalten, doch wir haben noch andere Artikel, die bei der Erstellung deines eigenen Tests hilfreich sind und die du dir ansehen solltest. Dazu gehören:
- Auswahl der Länge für deinen benutzerdefinierten Test
- Verwenden des Text- und Formeleditors
- Formatierung von Testfragen