论文部分内容阅读
软件测试是软件质量保证的重要内容,随着软件规模的不断扩大,复杂程度的不断提高,以及面向对象程序设计方法和工具的使用,软件测试的难度也进一步提高,测试质量更加难以度量。以往的软件测试多采用在开发完成后独立的手工生成测试用例,人为的运行程序,比较运行结果和预期结果的手工测试。但是,软件规模越来越大,这种测试效率太低,成本太高。事实说明,在软件测试阶段投入的成本往往要占软件开发总成本和总工作量的一半,甚至还多。在这种情况下越来越多的专家开始研究软件自动测试。
软件内建自测试摈弃了传统的手工测试方法,提出在软件开发阶段预先埋入测试信息,这些信息通过程序开发人员与模板交互得到并保存在模板中,然后编写程序自动从模板导出测试用例,自动运行测试用例进行测试。本论文主要讨论模板的设计和软件内建自测试系统的整体构建方法。
论文提出了软件测试中故障模型的概念并阐述了其特点,研究了几种典型的故障模型的检测算法,并将这些检测算法以动态链接库的形式提供给程序员和测试人员。这些动态链接库函数和测试点(CheckPoint)的插装函数一起成为软件内建自测试系统基本的API函数,程序员在编程时和测试人员在测试时可以根据需要动态的插入这些函数来测试某种或几种故障类型。最后软件内建自测试系统的自测试部分根据从这些函数中得到的信息自动生成测试用例,完成软件测试。论文还研究了模板的概念、模板的内容、模板内容的组织、模板与程序员的交互、模板的管理和模板的参数评估等内容。详细设计了模板的数据结构,讨论了模板如何与软件内建自测试其它功能模块相互作用来完成测试的运行机理。而且,将模板中内容的存储最终实现为一个SQL2000中的数据库,并提供了模板管理系统来管理对数据库中模板内容的访问。提出了根据软件故障模型和软件测试策略来建立模板的方法,并给出了科学计算程序模板的实现过程。
论文还讨论了CPPUNIT单元测试框架,并提出了包装类的概念,利用包装类和模板并借助CPPUNIT测试框架就可以将软件内建自测试的思想应用到面向对象程序的单元测试中,并可以实现结构化程序和面向对象程序测试的一致性。
最后论文根据以上理论的指导,为科学计算程序建立了一系列的模板,并建立了一个可以无缝的与VISUALSTUDIO.NET集成开发环境相互结合的模板插件,该插件可以在程序员编程时为其提供模板的内容,使其可以在编程时就将测试代码插入到源代码中,以减少其犯某些常见错误的概率。