如何辩解那些不写单元测试的理由
作者:网络转载 发布时间:[ 2011/11/22 10:32:25 ] 推荐标签:
但是现在假设你编写了下面这些代码:
public void Addit(Object anObject) {
List myList = new List();
myList.Add(anObject);
myList.Add(anObject);
// more code...
}
你是否想加同一个对象到相同list 两次呢?或许是,或许不是。这一点来说,编译器并不能告诉你,只有你知道你期望代码完成什么样的功能(对于哪些基于你现有代码生成测试代码的自动化测试工具,同样会陷入这个陷阱??它们只会使用你编写的代码,而不是你期望的代码)。
● 公司请我来是为了写代码,而不是写测试
如果使用同样的逻辑,那么我们可以说:公司付给你薪水,并不是让你整天都在调试代码。显然,公司付给你薪水是为了让你编写产品代码,而单元测试大体上是一个工具,是一个和编辑器、开发环境、编译器等处于同一位置的工具。
● 如果我让测试员或者QA(Quality Assurance)人员没有工作,那么我会觉得很内疚
你并不需要担心这些。请记住,我们在此只是谈论单元测试,而它只是一种针对源码的、低层次的,为程序员而设计的测试。在整个项目中,还有其他的很多测试需要这些人来完成,如:功能测试、验收测试、性能测试、环境测试、有效性测试、正确性测试、正规分析等等。
● 我的公司并不会让我在真实系统中运行单元测试
Whoa!我们所讨论的只是针对开发者的单元测试。也是说,如果你可以在其他的环境下(例如在正式的产品系统中)运行这些测试的话,那么它们不再是单元测试,而是其他类型的测试了。实际上,你可以在你的本机运行单元测试,使用你自己的数据库,或者使用mock 对象。
如果QA 部门或者其他测试人员希望在产品或者其他阶段运行这些测试的话,你可以调整一些技术细节,从而使他们也可以运行一些测试;但是同时要让他们清楚,这些调整后的测试已经不再是单元测试了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11