Gibt es ein Tool oder Framework, das das Testen von verteilter Software, die in Java geschrieben wurde, erleichtert? Bei meinem zu testenden System handelt es sich um eine Peer-to-Peer-Software, und ich würde die Tests gerne mit etwas wie PNUnit , aber mit Java statt .Net.
Das zu testende System ist ein Framework, das ich für die Entwicklung von P2P-Anwendungen entwickle. Es verwendet JXTA als untergeordnetes Teilsystem, um die Komplexität des Systems zu verbergen. Es ist derzeit ein akademisches Projekt, so dass ich in diesem Moment die Einfachheit verfolge.
In meinem Test möchte ich demonstrieren, dass ein Peer (der in seinem eigenen Prozess läuft, möglicherweise mit mehreren Threads) einen anderen Peer (der in einem anderen Prozess oder sogar auf einem anderen Rechner läuft) finden kann und dass sie einige Nachrichten austauschen können. Ich verwende weder Mocks noch Stubs, weil ich beide Seiten gleichzeitig arbeiten sehen muss. Mir ist klar, dass eine Art von Koordinationsmechanismus erforderlich ist, und PNUnit scheint dazu in der Lage zu sein.
Ich bin auf einige Initiativen gestoßen wie Fische das "darauf abzielt, eine verteilte Testumgebung bereitzustellen, die JUnit erweitert und dem Entwickler/Tester die Möglichkeit gibt, entfernte JUnits auszuführen und komplexe Testsuiten zu erstellen, die aus mehreren parallel oder seriell laufenden entfernten JUnit-Tests bestehen", aber dieses Projekt und einige andere, die ich gefunden habe, scheinen schon lange tot zu sein.
9 Stimmen
Ähm ... Ich würde das nicht Einheitstest nennen. Ich würde es als System- oder Integrationstest bezeichnen, entweder als Funktionstest oder als Leistungs-/Lasttest.
0 Stimmen
Ja, ich neige dazu, Ihnen zuzustimmen, Stephen. In meinem Fall handelt es sich nicht um Leistungstests (Last- oder Stresstests), denn der Test soll zeigen, dass die Teile des Systems wie geplant funktionieren. Zum Beispiel sollte jede Komponente in der Lage sein, andere zu erkennen, Nachrichten zu senden und zu beantworten usw. Daher würde ich sagen, dass dies eher ein funktionaler Test oder sogar ein kleiner Integrationstest ist, da er sich auf einige wenige Interaktionen zwischen zwei Peers konzentriert. Bitte lesen Sie die erweiterte Beschreibung oben für weitere Details über die Software und vielen Dank für Ihre Aufmerksamkeit.