法律状态公告日
法律状态信息
法律状态
2016-08-10
未缴年费专利权终止 IPC(主分类):G06F11/36 授权公告日:20060329 终止日期:20150624 申请日:20020624
专利权的终止
2006-03-29
授权
授权
2004-03-10
实质审查的生效
实质审查的生效
2004-01-07
公开
公开
2002-10-23
实质审查的生效
实质审查的生效
技术领域
本发明涉及测试软件在完成测试工作后测试报告的实现方法,特别涉及一种通用测试报告的实现方法。
背景技术
测试工具软件对被测试系统进行测试的一般流程如图1所示,在一个测试过程中,需要测试多个测试项,每一个测试项测试结束之后都有一个测试项结果,该结果需要保存下来以便最后进行分析总结并生成测试报告。采用什么方式和技术纪录每一个测试项的测试项结果以及从这些测试项结果中生成最终的测试报告文件,是不同的测试报告模块的性能差异的原因所在。
现在的商用软件测试工具中,存在多种解决方案来记录测试项结果和生成测试报告,其中较好的技术方案如:
方案一:使用数据库技术来记录测试项结果,并且从数据库中直接生成报表,该报表就是最终的测试报告。该方案的原理图如图2所示,该方案中,数据库一般采用小型的桌面数据库系统,比如FoxPro以及Access等。在测试过程中,所有的测试项结果数据作为一个记录被加入到数据库中。测试完成之后,使用数据库自带的报表生成器就可以从数据库中生成测试报告。如果数据库没有报表生成器,可以采取数据库提供的编程接口(ODBC等)从数据库中查询测试项结果数据,然后将这些数据组织进一个测试报告文件中。
该方案中,测试项结果的收集和最终测试报告的生成分成了明显的两个步骤:首先在测试过程中,将测试项结果写入数据库;其次在测试结束后,从数据库中查询数据,生成测试报告。
方案二:在测试过程中,将每一个测试项结果直接格式化成为最终用户能够理解的格式,然后写入一个特定格式的文件(文本文件,Html文件或者Word文件等)。该方案的原理如图3所示。在该方案中,最终的测试报告文件既是纪录测试项结果的载体,也是呈现在测试人员面前的最终形式,这一点和方案一不一样,而且该方案对方案一的两个步骤进行了整合,即:测试过程结束后,测试报告就生成了。在这个方案中,最终测试报告文件的格式不限,现在采用最多的有纯文本文件、HTML文件等多种格式。
不过上述两种方案都存相应的缺点,其中,
方案一缺点在于,测试项结果数据是以二进制形式保留在数据库中的,所以测试结果数据对测试人员来说不具备可读性;而且测试报告的格式是固定的,不能够根据实际的情况进行更改。
方案二缺点在于,测试项结果数据直接保存在测试报告文件中,虽然在经过格式化处理后,可以方便测试人员阅读,但不能够进行进一步的统计分析和处理,而且最终测试报告的格式是固定的,不能根据实际情况和测试人员的爱好进行更改。
另外,上述两方案还有一个共同的缺点,即:因需安装特定的软件才能阅读而不利于数据在Internet上的交流。如:当最终的测试报告是一个Word格式的文档时,其他测试人员就必须安装相应的软件(Microsoft Word)才能够阅读测试报告,即使是最平常的纯文本文件,诸如“回车”和“换行字符”在Unix、Window和Mac等操作系统上也都有不同的定义,进而也可能给测试员带来阅读的麻烦。
发明内容
本发明在于针对现有技术中的上述缺点,提供一种采用XML(扩展标记语言)技术的通用测试报告实现方法,使通过该方法生成的测试报告具有良好的通用性及可扩展性。
本发明的解决方案包括步骤:
a)将测试工具软件对被测系统进行测试而得到的每一测试项结果数据存放在文档对象模型(DOM)对象中;
b)将测试完成后所得到的文档对象模型(DOM)对象保存到一个扩展标记语言(XML)文件中;
c)将上述保存测试结果的文件进行扩展类型表语言(Extensible StylesheetLanguage:XSL)转换,并输出测试人员可阅读的测试报告文档。
其中:a)步所述的结果数据是按照扩展标记语言(XML)文件格式存放在文档对象模型(DOM)对象中的。
c)步所述是指浏览器自动根据扩展标记语言(XML)文件中指定的扩展类型表语言(XSL)文件对该扩展标记语言(XML)文件进行转换,并使测试报告文档直接显示出来;或
从扩展类型表语言(XSL)文件构造一个转换器,将保存测试结果的扩展标记语言(XML)文件转换为HTML(Hypertext Markup Language,超文本标记语言)文件,然后利用浏览器直接浏览该HTML文件。
本发明的有益效果:
1、本方法采用的XML文件是文本文件,支持多种编码,并且完全支持W3C的国际标准XML 1.0,由于该标准已经得到了广泛的支持和使用,所以本方法在多种操作系统(Windows、Unix、Mac等)和多种编程语言(C++、Python、TCL等)下都可以使用,是一个完全跨平台的实现方法。
2、由于采用了XSL和XPATH语言作为转换器,将保存在XML文档中的原始的测试结果数据转换为最终的测试报告,所以可以非常方便和灵活的的定制这个转换器,使同样的测试结果数据能够根据测试人员爱好以及具体需求转换为不同的测试报告格式。如通过更改XSL转换器,可以更改测试报告的颜色,布局,排版以及显示的内容等等。
3、XML规范是未来Internet上进行数据通信的标准规范,本方法生成的测试结果数据和测试报告可以自由地在Internet上传送和交流,这是本方法最突出的一个优点;
4、生成的测试结果数据可以用来做进一步的分析。采用XML文件的形式来保存数据,可以使得数据具有异常优良的组织结构,以便后续进一步分析处理的进行。
5、消耗更少的资源,节约成本。采用本方法,只需要在机器上安装XML解析软件就能够完成全部的操作,而XML作为一种国际标准,已经以多种形式(COM组件、程序库等)在多种语言中(比如Java、C#、C++、VB、Python以及TCL等)得到了实现,并且在运行的时候消耗系统资源很少。
附图说明
图1为测试工具软件对被测试系统进行测试的一般流程图;
图2为现有技术中方案一的原理图;
图3为现有技术中方案二的原理图;
图4为本发明的原理图。
具体实施方式
测试软件在完成测试工作之后,必须将最终的测试结果分析汇总,然后通过测试报告的形式呈现给测试人员。测试报告是各种测试软件中不可或缺的一部分。本发明通过采用扩展标记语言(XML)技术来实现通用的测试报告模块。参考图4:从图中可以看出,本方案主要包括两个步骤:测试过程和生成测试报告过程。
A、测试过程:将测试得到的每一个测试项结果数据按照一定的格式存放在一个DOM对象中,当所有的测试项全部测试完成之后,将该DOM对象保存到一个XML文件中。可以认为该DOM对象是XML文件在内存中的映像。
B、生成测试报告过程:将得到的DOM对象经过XSL转换,格式化输出为测试人员能够看懂的文档,并且在浏览器中显示出来。同时,也可以将该文档保存为一个HTML文件,以便以后在浏览器中直接打开察看。
其中,测试过程的主要任务是保存测试过程中得到的每一个测试项结果,即该项是否测试通过。保存结果数据的形式是DOM和XML文件。生成测试报告过程的主要任务利用XSL转换器,将测试过程中得到的XML数据和DOM转换为测试人员能够理解的形式,并且将报告显示出来。
转换和显示XML数据的方式有两种:
一、使用浏览器直接显示。由于浏览器Internet Explorer完全支持W3C的XML 1.0规范,所以当让浏览器打开指定的XML文件的时候,它会自动的根据XML文件中指定的XSL文件对XML文件进行格式化转换,然后将转换结果在其窗口中显示出来。
二、从XSL文件构造一个转换器对象,该对象的输入就是我们生成的XML文件,它的转换输出是HTML格式的文件。XSL文件的内容决定了转换方式和最终结果。当生成了HTML文件之后,浏览器可以直接打开浏览这个HTML文件。
这两种方法的原理和测试人员最终所见的测试报告都是相同的,区别在于:方法一中,浏览器是自动完成转换工作。
结果数据文件是一个XML文档,用来保存测试过程中的每一个测试结果。它的XML语法如下:
1、前言部分:
<?xml version=″1.0″encoding=″UTF-8″?>
<?xml-stylesheet type=″text/xsl″href=″show_testreport.xsl″?>
其中,第一行的内容是固定的;第二行,表示采用testreport.xsl文件用来对XML文件进行格式化,输出到IE浏览器中。
2、根元素:
<result ts2File=″…″
testDate=″…?
testEndDate=″″
testTime=″″
passed=″″title=″″>
…
</result>
根元素的元素名为result,具有六个属性:
(1)ts2File:表示本测试结果文件所代表的测试脚本的文件名。
(2)testDate:表示本测试数据文件测试的日期。
(3)testTime:表示本次测试持续时间。
(4)passed:表示本次测试脚本有没有通过测试。
3、表示测试项的元素:
<item line=″…″passed=″″>
<command><![CDATA[……]]></command>
<expect><![CDATA[……]]></expect>
<actual><![CDATA[……]]></actual>
</item>
该元素表示result的子元素。
属性line表示行号,passed表示该测试项是否通过。
<command>子元素表示测试的网元命令。
<expect>子元素表示测试的预期结果。
<actual>子元素表示测试的实际结果。
上面三个子元素的内容都用CDATA Section来表示。
4:表示注释的元素:
<testcomment line=″″line=″″>
<![CDATA[……]]>
</testcomment>
其内容也用CDATA Section来表示。
上面的语法结构可以根据实际情况进行更改。
XSL转换器事实上也是一个XML文件,它采用了XPATH语法,通过递归解析的方法(属现有技术,在此不再详述)对上面的测试结果数据文件中的每一个元素进行格式化处理,进而最终输出一个具有良好可读性的测试报告。
机译: 实现算法和通用方法实现时补偿通用过程效率的方法
机译: 用于在第一社交网络上部署多网络交互的计算机实现的方法;用于在社交网络平台上动态创建形式化组的计算机实现的方法;用于向社交网络平台的用户呈现多格式信息的计算机实现的方法;用于以通用标签的形式全局关联识别信号的计算机实现的方法;以及在社交网络平台上向用户投放广告的计算机部署方法
机译: 通过接口通用串行总线集线器作为通用串行总线设备来实现无线通用串行总线主机控制器的方法和装置