我们有一个主应用程序,最多可执行5个不同的exes。这些exes独立运行并通过UDP相互通信。目前还没有计划改变这种架构。
我们希望将整个事物从VS6迁移到VS2008。 我正在考虑添加单元测试,以确保迁移后一切仍然有效。目前,没有一个单元测试。
所以现在我有几个问题:
建议,最佳实践,欢迎新想法:)
由于
答案 0 :(得分:1)
如果他们通过UDP进行通信,并且您希望确保片段之间的集成现在和以后工作,您可以针对MSTest中的UDP接口或VS2008中的NUnit编写自动测试。
在VS2008中编写测试,并将接口的输入/验证输出发送到.exe应用程序。然后,当您切换到.NET时,只需将测试指向.NET .exe的新端点并运行它们以验证所有输入和输出是否相同。
我认为你会花更多时间专门为新应用程序编写单元测试,但是针对外部UDP接口编写测试以验证迁移是否成功。
答案 1 :(得分:1)
如果您愿意将每个可执行文件视为“模块”,那么有一种方法可以在不过于侵入的情况下引入测试。 这将创建一些对于许多人来说有点大的模块(当人们谈论模块是类或源文件时的典型大小),但是你的通信机制提供了一种很好的方法来挂钩测试。
使用您拥有的体系结构以及您没有代码的现有测试工具这一事实,我将编写一个测试工具,可以使用UDP接口隔离地与每个可执行文件进行通信。 执行测试时,只运行一个可执行文件(除了测试代码)。测试代码通过监听各自的UDP端口并按照测试用例的要求提供响应来模拟其他可执行文件。测试用例还通过向其发送UDP请求来激发测试中的可执行文件。如果还涉及GUI / TUI,则可能需要手动执行部分测试。