我想知道你们是否有任何好的读物来考虑将什么分类为单元测试/验收/集成测试。我有以下场景,我们在工作中就是否应该在单元测试中进行了一些辩论:
在我们的数据访问层,有些语句使用了sql比如“select * from people where id IN('x','y'),其中IN语句是根据输入动态生成的。最近发现我们的Oracle数据库IN 语句中的变量限制为 1000 个。
我个人认为这不是一个单元测试场景。我们在单元测试中测试sql是否适用于数据库以及逻辑是否正确。然而,压力测试应该在更高的层面上进行。
如果我们要在单元测试中使用 1000 条记录进行测试,则每次都需要向数据库填充大量记录,这可能会导致效率低下。
有什么建议吗?
关于您的特定示例,您实际上应该考虑对其进行两次测试:
- 第一个是单元测试,将检查您的函数是否可以接受需求所请求的最大数量的输入。如果其中未指定任何内容,请要求分析师进行澄清。像这样动态生成的请求之后调试起来很痛苦。
- 第二个是压力测试。但它不应该在代码的这个特定部分上执行,而应该在将使用它的集成部分上执行。如果你开始对单元块进行压力测试,你最终会进行过早的优化,因为你会失去大局,并开始假设它如何协同工作,而不是观察它的实际情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)