一种用于对计算机系统进行测试的方法、装置和设备的制作方法

文档序号:6433045阅读:293来源:国知局
专利名称:一种用于对计算机系统进行测试的方法、装置和设备的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种用于对计算机系统进行测试的方法、装置和设备。
背景技术
通常对于计算机系统的测试方法中,需要由人工设定系统中各个模块间的执行顺序关系,并且需要由人工确定各个模块执行所需的测试数据,该方法的问题在于人工确定执行顺序的效率较低,并且由人工确定的测试数据缺乏真实性,导致测试结果与计算机系统实际运行时的真实结果产生较大差异。

发明内容
本发明的目的是提供一种用于对计算机系统进行测试的方法、装置和设备。根据本发明的一个方面,提供一种计算机实现的用于对计算机系统进行测试的方法,其中,所述方法包括以下步骤a由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元,其中,对该一个或多个被测单元中的每个被测单元执行以下步骤X对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。根据本发明的一个方面,还提供了一种用于对计算机系统进行测试的测试装置,其中,所述测试装置包括选择装置,用于由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元,其中,测试装置通过以下装置对该一个或多个被测单元中的每个被测单元执行操作第一执行获取装置,用于对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。根据本发明的另一个方面,还提供一种计算机设备,其中,该计算机设备包含所述测试装置。与现有技术相比,本发明具有以下优点1)通过获取基于对上游被测单元的操作而产生的测试相关信息来确定待操作的下游被测单元,使得确定下游被测单元的过程完全自动化,无需由人工预定上下游被测单元之间的执行顺序,提高了测试效率;2)由于所获得的测试相关信息为被测单元运行过程中获得的真实数据,极大的提高了对于计算机系统测试的准确性;3)可以将多次执行测试操作所获得的各项数据以图表的形式呈现给用户,以使用户获得更加直观的结果。


通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
图1为本发明一个方面的一种计算机实现的用于对计算机系统进行测试的方法 流程图2为本发明的一个优选实施例的用于对计算机系统进行测试的方法流程图3为本发明的又一个优选实施例的用于对计算机系统进行测试的方法流程图4为本发明一个方面的用于对计算机系统进行测试的测试装置的结构示意图5为本发明的一个优选实施例的用于对计算机系统进行测试的测试装置的结 构示意图6为本发明的又一个优选实施例的用于对计算机系统进行测试的测试装置的 结构示意图7为根据本发明的优选实施例所获得的图形化结果。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示意出了本发明一个方面的一种计算机实现的用于对计算机系统进行测试 的方法流程图。根据本发明的方法包括步骤SI和步骤S2。其中,根据本发明的方法可通过 计算机设备中的测试装置来实现,例如,通过计算机设备中诸如应用模块、操作系统、处理 控制器等来实现。其中,所述计算机设备为一种能够按照事先存储的程序,自动、高速地进 行大量数值计算和各种信息处理的现代化智能电子设备,其硬件包括但不限于微处理器、 FPGA、DSP、嵌入式设备等。优选地,所述计算机设备可单独运行来实现本发明,也可接入网 络并通过与网络中的其他计算机设备的交互操作来实现本发明。所述计算机设备包括网络 设备和用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成 的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其 中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机, 所述用户设备包括但不限于电脑、智能手机、PDA等。其中,所述计算机设备所处的网络包 括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备及网络设备仅为举例,其他现有的或今后可能出现 的用户设备、网络设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引 用方式包含于此。
在步骤SI中,测试装置由计算机系统的多个被测单元中选择与预知的测试相关 信息相对应的一个或多个被测单元。
其中,所述被测单元包括但不限于所述计算机系统中的一个或多个可执行模块。 所述测试相关信息包括用于启动一个或多个被测单元来进行测试的相关信息。优选地,所 述测试相关信息包括但不限于以下至少一项信息1)该测试相关信息所基于的被测单元 的标识信息,例如,其所基于的被测单元的模块ID,又例如,其所基于的被测单元的名称信 息等;2)该测试相关信息所基于的被测单元的测试数据信息,其中,所述测试数据信息包 括测试装置基于该被测单元的运行所获得的各项数据信息,优选地,所述测试数据信息包 括但不限于以下至少一项信息a)该测试相关信息所基于的被测单元的运行输出信息;b)该测试相关信息所基于的被测单元的运行信息,所述运行信息包括但不限于测试装置在被测单元运行过程中所获得的信息,例如,测试装置在被测单元运行过程中所获得的该被测单元的CPU占用率,又例如,测试装置在被测单元运行过程中统计获得的被测单元所接收到的socket包的数量,再例如,测试装置对该被测单元的网络使用情况进行监控获得的所述被测单元所占用的网络带宽等;c)该测试相关信息所基于的被测单元的运行结果信息,优选地,所述运行结果信息包括但不限于i)运行成功,例如,在被测单元输出表示其运行成功的信息情况下,又例如,在被测单元输出了其在正常运行下所应输出的预定数据的情况下,测试装置确定被测单元运行成功等;ii)运行失败,例如,在被测单元被迫终止的情况下,又例如,在被测单元输出表示其运行失败的信息情况下,测试装置确定被测单元运行失败等;iii)已运行,例如,当被测单元完成运行时,测试装置即确定被测单元已运行等。其中,获得所述预知的测试相关信息的方式包括但不限于I)获取人工输入的测试相关信息。2)接收第一远程设备提供的所述预知的测试相关信息,其中,该第一远程设备基于对自身所包含的被测单元执行预定操作来获得所述预知的测试相关信息。所述第一远程设备与测试装置经由网络连接。其中,所述基于对自身所包含的被测单元执行预定操作来获得所述预知的测试相关信息的方式与后续步骤S2中对被测单元执行预定操作,以基于所述预定操作获得一个或多个新的测试相关信息的方式相同或相似,此处不予详述。3)基于对在该被测单元之前启动的其他被测单元执行预定操作,获得所述预知的测试相关信息。其中,启动所述其他被测单元的方式包括但不限于a)由测试装置对该其他被测单元执行预定操作而启动;b)人工启动,例如,通过在命令行中输入指令来启动其他被测单元;c)由该其他被测单元的上游被测单元的运行而启动。例如,在该其他被测单元的上游被测单元的代码中包括启动该其他被测单元的代码,当该上游被测单元执行该代码时,即启动该其他被测单元。其中,所述基于对在该被测单元之前启动的其他被测单元执行预定操作,获得所述预知的测试相关信息的方式与后续步骤S2中所述对被测单元执行预定操作,以基于所述预定操作获得一个或多个新的测试相关信息的方式相同或相似,此处不予详述。其中,所述测试装置由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元的方式包括但不限于I)直接基于测试相关信息进行查询以获得相应的一个或多个被测单元的标识信
肩、O例如,当获得的测试相关信息中包含该测试相关信息所基于的被测单元输出的输出信息“outputstring”时,测试装置基于所述输出信息在输出信息与被测单兀对应列表中进行查询,以获得相应的被测单元。又例如,当预知的测试相关信息中包含该测试相关信息所基于的被测单元输出的输出信息“finish”以及该预知的测试相关信息所基于的被测单元的标识信息时,测试装置基于该预知的测试相关信息在测试相关信息与被测单元的对应列表中进行查询,获得两个与输出信息“finish”以及标识信息均相应的被测单元。
2)基于预定选择优先级,由与所述预知的测试相关信息相对应的所有被测单元中选择所述一个或多个被测单元。
其中,所述预定选择优先级包括但不限于以下至少一类a)选择条件的预定优先级,所述选择条件用于选择与所述预知的测试相关信息相应的被测单元;b)所述预知的测试相关信息的信息类型的预定优先级,所述信息类型包括但不限于i)标识信息类型;ii) 输出信息的数据类型,例如,int型、char型、string型等;iii)运行信息的来源类型,例如, CPU信息、Socket信息等;iv)运行结果信息类型。
例如,测试装置基于如下表I所示的选择条件来确定与预知的测试相关信息相关的被测单元,其中,预定优先级由高到底为第一优先级、第二优先级和第三优先级
权利要求
1.一种计算机实现的用于对计算机系统进行测试的方法,其中,所述方法包括以下步骤a由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元,其中,对该一个或多个被测单元中的每个被测单元执行以下步骤X对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
2.根据权利要求1所述的方法,其中,所述步骤X包括以下步骤-基于所述预知的测试相关信息的部分或全部信息来获得该被测单元的输入信息,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
3.根据权利要求1所述的方法,其中,对于在步骤a中所选择的一个或多个被测单元中的每个被测单元,所述方法还包括以下步骤-判断已获得的与该被测单元相对应的所有测试相关信息是否为对所述被测单元的执行预定操作所需的全部测试相关信息,其中,所述全部测试相关信息包含所述测试相关信息的部分或全部信息;其中,所述步骤X包括以下步骤Xl当判断已获得全部测试相关信息时,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
4.根据权利要求3所述的方法,其中,所述步骤Xl包括以下步骤-基于所述全部测试相关信息中的一个或多个测试相关信息来获得该被测单元的输入信息,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
5.根据权利要求3或4所述的方法,其中,所述全部测试相关信息还包括预存储的与该被测单元相对应的其他测试相关信息,其中,对于在步骤a中所选择的一个或多个被测单元中的每个被测单元,所述方法还包括以下步骤-当判断未获得全部测试相关信息时,将所述测试相关信息作为与该被测单元对应的其他测试相关信息进行存储,以当根据其他新的测试相关信息再次选择该被测单元时,用以判断是否已获得该被测单元的全部测试相关信息。
6.根据权利要求1至5中任一项所述的方法,其中,所述方法在所述步骤a之前还包括-接收第一远程设备提供的所述预知的测试相关信息,其中,该第一远程设备基于对自身所包含的被测单元执行预定操作来获得所述预知的测试相关信息。
7.根据权利要求1至5中任一项所述的方法,其中,所述方法在所述步骤a之前还包括-基于对在该被测单元之前启动的其他被测单元执行预定操作,获得所述预知的测试相关信息。
8.根据权利要求1至7中任一项所述的方法,其中,所述步骤a包括以下步骤-基于预定选择优先级,由与所述预知的测试相关信息相对应的所有被测单元中选择所述一个或多个被测单元,并对该一个或多个被测单元中的每个被测单元执行所述步骤X。
9.根据权利要求1至8中任一项所述的方法,其中,对于在步骤a中所选择的一个或多个被测单元中的每个被测单元,所述方法还包括以下步骤-获取该被测单元的操作时间信息;-判断所述操作时间信息是否符合开始对被测单元执行预定操作所需满足的预定启动条件;-当判断所述操作时间信息符合该被测单元的预定启动条件时,执行所述步骤X。
10.根据权利要求1至9中任一项所述的方法,其中,所述方法还包括以下步骤-将步骤X中所获得的所述一个或多个新的测试相关信息发送至网络中的第二远程设备,以启动所述第二远程设备中所包含的其他被测单元。
11.根据权利要求1至10中任一项所述的方法,其中,所述方法还包括以下步骤-将所述一个或多个新的测试相关信息作为所述预知的测试相关信息并重复所述步骤a和X,直至满足预定终止条件,并根据每次执行步骤a所确定的所述一个或多个被测单元和/或执行步骤X所获得的所述一个或多个新的测试相关信息来绘制相应的测试图形信息
12.根据权利要求11所述的方法,其中,所述预定终止条件包括以下至少一项-运行时间满足预定时间终止信息;-运行同一被测单元的次数达到预定阈值;-基于所有能够获得的新的测试相关信息,不能对其他被测单元执行预定操作。
13.根据权利要求1至12中任一项所述的方法,其中所述测试相关信息包括以下至少一项信息-该测试相关信息所基于的被测单元的标识信息;-该测试相关信息所基于的被测单元的测试数据信息。
14.根据权利要求13所述的方法,其中,所述测试数据信息包括以下至少一项信息-该测试相关信息所基于的被测单元的输出信息;-该测试相关信息所基于的被测单元的运行信息;-该测试相关信息所基于的被测单元的运行结果信息。
15.一种用于对计算机系统进行测试的测试装置,其中,所述测试装置包括选择装置,用于由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元,其中,测试装置通过以下装置对该一个或多个被测单元中的每个被测单元执行操作第一执行获取装置,用于对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
16.根据权利要求15所述的测试装置,其中,所述第一执行获取装置包括第一子执行获取装置,用于基于所述预知的测试相关信息的部分或全部信息来获得该被测单元的输入信息,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
17.根据权利要求15所述的测试装置,其中,所述测试装置还通过以下装置对于选择装置所选择的一个或多个被测单元中的每个被测单元执行操作第一判断装置,用于判断已获得的与该被测单元相对应的所有测试相关信息是否为对所述被测单元执行预定操作所需的全部测试相关信息,其中,所述全部测试相关信息包含所述测试相关信息的部分或全部信息;其中,所述第一执行获取装置包括第二子执行获取装置,用于当判断已获得全部测试相关信息时,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
18.根据权利要求17所述的测试装置,其中,所述第二子执行获取装置包括第三子执行获取装置,用于基于所述全部测试相关信息中的一个或多个测试相关信息来获得该被测单元的输入信息,对该被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。
19.根据权利要求17或18所述的测试装置,其中,所述全部测试相关信息还包括预存储的与该被测单元相对应的其他测试相关信息,其中,所述测试装置还通过以下装置对于选择装置所选择的一个或多个被测单元中的每个被测单元执行操作存储装置,用于当判断未获得全部测试相关信息时,将所述测试相关信息作为与该被测单元对应的其他测试相关信息进行存储,以当根据其他新的测试相关信息再次选择该被测单元时,用以判断是否已获得该被测单元的全部测试相关信息。
20.根据权利要求15至19中任一项所述的测试装置,其中,所述测试装置还包括接收装置,用于接收第一远程设备提供的所述预知的测试相关信息,其中,该第一远程设备基于对自身所包含的被测单元执行预定操作来获得所述预知的测试相关信息。
21.根据权利要求15至19中任一项所述的测试装置,其中,所述测试装置还包括第二执行获取装置,用于基于对在该被测单元之前启动的其他被测单元执行预定操作,获得所述预知的测试相关信息。
22.根据权利要求15至21中任一项所述的测试装置,其中,所述选择装置包括子选择装置,用于基于预定选择优先级,由与所述预知的测试相关信息相对应的所有被测单元中选择所述一个或多个被测单元,并触发第一执行获取装置对该一个或多个被测单元中的每个被测单元执行操作。
23.根据权利要求15至22中任一项所述的测试装置,其中,所述测试装置还通过以下装置对于选择装置所选择的一个或多个被测单元中的每个被测单元执行操作获取装置,用于获取该被测单元的操作时间信息;第二判断装置,用于判断所述操作时间信息是否符合开始对该被测单元执行预定操作所需满足的预定启动条件;执行触发装置,用于当判断所述操作时间信息符合该被测单元的预定启动条件时,触发第一执行获取装置执行操作。
24.根据权利要求15至23中任一项所述的测试装置,其中,所述测试装置还包括发送装置,用于将第一执行获取装置所获得的所述一个或多个新的测试相关信息发送至网络中的第二远程设备,以启动所述第二远程设备中所包含的其他被测单元。
25.根据权利要求15至24中任一项所述的测试装置,其中,所述测试装置还包括绘图装置,用于将所述新的测试相关信息作为所述预知的测试相关信息并触发选择装置与第一执行获取装置重复执行操作,直至满足预定终止条件,并根据选择装置每次所确定的所述一个或多个被测单元和/或第一执行获取装置所获得的所述至少一项测试相关信息来绘制相应的测试图形信息。
26.根据权利要求25所述的测试装置,其中,所述预定终止条件包括以下至少一项-运行时间满足预定时间终止信息;-运行同一被测单元的次数达到预定阈值;-基于所有能够获得的新的测试相关信息,不能对其他被测单元执行预定操作。
27.根据权利要求15至26中任一项所述的测试装置,其中所述测试相关信息包括以下至少一项信息-该测试相关信息所基于的被测单元的标识信息;-该测试相关信息所基于的被测单元的测试数据信息。
28.根据权利要求27所述的测试装置,其中,所述测试数据信息包括以下至少一项信-该测试相关信息所基于的被测单元的输出信息;-该测试相关信息所基于的被测单元的运行信息;-该测试相关信息所基于的被测单元的运行结果信息。
29.一种计算机设备,其中,该计算机设备包含如权利要求15至28中至少一项所述的测试装置。
全文摘要
本发明的目的是提供一种用于对计算机系统进行测试的方法、装置和设备。所述方法包括由计算机系统的多个被测单元中选择与预知的测试相关信息相对应的一个或多个被测单元,其中,对该一个或多个被测单元中的每个被测单元执行预定操作,以基于所述预定操作后被测单元的运行获得一个或多个新的测试相关信息,用以对其他被测单元执行操作。本发明的优点在于1)确定下游被测单元的过程完全自动化,无需由人工预定上下游被测单元之间的执行顺序,提高了测试效率;2)所获得的测试相关信息为被测单元运行过程中获得的真实数据,极大的提高了对于计算机系统测试的准确性。
文档编号G06F11/22GK102999404SQ20111026999
公开日2013年3月27日 申请日期2011年9月13日 优先权日2011年9月13日
发明者劳勇 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1