(4)编码规范
程序编写过程中必须遵守的规则,规定代码的语法格式、语法规则,如排版、注释、标识符命名、可读性、变量、函数、过程、可测性、程序效率、质量保证、代码编辑、编译、审查、代码测试、维护、宏等各方面的编码要求
(5)代码检查规则
对程序逻辑结构检查时,所规定的规则,形成
(6)缺陷检查表
主要包括一些容易出错的地方和在以往工作中遇到的典型错误,形成表格形式
重要性 审查项 结论
文件结构 重要 头文件和定义文件的名称是否合理
2.静态结构分析法
在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图等各种图形图表,清晰地标识整个软件的组成结构,便于理解,通过分析这些图表,检查软件有没有存在缺陷或错误;包括控制流分析、数据据流分析、接口分析、表达式分析
(1)函数调用关系图:通过应用程序各函数之间的调用关系展示了系统的结构。列出所有函数,用连线表示调用关系,作用:
● 可以检查函数的调用关系是否正确
● 是否存在孤立的函数而没有被调用
● 明确函数被调用的频繁度,对调用频繁的函数可以重点检查
(2)模块控制流图:由许多结点和连接结点的边组成的图形,其中每个结点代表一条或多条语句,边表示控制流向,可以直观地反映出一个函数的内部结构。
* 例子1-GIS软件:存在无法执行的死代码;有多个出口,可能没有在所有出口进行内存释放与回收,有内存泄露的可能
* 例子2-MIS软件:有多个出口,存在内存泄露的可能;有10逻辑判断结点,易出现逻辑错误,降低可靠性,可能会破坏对CPU操作进行优化的处理,影响其运行性能
3.静态质量度量法
(1)软件质量:根据ISO/IEC9126 国际标准,包括以下六个方面:
● 功能性(functionality)
● 可靠性(reliability)
● 可用性(usability)
● 有效性(efficiency)
● 可维护性(maintainability)
● 轻便性(portability)
(2)质量度量模型(从上到下)
● 质量因素(Factors):与分类标准的计算方式相似,依据各分类标准取值组合权重方法来计算,依据结果将软件质量分为四个等级,与分类标准等级内容相同
● 分类标准(criteria):对某一软件质量分为不同的分类标准,每个分类标准由一系列度量规则组成,每个规则分配一个权重,每个分类标准的取值由规则的取值与权重值计算得出,依据结果将软件质量分为四个等级:
v 优秀(excellent):符合本模型框加中的所有规则(可以接受)
v 良好(good):未大量偏离模型框架中的规则(可以接受)
v 一般(fair):违背了模型框架中的大量规则(可以接受)
v 较差(poor):无法保障正常的软件可维护性(不可以接受)
● 度量规则(Metrics):使用代码行数、注释频度等参数度量软件各种行为属性