基于硬件级的测试脚本自动生成系统及方法

文档序号:6421414阅读:225来源:国知局
专利名称:基于硬件级的测试脚本自动生成系统及方法
技术领域
本发明涉及一种测试脚本生成系统及方法,特别是关于一种基于硬件级的自动生成测试脚本的系统及方法。
背景技术
现有的计算机生产模式,大部分只适用于相同配置的计算机的大规模批量生产,对于不同配置的计算机的混合生产无能为力。
目前,作为一种先进的生产方式,CTO(Customer To Order)正在成为一个趋势,成为衡量工厂生产能力和管理水平的标尺。在现有的CTO测试系统中,使用如下的方法测试对于每一种机型,操作员会制定一个测试的脚本(以下称Script),系统在收到待测机(以下称SUV)的测试要求后,会根据该SUV所属的类型,获得相应的Script。如果有几台SUV有特别的配置(每一个SUV均有不同的配置),则需要针对每一个SUV制定不同的测试脚本。可以看出,这种系统只能满足非常小规模的CTO生产,如果上述的特殊配置的SUV数量非常多,则需要定制非常多的Script,不仅加大了生产负担,而且容易造成很多人为的错误。它的效率之低是显而易见的。
如果事先为每一个计算机硬件部件(Part)定制一个script,则同一种类型的部件,由于详细的参数不同,需要定义不同的script来满足测试需要。例如都是CPU,主频为3G的CPU和主频为2.5G的CPU、Intel的CPU和AMD的CPU测试方法可能不同。这样,如果针对每一个部件都定义script的话,加大了系统维护的工作量,增加了人工操作的次数,增加了出错的可能性,存在潜在的不安全因素。另外,如果将来添加了新的部件,还需要重新维护数据。这些都降低了测试系统的易用性。
因此,如何在CTO生产模式上,提供一种基于硬件级的自动配置测试脚本的系统与方法,已经成为业内急待解决的问题。

发明内容
本发明为解决上述问题而提供一种基于硬件级的测试脚本(Script)自动生成的系统及方法,以解决CTO(Customer To Order)生产模式的计算机装配测试流水线上,随着待测机数量与种类的增多必须增加相应的测试脚本的问题,以及测试系统的可扩展性问题。
本发明提供一种基于硬件级的测试脚本自动生成系统,应用于以CTO为生产模式的计算机装配测试流水线,该系统包括计算机硬件部件数据库,用于储存该装配线上的所有硬件部件信息;单机部件配置模块,用以根据该部件数据库的信息确定每一单机内的计算机硬件部件数据;整机部件数据收集模块,用以根据该单机部件配置模块的单机数据为每一单机分配一唯一的序列号,并将该序列号与该单机内的部件分别建立关联;通用测试脚本数据库,用以储存对应不同类型的计算机硬件部件的通用测试脚本;及最终脚本生成模块,用以将由该数据收集模块收集的部件数据整合到通用测试脚本,生成最终脚本。
本发明进而提供一种基于硬件级的测试脚本自动生成方法,应用于以CTO为生产模式的计算机装配测试流水线,该方法首先确定每一计算机硬件部件的类型及其参数;接着根据该类型及参数生成硬件配置文件及参数描述文件;根据该当前待测部件的类型获取对应的通用测试脚本;然后根据该硬件配置文件及参数描述文件生成索引文件;最后根据该索引文件将该部件的测试数据整合到该通用测试脚本生成最终测试脚本。
本发明将每一个待测机看作是一个由若干部件组成的集合,操作员只要针对每一种计算机部件定制好通用测试脚本,本发明就会根据待测机的部件组成,自动配置出所需的测试脚本,从而极大的提高了生产效率,降低了操作员的工作负担,同时,本发明可以动态计算每一计算机部件的配置规则,因此,同一种类型的部件,只需要维护一个测试脚本即可,使得系统的可扩展性得以延伸。


图1为本发明的基于硬件级的测试脚本自动生成系统模块图;
图2为本发明所提供的最终脚本生成模块的结构图;图3为本发明的基于硬件级的测试脚本自动生成方法流程图;图4为本发明所提供的生成索引文件的步骤流程图;及图5为本发明所提供的整合最终测试脚本的步骤流程图。
其中,附图标记说明如下101 计算机硬件部件数据库102 单机部件配置模块103 整机部件数据收集模块104 通用测试脚本数据库105 最终脚本生成模块1051 硬件配置文件生成模块1052 参数描述文件生成模块1053 索引文件生成模块1054 脚本整合模块步骤301确定每一计算机硬件部件的类型及其参数步骤302根据该类型及参数生成硬件配置文件及参数描述文件步骤303根据该当前待测部件的类型获取对应的通用测试脚本步骤304根据该硬件配置文件及参数描述文件生成索引文件步骤305根据该索引文件将该部件的测试数据整合到该通用测试脚本生成最终测试脚本步骤401扫描硬件配置文件及参数描述文件步骤402从该配置文件中获取当前部件的信息并从该参数文件中获取其设备类型和参数步骤403根据扫描结果填充该索引文件中的部件号码、设备类型、脚本数据位置及数据大小的信息步骤404从该配置文件中获取硬件规则信息,并结合该部件的设备类型及参数应用该规则填写插槽号码步骤501从索引文件中读取一行数据步骤502根据索引文件中的脚本数据及数据大小信息来读取通用脚本信息步骤503根据索引文件中的部件号码从参数描述文件中查询该部件的参数信息步骤504将该参数信息结合索引文件中的规则信息整合到该通用脚本中,生成最终脚本数据具体实施方式
如图1所示,为本发明的基于硬件级的测试脚本自动生成系统模块图,包括一计算机硬件部件数据库101,单机部件配置模块102,整机部件数据收集模块103,通用测试脚本数据库104以及最终脚本生成模块105。
其中,该计算机硬件部件数据库101用于储存该装配线上的所有硬件部件信息;该单机部件配置模块102用以根据该部件数据库的信息确定每一单机内的计算机硬件部件数据;该整机部件数据收集模块103用以根据该单机部件配置模块的单机数据为每一单机分配一唯一的序列号,并将该序列号与该单机内的部件分别建立关联;该通用测试脚本数据库104用以储存对应不同类型的计算机硬件部件的通用测试脚本;该最终脚本生成模块105用以将由该数据收集模块收集的部件数据整合到通用测试脚本,生成最终脚本。
请参阅图2,在最终脚本生成模块105中,还包括一硬件配置文件生成模块1051、一参数描述文件生成模块1052、一索引文件生成模块1053以及一脚本整合模块1054。
其中硬件配置文件生成模块1051用以根据该硬件部件的装配规则以及通用脚本生成一描述该部件的配置文件;参数描述文件生成模块1052用以根据该硬件部件的参数数据生成一描述其参数的文件;索引文件生成模块1053用以根据该配置文件与参数描述文件生成一索引文件;脚本整合模块1054用以根据该索引文件将该配置文件与参数文件中的信息整合到通用脚本数据中形成最终脚本。
在实际测试中,脚本整合模块1054可以是各个不同的测试工具所提供的转换工具,这样一来,最终生成的脚本格式就是由测试工具决定的,通过索引文件完全隔离了配置文件、参数文件以及内部规则的定义,做到了可扩展性。
请参阅图3,为本发明的基于硬件级的测试脚本自动生成方法,首先确定每一计算机硬件部件的类型及其参数(步骤301);接着根据该类型及参数生成硬件配置文件及参数描述文件(步骤302);根据该当前待测部件的类型获取对应的通用测试脚本(步骤303);然后根据该硬件配置文件及参数描述文件生成索引文件(步骤304);最后根据该索引文件将该部件的测试数据整合到该通用测试脚本生成最终测试脚本(步骤305)。
请参阅图4,为本发明所提供的生成索引文件的步骤流程图,首先扫描硬件配置文件及参数描述文件(步骤401);接着从该配置文件中获取当前部件的信息并从该参数文件中获取其设备类型和参数(步骤402);然后根据扫描结果填充该索引文件中的部件号码、设备类型、脚本数据位置及数据大小的信息(步骤403);最后从该配置文件中获取硬件规则信息,并结合该部件的设备类型及参数应用该规则填写插槽号码(步骤404)。
请参阅图5,为本发明所提供的生成最终测试脚本的步骤流程图,首先从索引文件中读取一行数据(步骤501);接着根据索引文件中的脚本数据及数据大小信息来读取通用脚本信息(步骤502);然后根据索引文件中的部件号码从参数描述文件中查询该部件的参数信息(步骤503);最后将该参数信息结合索引文件中的规则信息整合到该通用脚本中,生成最终脚本数据(步骤504)。
本发明在计算机测试系统中,为每一个部件都定义了类型(type)数据,对应为CPU、HDD、CDROM、MEMORY、MOUSE等等。每一种类型的部件都定义相应的参数(parameter),例如CPU,会对它的Vender ID、FamilyLevel、L2 Cache、Speed、Processor、Stepping Level、FPU、MMX、Model Level进行测试,那么需要事先维护好这些数据。因为在生产线上,部件的数目是确定的,所以这部分数据在系统建立的时候系统管理员会维护好,以后的生产过程中是不需要进行维护的,这就降低了系统的维护工作量。
产品工程师为每一种类型的部件维护一个或多个通用脚本,在测试时,本发明从整机部件数据收集模块中取得SUV所包含的部件信息,分别获得每一个部件的类型(type)信息,以此获得通用脚本,然后根据该部件的参数数据,计算出最终测试脚本。
本发明根据部件的类型和参数信息,动态计算出的最终脚本,其格式是要符合测试工具的需要的,所使用的脚本可以做到和系统无关,只和部件以及用来测试该部件的工具有关,从而加大了系统的可扩展性。
另外,在装配线中,会产生一些部件顺序的问题,例如,有2块HDD,分别是120G和80G的容量,可能要求120G的要插在80G的前面,或进一步的,要求120G插在IDE 0上,80G的插在IDE 2上,而且IDE 1必须空闲,因为用户希望今后在这个插口上增加一个CD-ROM,本发明称之为规则(Rule)。所以在最终脚本的计算中,要对规则进行应用。
下面就以一具体实施例说明本发明动态计算最终测试脚本的过程。
部件的参数系统中维护的脚本都是针对部件的类型来编写的,例如需要测试CPU,就会对CPU编写一种或是几种通用的脚本,在生成最终脚本的时候,需要结合待测CPU的实际参数,例如speed、vender id,L2 cache等。
根据上述的情况,系统在向待测机传送通用脚本的时候,会传送两个信息文件(Information File),分别是config.dat和hwpn.txt。
config.dat介绍下面是config.dat的格式

SUV的每一个部件都会有一条config信息,这些信息的集合组成config.dat。
首先是part number,它是一个以0结尾的字符串然后是这个部件的规则内容,然后是这个类型的部件所应用的通用脚本内容,由于这部分是二进制格式的,所以首先要描述其长度,因此有了“Size of script for this kind of part”。
Hwpn.txt的格式SUV的每一个部件都会有一条hwpn信息,这些信息的集合组成hwpn.txt。


在测试过程中,每一个测试工具只需提供一个转换工具,就可以通过索引文件将部件的数据整合到通用脚本中,生成最终脚本。由于涉及到规则的应用,所以首先扫描config.dat和hwpn.txt文件,生成索引文件。这样做的优点在于,生成的最终script的格式是由测试工具决定的,然而无论config.dat和hwpn.txt文件还是规则,都是测试系统制定的规则,使用索引文件完全隔离了测试系统内部的规则和工具之间的联系,做到和测试工具无关,使得系统的可扩展性大大增加。
索引文件的格式可如下所示

上述示例数据的含义如下PN为12345678-001的设备类型为IDE,它应该插在IDE 0上,它的data信息在config.dat文件中的起始位置为39,长度为32bytes。
PN为12345678-002的设备类型为IDE,它应该插在IDE 3上(已经应用了Rule),它的data信息在config.dat文件中的起始位置为72,长度为36bytes。
有了这个数据文件后,在计算最终脚本的时候可以顺序遍历所有的PN,因为PN已经应用了所有的Rule。
该实施例生成最终脚本的过程主要在于生成索引文件的过程以及最终脚本整合过程,下面分述如下生成索引文件时,首先从config.dat中得到一个part的信息,并从hwpn.txt中得到该part的device type和parameter,填写index文件的part number、devicetype、script data position和data size信息,然后从part信息中获得rule的信息,并结合该part的device type,parameter应用rule,将同种类型的part在index文件中排列在一起,根据rule的定义填写slot number,最后判断是否已经处理完毕所有的part,如果已经全部处理完毕,则结束,否则重新执行。
整合最终测试脚本时,首先从索引文件中读取一行数据;然后根据scriptdata position和data size,读取script信息,根据part number从hwpn.txt中查寻出该part的parameter信息,结合slot number生成tool自己格式的script,最后遍历索引文件所有的行,重复执行上述步骤。
以上所述,仅为本发明其中的较佳实施例,并非用来限定本发明的实施范围;凡依本发明申请专利范围在不脱离本发明的精神和范围内所作的均等变化与修饰,均应属于本发明权利要求书所要求保护的专利范围内。
权利要求
1.一种基于硬件级的测试脚本自动生成系统,该系统应用于以CTO为生产模式的计算机装配测试流水线,其中该系统包括一计算机硬件部件数据库,用于储存该装配线上的所有硬件部件信息;一单机部件配置模块,用以根据该部件数据库的信息确定每一单机内的计算机硬件部件数据;一整机部件数据收集模块,用以根据该单机部件配置模块的单机数据为每一单机分配一唯一的序列号,并将该序列号与该单机内的部件分别建立关联;一通用测试脚本数据库,用以储存对应不同类型的计算机硬件部件的通用测试脚本;及一最终脚本生成模块,用以将该数据收集模块收集的部件数据整合到通用测试脚本,生成最终脚本。
2.如权利要求1所述的测试脚本自动生成系统,其中该最终脚本生成模块包括一硬件配置文件生成模块,用以根据该硬件部件的装配规则以及通用脚本生成一描述该部件的配置文件;一参数描述文件生成模块,用以根据该硬件部件的参数数据生成一描述其参数的文件;一索引文件生成模块,用以根据该配置文件与参数描述文件生成一索引文件;及一脚本整合模块,用以根据该索引文件将该配置文件与参数文件中的信息整合到通用脚本数据中形成最终脚本。
3.如权利要求2所述的测试脚本自动生成系统,其中该硬件配置文件中包括部件号码、规则内容、该部件类型脚本的大小以及脚本内容信息。
4.如权利要求2所述的测试脚本自动生成系统,其中该参数描述文件中包括部件号码、设备类型以及各种参数信息。
5.如权利要求2所述的测试脚本自动生成系统,其中该索引文件中包括部件号码、设备类型、插槽号码、脚本数据位置以及数据大小信息。
6.一种基于硬件级的测试脚本自动生成方法,应用于以CTO为生产模式的计算机装配测试流水线,其中该方法包括如下步骤确定每一计算机硬件部件的类型及其参数;根据该类型及参数生成硬件配置文件及参数描述文件;根据该当前待测部件的类型获取对应的通用测试脚本;根据该硬件配置文件及参数描述文件生成索引文件;及根据该索引文件将该部件的测试数据整合到该通用测试脚本生成最终测试脚本。
7.如权利要求6所述的测试脚本自动生成方法,其中该硬件配置文件中包括部件号码、规则内容、该部件类型脚本的大小以及脚本内容信息。
8.如权利要求6所述的测试脚本自动生成方法,其中该参数描述文件中包括部件号码、设备类型以及各种参数信息。
9.如权利要求6所述的测试脚本自动生成方法,其中该索引文件中包括部件号码、设备类型、插槽号码、脚本数据位置以及数据大小信息。
10.如权利要求6所述的测试脚本自动生成方法,其中该根据硬件配置文件及参数描述文件生成索引文件的步骤,包括如下步骤扫描硬件配置文件及参数描述文件;从该配置文件中获取当前部件的信息并从该参数文件中获取其设备类型和参数;根据扫描结果填充该索引文件中的部件号码、设备类型、脚本数据位置及数据大小的信息;从该配置文件中获取硬件规则信息,并结合该部件的设备类型及参数应用该规则填写插槽号码。
11.如权利要求6所述的测试脚本自动生成方法,其中该生成最终测试脚本的步骤,包括如下步骤从索引文件中读取一行数据;根据索引文件中的脚本数据及数据大小信息来读取通用脚本信息;根据索引文件中的部件号码从参数描述文件中查询该部件的参数信息;及将该参数信息结合索引文件中的规则信息整合到该通用脚本中,生成最终脚本数据。
全文摘要
一种基于硬件级的测试脚本自动生成系统及方法,该系统包括硬件部件数据库、单机部件配置模块、整机部件数据收集模块、通用测试脚本数据库、最终脚本生成模块,该方法首先确定部件的类型及参数,生成硬件配置文件及参数描述文件,并进而生成索引文件,然后根据该当前待测部件的类型获取对应的通用测试脚本,将部件的测试数据整合到通用测试脚本生成最终测试脚本。本发明提高了测试系统的易用性及可扩展性,进而提升了生产效率。
文档编号G06F17/30GK1635497SQ200310124388
公开日2005年7月6日 申请日期2003年12月30日 优先权日2003年12月30日
发明者刘文涵, 陈玄同, 刘晓鹏 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1