[英]Test driving an FTP client with network I/O, does this fall under integration testing or functional testing?
我是TDD的新手,这是我第一次测试实际项目。 首先,我想测试一下FTP客户端。 在我看来,由于FTP客户端自然地处理网络I / O,因此没有必要对它进行单元测试,因为单元测试不应包含任何I / O操作,而应仅包含内存中的操作[1]。
混乱落在了集成测试和功能测试中。 我应该在哪里放置FTP客户端测试套件? 集成测试可以容纳I / O操作[1],但是FTP客户端仅仅是一个模块,因此我应该将其置于功能测试之下吗?
也许我不能正确理解您的问题,但是对于您而言,我将创建两个测试套件,一个用于集成测试,一个用于功能。
在这种情况下,我可以为要使用要构建的客户端的API公开的FTP命令编写特定的集成测试。 例如,一种用于发送文件的测试,一种用于删除,重命名的测试,等等。
我将编写功能测试,以验证一些更复杂的用例,其中可能包括其他技术部分,例如,在Excel电子表格中列出的文件的大量上传(在这种情况下,也许我也可以针对“ Excel阅读”部分)
通过集成测试,您可以对必须管理自己不控制/不拥有的东西的代码模块充满信心:I / O是主要示例。
集成测试涉及面很广,可以涵盖广泛的“测试”。 就个人而言,基于以上内容,我将对模块进行整体集成测试,因为这是一项分立的工作。 如果随后要测试模块的使用方式,请进行系统(或功能)测试。
所有这些的关键在于确定您要测试的级别以及最适合该应用程序的级别。
可能在FTP模块上进行了一套不错的集成测试,足以证明该模块能够按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.