论文部分内容阅读
软件测试是保证软件质量和软件可靠性的重要手段,但随着软件规模的不断扩大,复杂度的不断提高,以及面向对象程序设计方法和工具的使用,软件测试的难度也进一步加大,测试质量更加难以度量。
软件内建自测试正是针对测试难的问题而提出的,其理论基础是软、硬件测试一致性。它将硬件测试中内建自测试的思想移植到软件测试和软件可测性设计中。内建自测试在硬件测试和可测性设计上已是一个成熟的技术,利用这个成熟的技术到软件测试中去可以大大降低软件测试的复杂度,提高可测性。借鉴硬件内建自测试的设计,软件内建自测试提出在软件开发阶段预先埋入测试信息,这些信息通过程序开发人员与模板交互得到并保存在模板中,然后编写程序自动从模板导出测试用例,自动运行测试用例进行测试。系统基本结构包括测试点、模板和自测试部分,模板中建立了该程序测试需要的数据;测试点负责向模板中写入测试需要的数据;自测试部分根据模板信息生成测试用例;最后由测试程序完成测试功能。
作为该项目的一部分,本论文主要讨论:软件内建自测试系统中模板的设计、测试步骤以及整体构建方法。论文首先研究了模板的概念、模板的内容、模板内容的组织、模板与程序员的交互、模板的管理和模板的参数评估等内容。详细介绍了模板内容的获取,首先分析了C/C++语言中六类常见的故障,包括:变量未初始化故障、空指针、数组越界故障、内存泄漏、内存操作的未定义故障和编译器本身不足的故障,并介绍了根据故障模型静态检测故障和设计模板函数动态检测故障,给出了检测故障的算法。讨论了软件内建自测试系统中单元测试、集成测试和回归测试,引入关键模块,并对关键模块的量化作了详细的介绍;同时详细介绍了以关键模块为核心的单元测试和集成测试。文中还介绍了软件内建自测试系统的代码规范检测,模板和测试点、测试用例之间的接口以及测试用例和测试点的管理方式,测试用例的生成、运行测试用例并最终生成测试报告等内容。
最后,本文介绍软件内建自测试系统在实际中运用的效果,给出几中故障,然后利用软件内建自测试系统进行检测。说明软件内建自测试系统的可行性,验证了软件内建自测试思想的正确性。