论文部分内容阅读
全球信息化快速推动了中国软件产业的不断发展,极大地促进了软件测试业的进步,但在软件测试的认识、软件测试技术、软件测试商业化等方面,目前中国的软件测试业与欧美还存在很大差距。国内许多IT公司只是注重编码实现,忽略了软件测试在整个工程中的重要性。从整个软件开发生命周期的角度来看,将来软件测试应该跨越整个软件开发生命周期,并起着至关重要的作用。 本文基于当前流行的Clang编译器前端,在抽象语法树生成的过程中运用不同的规则标识各语句结构,同时进行中间结构的改造以及块结构的校正,得到相应的、赋有实际意义的代码块,形成一个有效的、高正确性的程序结构分析器。分析的结果将服务于可视化图式的生成,主要包括展示各个类、函数之间程序逻辑关系的框图和用于显示软件系统结构(模块之间调用关系)的模块结构图等。同时将代码分块的设计过程扩展到插桩点的生成中,便于双向自动可追溯机制的研究,用于需求文档、实现代码、测试用例之间的关联性呈现;减少软件修改后回归测试的盲目性;提高测试覆盖率分析结果的可靠性。 本文提出基于源码的程序结构分析和代码分块的方法,为软件测试理论到实践的应用打下了一个坚实的基础。通过对程序结构分析器的设计,更重要的为实现一个完整的既有理论基础又可以达到商业目的的、综合性的白盒测试工具奠定坚实的底层数据支持。