静态结构分析法
被考次数: 1次
被考频率: 低频率
答错率:    46%
知识难度:
考试要求: 掌握     
知识路径:  > 测试技术的分类  > 白盒测试技术  > 白盒测试方法


本知识点历年真题试卷分布
>> 试题列表    
 

 
       程序的结构形式是白盒测试的主要依据。研究表明程序员38%的时间花费在理解软件系统上,因为代码以文本格式被写入多重文件中,这是很难阅读理解的,需要其他一些东西来帮助人们阅读理解,如各种图表等,而静态结构分析满足了这样的需求。
       在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图表,可以清晰地标识整个软件系统的组成结构,使其便于阅读与理解,然后可以通过分析这些图表,检查软件有没有存在缺陷或错误。
       其中函数调用关系图通过应用程序中各函数之间的调用关系展示了系统的结构。通过查看函数调用关系图,可以检查函数之间的调用关系是否符合要求,是否存在递归调用,函数的调用层次是否过深,有没有存在孤立的没有被调用的函数。从而可以发现系统是否存在结构缺陷,发现哪些函数是重要的,哪些是次要的,需要使用什么级别的覆盖要求……
       模块控制流图是与程序流程图相类似的由许多节点和连接结点的边组成的一种图形,其中一个节点代表一条语句或数条语句(图中的各种图形符号代表不同的意义),边表示节点间的控制流向,它显示了一个函数的内部逻辑结构。如下图一所示是测试工具Logiscope所使用的基本图例,如下图二(a)、(b)、(c)所示是典型逻辑结构所对应的控制流图基本结构。
       
       Logiscope基本图例
       
       控制流图基本结构
       模块控制流图可以直观地反映出一个函数的内部逻辑结构,通过检查这些模块控制流图,能够很快发现软件的错误与缺陷。
       例如:如下图所示是某GIS软件中某个函数的模块控制流图。
       
       GIS模块控制流图
       该函数的结构存在重大缺陷:首先,我们可以看到在该函数中存在无法执行的死代码,即图中最右边的孤立出口。其次,该函数有多达8个出口,其中一个属于无法到达的出口。由于可能没有在所有的出口进行动态内存的释放与回收操作,因此这样的结构存在内存泄漏的可能。
       如下图所示是某MIS软件中某个函数的模块控制流图。
       
       MIS模块控制流图
       该函数的结构也同样存在重大缺陷:
       首先,该函数有多个出口,存在内存泄漏的可能。其次,该函数结构复杂,有超过10个逻辑判断结点,在这些结点上出现逻辑错误的概率将大大增加,将降低其可靠性,而且过多的逻辑判断结点可能会破坏对CPU操作进行优化的处理,影响其运行性能。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有