msu*_*gar 10 java unit-testing distributed-system
是否有任何工具或框架能够更容易地测试用Java编写的分布式软件?我的被测系统是一个点对点软件,我想用PNUnit之类的东西进行测试,但用Java代替.Net.
被测系统是我正在开发的用于构建P2P应用程序的框架.它使用JXTA作为较低的子系统,试图隐藏它的一些复杂性.它目前是一个学术项目,所以我现在正在追求简约.
在我的测试中,我想证明一个对等体(在它自己的进程中运行,可能有多个线程)可以发现另一个(在另一个进程或甚至另一台机器上运行)并且它们可以交换一些消息.我不使用模拟器或存根,因为我需要看到双方同时工作.我意识到需要某种协调机制,PNUnit似乎能够做到这一点.
我已经碰到了像Pisces这样的一些计划,它们"旨在提供扩展JUnit的分布式测试环境,让开发人员/测试人员能够运行远程JUnit并创建由多个并行运行的远程JUnit测试组成的复杂测试套件或连续",但这个项目和我发现的其他一些似乎已经很久了.
测试分布式软件很大程度上取决于软件的类型,因此为了获得完整的答案,我需要知道您的软件的用途。然而,看看 PNUnit,它所做的大部分工作都是允许测试的同步、排序和并行执行。TestNG也支持这一点,例如,你可以这样做:
@Test(threadPoolSize = 3, invocationCount = 10, timeOut = 10000)
public void testServer() {
:
}
Run Code Online (Sandbox Code Playgroud)
它将从三个不同的线程调用函数testServer十次。TestNG 4.5 的更改日志还暗示了运行远程测试的可能性,更多信息可在这篇博客文章中找到。
或者,您可以查看 IBM 的ConTest软件,用于测试并行和分布式软件(此处有关于如何使用它的详细描述)。我使用它来暴露并发应用程序中的错误取得了巨大的成功。
| 归档时间: |
|
| 查看次数: |
2963 次 |
| 最近记录: |