论文部分内容阅读
基于构件的软件开发技术的迅速发展,给软件测试带来了很大的变革,使得基于构件的软件测试成为人们研究的热点。由于构件化软件本身的特点,使构件化软件集成测试与传统软件集成测试相比,有很多的不同点。集中体现在构件开发规范的混杂性和源代码不可知性,不能直接采用白盒测试把系统的组成单元进行充分且状态可见的测试。对于这些问题,当前国内外研究组织已经做了大量的研究工作,并提出了很多的测试理论和测试方法。但是有些理论和方法与特定的构件开发规范相关,因而不具有普遍性,有些理论和方法实现起来比较复杂没有形成行业标准,例如,BIT方法,基于行为协议的构件行为验证方法等。因此业界需要一种具有普遍性,易实现性且能满足测试要求的构件化软件集成测试工具。构件化软件集成测试可以分为静态分析和动态测试两部分。然而现有的静态分析或测试工具,大多数是面向对象或结构化软件系统的。并且这些测试工具无法提供静态分析的中间结果信息或提供规范的可以利用的中间结果信息,从而无法得到动态测试需要的测试信息。本文通过采用反射机制扩展了传统的软件静态分析方法,通过反射机制能自动提取源代码不可知的第三方构件的测试信息,使用XML进行存储,并以构件交互图的方式呈现构件之间的交互关系。然后在静态分析结果的基础上进一步研究配置体系,使得构件化软件集成测试达到可配置的目的。使测试文档是机器可读的,并且当测试用例和测试策略发生变化时不需要更改测试代码,而是通过改变XML文档内容就能达到目的的效果。另外,在本文采用的方法基础之上,辅助开发了构件化软件静态测试工具,来验证这种方法的效果。这个工具有三个部分组成:测试输入、源代码分析处理、测试输出。其中源代码分析处理是核心部分,采用正则表达式模式匹配的方式词法分析可知的源代码,对于源码不可知以DLL形式发布的.NET构件使用反射模块进行反射提取测试要素,并给出了该工具的分析结果。