内容简介:最近一期的《声临其境》中,窦骁使用纯正英语、印度式英语、泰国英语和国语等几种语言撩妹,场面一度非常火爆。窦骁也被称为新的宝藏男孩。在我们软件工程中,缺陷数据也是一个宝藏。
最近一期的《声临其境》中,窦骁使用纯正英语、印度式英语、泰国英语和国语等几种语言撩妹,场面一度非常火爆。窦骁也被称为新的宝藏男孩。
在我们软件工程中,缺陷数据也是一个宝藏。
软件工程非常重视数据的收集、统计和分析,高等级的CMMI/GJB5000都会要求有定量的统计和分析做支撑。在这些数据当中的缺陷统计分析数据,对于软件公司来说非常有意义。通过缺陷数据的分析,可以帮助我们获得测试缺陷率、缺陷去除效率等指标,也可以完成质量评估、质量预测、缺陷预防等目标。毫不夸张地说,缺陷数据就是一个宝藏。
-
简单应用
但是我们通常对这个宝藏的开发和利用非常少。常见的从缺陷数据中获取验收测试或第三方测评的缺陷率作为衡量软件质量的指标,这仅仅开发出这个宝藏的冰山一角。
-
初级应用
通过缺陷的等级分布和引入阶段的分布的统计分析,可以更深入的评价软件的质量(比如当严重的缺陷所占的比率越大,就意味着软件的质量越差),也可以通过对缺陷的引入阶段分析,确定该阶段哪些缺陷去除方法未能发挥作用,从而采取相应的补救措施。
-
分类汇总
还可以通过对缺陷类型的分类汇总,总结出常见的缺陷类型,并将其纳入组织的评审/测试/静态分析的检查单中,从而提高这些缺陷去除方法的绩效。
美国系统网络安全协会就致力于对源代码中缺陷类型的研究。2009年在他的一份报告中给出了25种常见的缺陷类型以及每种缺陷的详细信息、常见形式、预防方法等内容。
这些缺陷类型包括:
交互领域
1.输人数据缺乏验证
2.输出信息未经加密
3.SQL查询的结构
4.网页页面结构
5.操作系统命令的结构
6.敏感数据的公开传输
7.伪造不同网站间的访问请求
-
竞争条件 9.错误信息中的漏洞
资源管理领域
10.无限制使用内存缓存
11.状态数据失去控制
12.对路径和文件名缺乏控制
13.危险路径
14.未进行源代码版本控制
15.使用未经验证的里用代码
16.未经检查即释放资源
17.初始化信息末加验证
18.计算错误
防护漏洞
19.缺乏用户验证和访问控制
20.加密算法强度不足
21.使用“硬编码”设置和储存密码
22.危险的权限分配
23.随机化算法强度不足
24.系统特权的随意发布和滥用
25.客户机/服务器模式中的安全失误
在这些缺陷类型当中,有很多类型是网络软件特有的,也有很多类型在我们的一些军用软件当中也存在。
笔者通过对组织内的测试缺陷的统计分析也验证了这一点。
缺陷类型 | 示例 |
---|---|
输入数据缺乏验证的问题 | 比如程序对接收的数据没有进行长度判断。 |
状态数据控制的问题 | 比如状态灯显示错误。 |
初始化信息中未加验证问题 | 比如自检功能的提示信息缺失。 |
…… | …… |
还有一些缺陷类型未在上述25种类型中出现,比如异常处理带来的问题(悄悄地说,这也暴露出组织的软件容错设计需要完善)。
组织完全可以通过对自己的缺陷数据的统计分析来形成自己的缺陷类型库,以指导组织的设计、实现和测试。
-
质量预测和控制
通过缺陷数据的统计分析,还可以获得缺陷去除效率,结合组织对软件的分类方法积累的经验数据,可以帮助组织进行质量评估预测和控制。
所以组织应当不断积累、壮大、丰富自己的缺陷数据库,并从这个宝藏中不断挖掘出各种有用的信息,以改进组织的开发过程提高组织的软件工程能力和研发水平。
其实所有实施CMMI/GJB5000三级的组织都会开始形成组织的资产库,积累组织自己的数据,但是采集的数据要挖掘出它的使用价值,不能一味的收集而不去分析和利用。
这正是:
宝山原本在身边,入了宝山不空还。
缺陷挖出新价值,纵是金山也不换。
以上所述就是小编给大家介绍的《缺陷数据就是个宝藏》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Python 进阶之路 (七) 隐藏的神奇宝藏:探秘Collections
- 从0到1创建高效的产品缺陷管理流程(1):缺陷是什么? 如何建立缺陷管理流程?
- 为什么说缺陷去除效率比测试缺陷率更适合软件质量度量?
- 修复缺陷的正确姿势
- 网站用户宝典:25个缺陷跟踪工具
- 【缺陷周话】第二期 :SQL 注入
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。