首页 > 软件测试/ 正文
高效单体测试
2012-10-14 00:01:52 ℃心细的程序员早测试并频繁测试。
单体测试。是不是我们会忽略一些让人讨厌的需求?我如果告诉你我们要从单体测试开始会如何?你也许会问,“我如何测试那些还没有写出来的代码啊?”我会回答,“单体测试就是用来确定你将要写的代码。”
在提到单体测试的时候很多程序员会变得紧张。我猜想他们可能会想着列出了每个方法并标有期望值和通过/失败日期的大表格。我会把这种的单体测试留给那些为取得美国食品药品局审批而努力的家伙。这很重要,但和大部分的编程项目无关。
单体测试会促进你所写的代码。某种意义上,它就是一个提醒你 “这部分代码干什么?”的小设计文档,或者是用面向对象的编程语言问“这些对象干什么?”。
构建单体测试的主要问题是范围。如果范围太窄,测试将微不足道的,这些对象也可能通过测试,但是就会缺少它们之间的交互。显然,对象的交互是面向对象设计的核心。
同样,如果范围太泛,很有可能不是所有新代码的每个组件都会被测到。程序员也只能被迫随机测测,这可不是有效的测试策略。
我喜欢从需求文档中描叙的某个功能开始,并进行分解直至到不需要单体测试的方法。这样,测试就根据主要功能分组并包括待测功能所需的尽可能多地单体测试。
你如何知道一个方法不需要单体测试?首先,它是否可以通过检查测试?如果代码简单到开发人员一眼就可以确认其正确性,那它就不需要单体测试。开发人员应该会知道这种情况。
单体测试通常在方法级别上定义,窍门就是在不能通过检查验证的方法上进行单体测试。通常涉及若干个对象的方法属于这种情况。能够隔离对象簇(Clusters of Objects)的单体测试则是“一箭双雕”。因为它们不仅可以测试失败点,还可以确认出代码相互关联的部分。但人们重看代码时会利用单体测试来发现哪些对象是关联的,哪些对象组成了对象簇。因此,单体测试可以为以后的开发人员隔离出对象簇。
另外一个良好的试金石是看代码是否抛出错误或捕捉错误。如果在一个方法内进行了错误处理,那么这个方法就有可能失败。通常,任何可能失败的方法都是进行单体测试的好的目标,因为如果它在某时失败,单体测试就会在那帮助你修复它。
不在所有方法上实施单体测试的风险就是可能覆盖不完整。不能仅仅因为我们没有显式地测试所有的方法就意味着那些方法可以不经过测试。程序员必须意识到他们的单体测试在可以覆盖所有代码的基本功能性需求的时候。心细的程序员会认识到当他们确认其单体测试可以覆盖组成应用的每个对象簇的时候就完整了。
相关链接:
给软件工程师的12条单体测试的建议
- 上一篇:为什么脚本化测试不适合新手
- 下一篇:敏捷——测试先行方法介绍
更多java培训机构,安卓系统入门培训,安卓培训凤凰教育,安卓开发培训,北大青鸟安卓培训,安卓系统培训教材相关文章
- 软件测试脚本经验分享
- 三年软件测试总结记
- 测试驱动开发的感悟
- 收集Android程序测试代码覆盖率
- 软件测试流程
- 软件测试入门
- 软件测试领域架构
- 谷歌如何做软件测试?——第六部分
- 关于QA的三个成长阶段
- 测试尺度的把握
- 软件质量保证框架
- 评审技术在高质量软件开发中的应用分析(下)
- 作为测试Leader如何保证测试的质量?
- 软件测试中容易遗漏的问题
- 质量管理杂谈
- 通过测试并不能保证质量
- 软件项目质量管理实战总结(下)
- 软件测试工作怎么样
- 规范软件测试流程
- 网络邮箱格式怎么写 教你怎么写网络邮箱格式
- 苹果快捷键使用技巧
- iphone4 home键失灵
- 系统知识:C盘巨大的文件是什么
- 智能手机刷ROM是什么意思
- 电脑机箱的作用
- 超极本是上网本或者轻薄本的升级版吗?
- Windows XP 传真功能详解
- 2016年最热门 IT 职业岗位有哪些呢?
- 信阳软件开发培训学校有哪些呢
- 搜索
-
- 热门标签