Ich habe ein webbasiertes Lernspiel geerbt. Im letzten Jahr habe ich daran gearbeitet, den Code zu stabilisieren und neue Funktionen hinzuzufügen. Der größte Teil der Logik befindet sich im Front-End. So decken Back-End-Unit-Tests, obwohl sie hilfreich sind, einen kleinen Prozentsatz des Codes ab.
Das Spiel ist an einem Punkt angelangt, an dem es langsam komplexer wird. Es gibt zwei verschiedene Modi für jedes Spiel und das Spiel verhält sich je nach Modus unterschiedlich. Es gibt auch verschiedene Flags, die das Spiel beeinflussen.
Ich bin jetzt seit über 10 Jahren ein Anwendungsentwickler und das verwirrt mich. In der Unternehmenswelt funktioniert ein Algorithmus immer auf die gleiche Weise. Ich schreibe einen Unit-Test für einen Algorithmus, erwarte den Wert 42 und es tritt ein Fehler auf, wenn ich diesen Wert nicht erhalte.
Wenn es um Spiele geht, bin ich verloren. Wie teste ich sie? Ich habe Tester zur Verfügung. Ich kann Zeit damit verbringen, Komponententests zu schreiben.
Tester sind ... unzuverlässig. Sie sind nicht die Besten, wenn es darum geht, Probleme auszurotten, und ich habe ihnen nicht die beste Richtung gegeben. Wie soll ich sie als Ressource verwenden, ohne jede Menge Zeit in jedem Veröffentlichungszyklus zu investieren, um jede Permutation und Kombination des Spiels zu testen?
Unit-Tests scheinen begrenzt zu sein. Da der größte Teil der Logik Javascript ist (und ich den Spaghetti-Code geerbt habe), kann ich eine Front-End-Suite wie Cucumber oder Selen verwenden, um sicherzustellen, dass bestimmte Funktionen funktionieren.
Ist das die beste Strategie? Wie testen Spielefirmen Spiele?
Ich habe die Frage " Testgetriebene Entwicklung für komplexe Spiele " (unter anderem auf der Website) gelesen , aber sie geht nicht auf das ein, wonach ich suche. Ich frage nach Strategien, nicht nach konkreten Beispielen für das Testen.