白盒测试
什么是白盒测试
刚刚入门测试的时候,写过白盒测试,现在看起来就太简单了,根本构不成一篇博文。随着对测试理解的不断加深,个人任务,整个测试流程大致分为两个阶段:
1、由内到外测试
单元测试;
2、由外到内测试
冒烟测试(快速验证主要功能);
全面测试(功能+性能+安全等等);
探索式测试;
回归测试;
只不过,在实际的项目中,只有少数公司会严格实施 [由内到外测试]的单元测试。
为什么要做白盒测试
个人认为,相比其他测试,白盒测试能彻底解决编码阶段引入的问题。一个在项目中实际遇到的bug:人昵称有无特殊字符的字符串验证。当大量功能验证等着测试的时候,只依赖[由外到内测试],很难发现问题;而如果是依赖[由内到外]的单元测试,只需要正反两个用例就行了。
白盒测试,可以对单个小方法进行全方位的测试,这恰恰是其他测试方法做不到的。
ps:目前项目中,往往采用代码diff,代码review的方式,来代替白盒测试,但对发现bug方面的收效不大。
白盒测试难以实施的原因
归纳起来,三点:实施困难;效果差;成本>收益
具体原因:
1)实施困难(需要精通代码;开发人员通常没有时间实现)
2)产品不稳定,用例需要频繁维护(维护用例成本vs收益)
3)无用论:效果不佳,发现问题留于表面,深层次逻辑问题或接口问题发现不了;写1天的代码要用10天才能测完;发现的bug数量不多(相比集成测试,发现bug甚少,甚至为0)
4)不同员工做白盒测试,效果差别巨大:能力强的代码能力强,就是很少漏测,很少遗漏问题到后续阶段,能力差的,漏测总还很多(ps:根据实践经验,解决这个问题的最有效的措施是测试先行(TDD),对能力强的与能力弱的都一样)
实施白盒测试的硬性要求
目前个别实时白盒测试的公司,实施白盒测试的方案:
1)将白盒测试作为开发人员的KPI;
2)测试用例需要QA review等
白盒测试的效果评价
1)发现的bug数量(bug少或bug多说明什么;);
2)千行bug率(bug率说明什么;后续集成测试发现的问题多少);
3)代码覆盖率(想要覆盖率太容易了,关键在于检查点);
白盒测试的必要性
需要根据具体项目特点,判断是否有必要实施白盒测试:
1)如果项目偏后台服务性项目,可以考虑做/多做白盒测试;
2)如果项目有复杂的业务操作,大量的GUI页面,则应该偏重[由外到内的测试]
参考:
http://blog.csdn.net/wayne_chan/article/details/1736324
http://blog.csdn.net/wayne_chan/article/details/1325727
相关阅读
小白教程!!!win10如何安装Windows和Linux双系统??
最近升级了win10装了一块固态硬盘,决定装一个双系统玩玩,正好公司运维大哥没事干,在他的帮助下,加上上网看了看发现关于win10的双
一、软件生命周期 1、瀑布型生命周期模型 自相而下,相互衔接 1)问题的定义及规划 定义:确定软件的开发目的及其可行性。制定项目总
软件工程是一门研究用工程化方法构建和维护软件,并有效、实用的解决软件行业相关问题的软件学科。它涉及需求分析、程序设计、开发
针对 《windows程序设计》第5版 第14章 win7 64位,创建一个MFC 对话框 程序, 在界面添加一个 按钮和 一个 spin control 控件 效果
软件评测师是“全国计算机技术与软件专业技术资格”中级认证,于2018年11月10号考试。 软件评测师教程有近700页。主要分为三大部分