testing - 功能测试可以同时称为集成测试吗?

标签 testing

这是来自 zlib 的 example.c 的一部分。我最初想使用检查将此代码转换为单元测试,但后来我有点困惑:

这些测试是否低于功能测试?或者它们也可以称为集成测试或单元测试吗?

test_compress(compr, comprLen, uncompr, uncomprLen);
test_deflate(compr, comprLen);
test_inflate(compr, comprLen, uncompr, uncomprLen);
test_large_deflate(compr, comprLen, uncompr, uncomprLen);
test_large_inflate(compr, comprLen, uncompr, uncomprLen);
test_flush(compr, &comprLen);
test_sync(compr, comprLen, uncompr, uncomprLen);
comprLen = uncomprLen;
test_dict_deflate(compr, comprLen);
test_dict_inflate(compr, comprLen, uncompr, uncomprLen);

最佳答案

单元测试实际上也可以是集成测试。如果您的被测单元访问外部资源,那么它就是传统的集成测试。如果它访问其他单元,它也被许多人视为集成测试的一种形式(模块间,不要与组件间/服务/数据库集成混淆)。后者是您展示的情况 - 函数计算其他人随后使用并进一步转换的东西。

如果测试的目的是针对特定单元(例如功能),但顺便测试其他单元,那么它也有资格作为集成测试。但是,如果除了测试的预期目标(如果需要,对辅助功能使用 stub 或模拟)之外没有执行其他功能,那么它只是一个单元测试——而不是集成测试。两种方法都没有错;这完全取决于您打算实现的控制级别和范围宽度。调用的单元越少,您获得的控制越多,但测试的范围越小。

关于testing - 功能测试可以同时称为集成测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473996/

相关文章:

reactjs - 在 react material-ui 菜单中测试嵌套菜单项

testing - 在编写单元测试时,我应该如何处理函数中的外部依赖?

javascript - 在 nodejs express 应用程序中记录所有远程调用以进行测试

java - 如何测试java代码?

php - 我如何在 PHPSpec 中处理 Doctrine QueryBuilder?

sql-server - 如何在存储过程中将测试数据表作为参数传递

javascript - Protractor :在另一个步骤定义中调用一个步骤定义

unit-testing - 让测试使用 App Engine "High Replication Datastore"的模拟版本?

testing - 建立一个网络开发人员实验室用于学习目的

reactjs - React 测试库 - userEvent 上传到输入 : "cannot find toLowerCase"