一、软件测试缺陷产生的原因
在大多数测试人员的认知里,软件测试缺陷产生的原因是开发的代码有问题,但通过调研、总结、分析,令人感到奇怪的是,我们发现大多数软件缺陷不是因为编程错误而产生的。从小程序到大项目的无数研究得出了一个一致的结论:导致软件缺陷的根本原因在于需求规格说明书,软件缺陷的原因占比如下图:
二、测试覆盖率不满足要求,残留缺陷过多
测试覆盖率不足,可不仅仅是测试设计不够,因素有很多,如下:
- 测试设计有误
- 测试资源不够
- 测试管理欠缺
- 需求管理有缺陷
- 评审不够
- 配置管理不严格
三、ISO/IEC25010产品质量模型
国际标准组织于2011年3月发布了ISO/IEC25010软件质量评价标准,其中描述了两种模型:使用质量模型和产品质量模型,产品质量模型的特性如下:
- 功能适用性:功能完整性,功能正确性,功能适当性
- 兼容性:时间特性、资源利用率、容量
- 易用性:适合性、可变任性、易学习性、易操作性、用户错误防御、用户界面美观、可访问性
- 可靠性:成熟性、可用性、容错性、易恢复性
- 安全性:保密性、完整性、不可否认性、可归责性、真实性
- 可维护性:模块性、可复用性、易分析性、易修改性、易测试性
- 可移植性:适用性、易安装性、易替换性
四、软件测试发展历史
迄今为止,软件测试的发展一共经历了5个重要的时期:
- 1957年之前——调试为主:开发人员一人承担需求分析、设计、开发、测试等所有工作。
- 1957~1978年——证明为主:确保程序解决了它该解决的问题
- 1979~1982年——破坏为主:为发现错误而执行程序的过程,不仅要证明软件做了该做的事情,还要保证它没做不该做的事,这会使测试更加全面,更容易发现问题。
- 1983~1987年——评估为主:软件测试工程在在此时期得到快速发展,出现测试经理和测试分析师等岗位
- 1988~至今——预防为主:当下软件测试主流思想之一。
欢迎添加V芯:lebotest , 领取软件测试大礼包,年终版精品公开课视频课程(152G), 内容涵盖功能、性能、自动化、接口、求职面试、简历等。