Festlegung von Testfällen für Programmierfragen

Last updated: March 10, 2026

Übersicht

Testfälle helfen bei der Validierung des Codes der Kandidaten. Sie bilden die Grundlage für die automatisierte Bewertung des Codes eines Kandidaten. Ein Testfall besteht aus einer Eingabe für den Code und einer erwarteten Ausgabe. Sobald die Kandidaten den Code einreichen, wird dieser gegen alle Testfälle ausgeführt. Die Ausgabe des Codes des Kandidaten wird mit der erwarteten Ausgabe verglichen, um zu sehen, ob der Testfall bestanden oder nicht bestanden hat.

Ein Beispiel-Testfall mit Erklärung kann auch dabei helfen, das Problem den Kandidaten besser zu erklären. Idealerweise sollten Sie 2 bis 3 solcher Beispiel-Testfälle verwenden, um dem Programmierer das Verständnis des Problems zu erleichtern. Wir empfehlen insgesamt 8 bis 15 (idealerweise insgesamt 10) Testfälle, die alle Szenarien abdecken. Die Testfälle sollten unterschiedlicher Größe sein und verschiedene Schwierigkeitsgrade abdecken. Keine zwei Testfälle sollten dasselbe Konzept testen. 

Hinweis: Bitte beziehen Sie sich auf die Testfälle in Ihrer Programmierfrage, um die Verwendung von Testfällen beim Erstellen von Programmierfragen für HackerRank-Tests zu verstehen.

Arten von Testfällen

Es gibt zwei Arten von Testfällen für jedes Problem, einen Beispiel-Testfall und einen Versteckter Testfall.

Beispiel-Testfälle

Beispiel-Testfälle sind die Testfälle, die die Kandidaten einsehen und verwenden können, um ihren Code zu validieren. Sie sehen sowohl Eingabe- als auch erwartete Ausgabewerte für diese Testfälle. Beim Erstellen der Testfälle können Sie bestimmte Testfälle als Beispiel-Testfälle markieren. 

Zum Beispiel sehen Sie die Abbildung unten eines Beispiel-Testfalls, der für eine Programmierfrage definiert wurde. Die Frage erfordert, dass der Kandidat Code schreibt, um den ersten nicht wiederholten Charakter in einer gegebenen Zeichenkette zu finden. 

Sample_Test_Cases.jpg

Im Test, wenn der Kandidat den Code für die Frage schreibt und kompiliert, wird der Beispiel-Testfall gegen den Code des Kandidaten validiert. Der Kandidat kann die Ausführungsergebnisse des Beispiel-Testfalls zusammen mit den Eingabe- und erwarteten Ausgabewerten sehen, wie Sie es festgelegt haben. Das Anzeigen der Ergebnisse der Beispiel-Testfall-Ausführung hilft den Kandidaten, die erwarteten Ergebnisse ihres Codes zu verstehen. Kandidaten können ihre Beispiel-Testfälle auch herunterladen.

Das folgende Bild zeigt die Ansicht des Kandidaten zum Status der Ausführung von Beispiel-Testfällen nach dem Kompilieren des Codes im Test.Test_Case_execution_status.jpg

Versteckte Testfälle

Wenn Sie einen Testfall zu Ihrer Programmierfrage hinzufügen und ihn nicht als Beispiel-Testfall markieren, gilt er als versteckt. Versteckte Testfälle stammen aus der Ära des Wettbewerbsprogrammierens.

Sie können verschiedene Randfälle als versteckte Testfälle einbeziehen, um Kandidaten in unterschiedlichen Szenarien zu bewerten. Wenn ein Kandidat seinen Code ausführt, werden die versteckten Testfälle durch das Schloss Symbol angezeigt.

Im Gegensatz zu Beispiel-Testfällen können die Kandidaten die Eingabe- und erwarteten Ausgabewerte für diese versteckten Testfälle nicht sehen. Allerdings können sie ihre Ausgabe und debuggable Ausgabe sehen, wenn sie auf eine der versteckten Testfalloptionen klicken. Diese Funktion soll den Kandidaten ein besseres Debugging-Erlebnis bieten.

Betrachten Sie eine Programmierfrage, bei der ein Kandidat Code schreiben muss, um den ersten nicht wiederholten Buchstaben in einer gegebenen Zeichenkette zu findenHidden_Test_Case.jpg

Im Test, wenn ein Kandidat den Code für diese Frage schreibt und ausführt, wird der versteckte Testfall anhand des Codes des Kandidaten validiert, um das Ergebnis der Testfallexecution zurückzugeben. Wenn der Code des Kandidaten die versteckten Testfälle erfolgreich ausführt und die erwartete Ausgabe liefert, erhält der Kandidat die für diesen Testfall zugewiesene Punktzahl.

mceclip1.png

Deaktivieren der Ausgabe für versteckte Testfälle

Sie können auch wählen, die Ausgabe der versteckten Testfälle für die Kandidaten nicht anzuzeigen. Um die Ausgabe für versteckte Testfälle zu deaktivieren, folgen Sie den unten stehenden Schritten.

  • Auf der Tests -Startseite klicken Sie auf den gewünschten Test.
question.jpg
  • Nach dem Klicken auf die Frage, klicken Sie auf die Registerkarte Einstellungen und dann auf die Option Fragen auf der linken Seite.
question_settings_.jpg
  • Nach dem Klicken auf die Registerkarte Fragen scrollen Sie nach unten, Sie finden die Option, die Ausgabe für die versteckten Testfälle zu deaktivieren, wie unten gezeigt. Dies wird jedoch nicht empfohlen da die Anzeige der Ausgabe den Kandidaten hilft, ihren Code effektiv zu debuggen. Die Option, die Ausgabe anzuzeigen, ist standardmäßig aktiviert. Wenn Sie Ihre Ausgabe verbergen möchten, können Sie das Kontrollkästchen Ausgabe für die versteckten Testfälle anzeigen deaktivieren.
hidden_test_case_output.jpg

Hinweis: Unsere Berichte deuten darauf hin, dass Kandidaten viel ihrer Testzeit verlieren, während sie eine Lösung finden oder debuggen, aufgrund der versteckten Testfälle. Um diese Herausforderung zu verringern und den Kandidaten eine bessere Debugging-Erfahrung zu bieten, plant HackerRank, in Zukunft von versteckten Testfällen wegzugehen und eine breakpoint-basierte debugfähige Erfahrung für Kandidaten einzuführen.

Bewertung

Nicht alle Testfälle haben den gleichen Schwierigkeitsgrad. Beim Erstellen der Testfälle müssen Sie sicherstellen, dass den schwierigen Testfällen mehr Punkte zugewiesen werden als den einfachen. Dies führt zu einer besseren Unterscheidung zwischen herausragenden, guten und durchschnittlichen Programmierern. Die Summe der Punktzahlen aller Testfälle ist die Gesamtpunktzahl, die einer bestimmten Frage zugewiesen wird. Sie können bei Bedarf Null Punkte für Beispiel-Testfälle vergeben. Die Gesamtpunktzahl für eine Programmierfrage ist die Summe der Punktzahlen aller erfolgreich bestandenen Testfälle.

In der folgenden Abbildung sehen Sie den detaillierten Testbericht des Kandidaten in HackerRank, der die erreichte Punktzahl für die Frage basierend auf dem Testausführungsstatus anzeigt.Test_Report_status_of_score_achieved_for_Test_case.jpg

Testfälle mit Code-Snippets synchronisieren

Wenn Sie automatische Code-Snippets verwenden, stellen Sie sicher, dass Eingabe und erwartete Ausgabe mit den Code-Snippets synchron sind. Sie können den unteren Teil zur Verständlichkeit heranziehen.

Zum Beispiel:

  • Wenn die Eingabe ein Array ist, lesen Sie immer zuerst "n" (bezeichnet die Array-Größe) ein und dann "n" Array-Elemente in "n" separaten Zeilen. Dies ist erforderlich, um Konsistenz beim Einlesen der Eingabe in verschiedenen Sprachen zu gewährleisten.

  • Wenn die Eingabe eine verkettete Liste ist, lesen Sie immer "n" (bezeichnet die Anzahl der Elemente, die zur Eingabeliste hinzugefügt werden sollen) ein und lesen dann "n" Elemente in "n" separaten Zeilen.

Siehe das Thema Wie man einen neuen Testfall hinzufügt für Informationen zum Erstellen und Hinzufügen von Testfällen zu Ihren Fragen.