基于Linux平台的单元测试框架的研究

来源 :北京邮电大学 | 被引量 : 1次 | 上传用户:q157194179
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
单元测试是软件测试的最初阶段,做好充分有效的单元测试可以显著地降低软件测试成本,提高软件质量。代码测试系统(Code Testing System,CTS)是一个针对C语言的自动化测试系统,其核心功能之一是单元测试。CTS在Windows平台上只能测试简单的单个C程序,但是大多C语言工程都包含多个C文件,而且针对的是Linux平台。所以需要将CTS从Windows平台移植到Linux平台。  CTS从Windows平台移植到Linux平台,主要存在的问题有:1)在Linux平台上,由于实际C语言工程中源文件和头文件之间依赖关系复杂,CTS不能正确地对被测文件进行预处理,导致模块划分通过率较低,造成CTS无法测试。2)原有的测试用例执行模块无法在Linux平台上运行。  本文对Linux平台自动化单元测试框架的搭建进行了深入研究,对上述问题,提出了解决方案:1)对Linux平台C语言工程中负责配置依赖关系的Makefile文件进行自动修改,使得CTS在利用Makefile文件编译整个工程时,能够保存编译过程中产生的预处理文件,解决了C语言工程中文件预处理的问题,提高了模块划分通过率;2)利用Linux平台C语言线程调用接口以及setjump和longjump函数完成了测试用例执行模块搭建,实现了在Linux平台对测试用例执行的控制,包括死循环捕获和异常处理。  进一步的,本文改进了CTS的打桩模块:提出函数抽象内存模型和自适应打桩算法。在变量抽象内存模型的基础上,建立了函数抽象内存模型,并利用自适应打桩算法对路径进行分析,将分析结果保存在抽象内存模型中。利用分析结果,能够为路径上的函数自动生成满足路径约束条件的桩函数。  实验结果表明本文提出的方法能够有效提升对实际工程模块划分通过率,保障测试过程顺利进行。实例分析说明面向路径的自适应打桩技术能为路径上的函数自动生成满足路径约束条件的桩函数。
其他文献
作为计算机软件的核心,操作系统的安全对于所有的计算机软件来说都至关重要。但是由于操作系统的规模非常庞大,而且结构极其复杂,这使得操作系统的安全问题存在非常多的不确
论文首先给出了时间自动机的定义及相关符号,然后对使用等价类方法构造区域自动机的描述进行了算法实现。该算法的空间复杂度是状态数目的几何级扩张。对上述算法做进一步改进
金融多媒体自助服务系统(Finance—Multimedia Auto-ServiceSystem)作为自助银行的重要组成部分与自动取款机(ATM)、自动存取款机(CRS)联合使用即可构成一个小型自助银行,越来越受到