需要一些关于服务器应用程序的集成测试的建议

时间:2013-06-29 15:12:33

标签: c unit-testing testing integration-testing

我需要一些建议来正确设置我编写的C server application的集成测试。 主要问题是client library属于自己的项目,这是最好的方法吗?

我应该将客户端库作为git子模块(客户端和服务器都在git下)放在服务器的“tests”文件夹中,并将测试链接到它吗? 我应该实现一个最小的静态客户端(使用二进制字符串发送命令)并使用它吗?

由于这是我第一次真正需要集成测试,我对这些方法中哪一种最好的方法有点怀疑。

2 个答案:

答案 0 :(得分:0)

可以找到集成测试的一个很好的定义here。它声明:

  

集成测试:测试多个的正确互操作   子系统。从测试集成到那里有整个范围   在两个类之间,测试与生产的集成   环境。

通常,您将为您的客户端进行集成测试,并为您的服务器进行单独的集成测试。但是,您所指的是客户端 - 服务器集成测试。

要编写这些测试,我建议使用自动验收测试。使用诸如Cucumber之类的测试框架,您可以编写测试,测试特定的功能和方案,这些测试将与客户端和服务器进行交互。

有一个名为cucumber-cpp的C ++黄瓜框架(我假设)你可以用来测试你的基于C的应用程序。还有一个视频(尽管很差!)正在使用here

答案 1 :(得分:-3)

根据我的拙见,客户和服务器应该有两个单独的测试套装。二进制字符串(即使可能吗?)听起来也不错。尝试使测试套件可读,而不是任何“魔法数字”。

我不会因为测试套件而使用子模块解决方案。