欢迎来到天天文库
浏览记录
ID:59319034
大小:17.50 KB
页数:2页
时间:2020-09-05
《质量指标和度量方法及质量保障计划.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、质量指标及其度量方法:1.SLOC(SourceLinesofCode,源代码行) 计算代码行数可能是最简单的衡量指标,主要体现了软件的规模,并为项目增长和规划提供了相关数据。可以只统计逻辑代码行(SourceLogicalLineofCode,SLLOC),这样可以获得稍准确的信息。逻辑代码行不包含空行、单个括号行和注释行。可以使用Metrics等工具来统计。2.每个代码段/模块/时间段中的bug数 要想实现更好的测试以及更高的可维护性,bug跟踪是必不可少的。每个代码段、模块或时间段(天、周、月等)内的bug可以很容易通过工具统计出来(如
2、Mantis)。这样,可以及早发现并及时修复。为了更好的实现评估,可以根据重要性和解决成本将bug划分为低、中、高三个级别。度量这个质量指标时应根据bug等级和数量来进行全面统计和分析。且不能只看bug数量或忽视bug的等级。3.代码覆盖率 在单元测试阶段,代码覆盖率常常被拿来作为衡量测试好坏的指标,也用来考核测试任务完成情况。可以使用的工具也有很多,如Cobertura等。代码覆盖率并不能代表单元测试的整体质量,但可以提供一些测试覆盖率相关的信息,可以和其他一些测试指标一起来使用。此外,在查看代码覆盖率时,还需注意单元测试代码、集成测试场景和结
3、果等。度量时利用工具检查死代码出现次数和比率,统计出代码覆盖率。4.设计/开发约束 软件开发中有很多设计约束和原则,其中包括:类/方法的长度;一个类中方法/属性的个数;方法/构造函数参数的个数;代码文件中魔术数字、字符串的使用;注释行比例等。代码的可维护性和可读性是很重要的,我们应选择以上这些原则中的一个或全部,并通过一些自动化工具(如mavenpmd插件)来遵循这些原则,这将大大提高软件产品的质量。5.圈复杂度(CyclomaticComplexity) 圈复杂度是用来衡量一个模块判定结构的复杂程度,已经成为评估软件质量的一个重要标准,能帮助开
4、发者识别难于测试和维护的模块,在成本、进度和性能之间寻求平衡。圈复杂度数量上表现为独立路径的条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护。圈复杂度可以使用pmd工具来自动化计算。这个指标是以图论为基础的,通用的公式是“边减去节点再加上未连接部分的2倍”圈复杂度低于10的软件是非常简单且很容易跟踪的,所以我们在度量我们的软件是否合格时应注意圈复杂度是否在10以内。二、质量保障计划下面分别对我们要进行约束的质量属性来进行质量保障的计划:1.SLOC在进行编码实现阶段,对编程人员提出要求,尽量简化代码,
5、在生产阶段进行产品制作上的精简。后期评估软件质量时若发现代码行数过于巨大,则考虑查看文档在逻辑上简化代码后进行部分功能代码的重新编写,或者删除非必要功能的代码。2.每个代码段/模块/时间段中的Bug数要求编程人员按照统一标准来进行代码编写,接口或参数等需要进行不同人员任务间有交互的代码部分进行提前讨论确定并严格按讨论结果进行编程。后期若程序bug依旧存在不能解决则考虑该部分代码重写。3.代码覆盖率严格要求设计之初的代码模块逻辑的准确性,确保不会出现逻辑上的不执行模块。后期用工具检查死代码,并进行相关处理。4.设计/开发约束保持对文档的详细记录和维
6、护,确保在出现问题是有据可依,确保代码的可维护性及可读性。代码编写时强调统一规范,确保代码可读性。5.圈复杂度在前期功能模块划分和设计上尽量减少模块间循环执行的可能性,或者在出现不可避免的重复调用模块时简化该类调用的必须功能,换而言之即简化被重复调用的功能模块的内容,设计这类模块为简单功能模块或模块组合,简化代码测试、维护和阅读的难度。
此文档下载收益归作者所有