2008-08-20 4 views
1

Wir haben ein Werkzeug erstellt, das eine Sprache namens P2, eine Sprache, die der Assemblierung ähnlich ist, die ich glaube, nur in Japan existiert, in C# umwandelt. Es gibt mindestens hundert Module in P2 geschrieben und wir wollen überprüfen, ob die Umwandlung in C# richtig ist? Wie können wir das testen?Sprachumwandlungstest

Antwort

2

Sie testen den Konverter nicht, Sie testen den endgültigen Code.

Wenn der Code nicht kompiliert wird, schlägt Ihr Konverter eindeutig fehl. Wenn der Code kompiliert wird und Ihre Funktionstests fehlschlagen, können Sie den Code so optimieren, dass er den Test besteht. Wenn Sie ziemlich erfolgreich sind, sollten Sie sehen, dass Sie nur die Module reparieren müssen, die tatsächlich fehlschlagen.

Goodluck!

1

Kurz von einem formalen mathematischen Beweis (den ich mir vorstellen würde, würde schwierig sein), ist der Beweis des Puddings in den Unit-Tests. Sie müssen einen Weg finden, um die konvertierten C# Snippets zu verpacken, kompilieren und in einer ähnlichen Umgebung ausführen und dann die Ausgabe mit dem Original vergleichen. Wenn Sie Ihre Tests nicht streng genug durchführen, können Sie auf das Ergebnis nicht vertrauen.