客户端/服务器应用程序的自动测试

时间:2010-07-21 17:38:08

标签: c++ client-server testing

正如标题所说,您将如何测试用C / C ++编写的客户端/服务器应用程序,该应用程序通过网络协议进行通信?我对如何做到这一点有点困惑。我曾经考虑过做一些嘲弄,但我从未尝试过嘲笑,所以我不知道这是不是最好的方法。 我该怎么做?我已经编写了许多单元测试,但从未尝试过测试通过网络进行交互的内容。

3 个答案:

答案 0 :(得分:0)

我使用单元测试驱动程序(客户端)中的命令模式将测试命令发送到服务器。这样做的好处是测试编码在一个地方。

测试请求超时的示例:

客户端向服务器发送睡眠命令,然后发送请求。请求超时,测试用例通过。

答案 1 :(得分:0)

通常,您需要使用模拟来验证每一方是否对来自另一方的消息作出反应(例如,当客户端从服务器接收到它正确处理该响应的响应时)。

要测试网络功能本身,您可以测试在同一台计算机上运行,​​也可以在虚拟机中运行一个(或两个)。如果你有两个网络适配器,你甚至可以将每个网络适配器专用于虚拟机,这样网络流量实际上就会输出一个,交换机/路由器,然后又返回另一个网络适配器(当你想要捕获和验证数据包时特别有用) )。

答案 2 :(得分:0)

我有一些客户端/服务器代码,我通过环回地址进行单元测试。当我必须测试错误条件时,我会使用一些模拟。因此,当我需要触发非常具体的条件时,我可以使用真实代码进行测试。