德州建设街小学网站,全国工商企业查询官网,做网站找哪家好熊掌号,中铁建设集团门户网站在软件开发中#xff0c;软件质量是衡量软件是否符合需求、标准的重要体现。除了
代码质量外#xff0c;影响软件整体质量的因素还有很多。因此#xff0c;要确保软件的整体质量#xff0c;就需要在各个环节严格控制。本文列出了衡量软件质量的5个最常用的指标。1. SLOC软件质量是衡量软件是否符合需求、标准的重要体现。除了
代码质量外影响软件整体质量的因素还有很多。因此要确保软件的整体质量就需要在各个环节严格控制。本文列出了衡量软件质量的5个最常用的指标。1. SLOCSource Lines of Code源代码行计算代码行数可能是最简单的衡量指标主要体现了软件的规模并为项目增长和规划提供了相关数据。例如如果每月统计一次代码的行数就可以绘制一个项目发展概览图。当然由于存在项目重构或是设计阶段等因素这种方式并不太可靠但是可以为项目的发展提供一个视角。可以只统计逻辑代码行Source Logical Line of CodeSLLOC这样可以获得稍准确的信息。逻辑代码行不包含空行、单个括号行和注释行。可以使用
Metrics工具来统计。代码行数不应该用来评估开发者的效率否则可能会产生重复、不可维护的或不专业的代码。2. 每个代码段/模块/时间段中的bug数要想实现更好的测试以及更高的可维护性bug跟踪是必不可少的。每个代码段、模块或时间段天、周、月等内的bug可以很容易通过工具统计出来如
Mantis。这样可以及早发现并及时修复。Bug数可以作为评估开发者效率的指标之一但必须注意如果过分强调这种评估方法软件开发者和测试者可能会成为敌人。在生产企业中要保证员工彼此之间的凝聚力。为了更好的实现评估可以根据重要性和解决成本将bug划分为低、中、高三个级别。3. 代码覆盖率在单元测试阶段代码覆盖率常常被拿来作为衡量测试好坏的指标也用来考核测试任务完成情况。可以使用的工具也有很多如
Cobertura等。代码覆盖率并不能代表单元测试的整体质量但可以提供一些测试覆盖率相关的信息可以和其他一些测试指标一起来使用。此外在查看代码覆盖率时还需注意单元测试代码、集成测试场景和结果等。4. 设计/开发约束软件开发中有很多设计约束和原则其中包括类/方法的长度一个类中方法/属性的个数方法/构造函数参数的个数代码文件中魔术数字、字符串的使用魔术数字指直接写在代码中的具体数值其他人难以理解数字的意义注释行比例等 代码的可维护性和可读性是很重要的开发团队可以选择以上这些原则中的一个或全部并通过一些自动化工具如
maven pmd插件来遵循这些原则这将大大提高软件产品的质量。5. 圈复杂度Cyclomatic Complexity圈复杂度是用来衡量一个模块判定结构的复杂程度已经成为评估软件质量的一个重要标准能帮助开发者识别难于测试和维护的模块在成本、进度和性能之间寻求平衡。圈复杂度可以使用
pmd工具来自动化计算。圈复杂度数量上表现为独立路径的条数即合理的预防错误所需测试的最少路径条数圈复杂度大说明程序代码可能质量低且难于测试和维护。计算公式为Cyclomatic Complexity E - N 2PE边代表节点间的程序流N节点程序中代码的最小单元P出口节点上图中共8条边7个节点因此圈复杂度为8 - 7 2*13。可以看出从最左边的节点到最右边的节点有3条不同的路径。在项目开发中可以根据项目类型来定义上限数6、8或10等。以上是最常用的5种软件质量度量指标当然还可以结合其他的指标对项目有一个更清晰的认识。