CN1432916A - 多线程自动测试方法 - Google Patents

多线程自动测试方法 Download PDF

Info

Publication number
CN1432916A
CN1432916A CN 02149912 CN02149912A CN1432916A CN 1432916 A CN1432916 A CN 1432916A CN 02149912 CN02149912 CN 02149912 CN 02149912 A CN02149912 A CN 02149912A CN 1432916 A CN1432916 A CN 1432916A
Authority
CN
China
Prior art keywords
test
multithreading
item
approach
logic table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 02149912
Other languages
English (en)
Other versions
CN1212569C (zh
Inventor
宋建福
刘文涵
史永军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wang Xiaohua
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN 02149912 priority Critical patent/CN1212569C/zh
Publication of CN1432916A publication Critical patent/CN1432916A/zh
Application granted granted Critical
Publication of CN1212569C publication Critical patent/CN1212569C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

一种多线程自动测试方法,是应用于一计算机硬件的测试过程,其可根据待测试项的唯一标识的间的互斥关是自动产生多线程的执行逻辑,在避免了测试冲突的情况下,采用适当的并行方式,为每一个互无冲突的各测试项分别建立测试线程,使其多线程并行执行测试,从而提高了测试效率和质量。该方法至少包含下列步骤:确定待测试项的唯一标识;根据唯一标识的间的互斥关是自动生成测试逻辑表;根据测试逻辑表规定的测试逻辑执行多线程测试过程。

Description

多线程自动测试方法
技术领域
本发明是为一种测试方法,特别是指应用于计算机硬件测试中的多线程自动测试方法。
背景技术
通常情况下,在Windows环境中对计算机中硬件进行测试时,一般采用串行测试法,如图1A所示,即:先将一个硬件测试项测试完成后,再进入下一个测试项的测试。这种方法虽具有各个测试互不干扰的优点,但存在以下缺点:
1、影响测试效率。一个测试需要上一个测试完成后才能开始,如果将计算机中所有硬件测试项全部测试完成,需要耗费较长的时间,从而必然影响到生产线的产能。
2、存在潜在的测试漏洞。上述串行测试法没有考虑到多硬件共同测试的情况。
为了消除串行测试法的缺点,可采用并行测试法。最基本的方法是为每个测试项生成一个测试线程,如图1B所示,所有测试项同时进行测试。
但并行测试法的问题是不同测试项的间同时测试可能会产生冲突。例如,不能同时进行硬盘的Sequential Seek测试和Random Seek测试。
为解决上述缺失,这时需要一种既有并行测试法的高效率高质量的优点,又可避免测试冲突的测试方法。
发明内容
有鉴于此,本发明乃为解决上述问题而提供一种多线程自动测试方法,根据待测试项的唯一标识之间的互斥关是自动产生多线程的执行逻辑,在避免了测试冲突的情况下,采用适当的并行方式,为每一个互无冲突的各测试项分别建立线程,使其多线程并行执行测试,从而提高了测试效率和质量。
本发明提供一种多线程自动测试方法,至少包括下列步骤:
确定待测试项的唯一标识;
根据唯一标识的间的互斥关是自动生成测试逻辑表;及
根据测试逻辑表规定的测试逻辑执行多线程测试过程。
有关本发明的详细内容及技术,兹就配合图式说明如下:
附图说明
图1A是传统串行测试方法示意图;
图1B是传统并行测试方法示意图;
图2是本发明所提的多线程自动测试方法的流程图;
图3是本发明所提的多线程自动测试方法中自动生成测试逻辑表的流程图;
图4是本发明所提的多线程自动测试方法中执行多线程测试过程的流程图;
图5A-5F是本发明所提的多线程自动测试方法中多线程调度过程的示意图;
图6是运用本发明的某测试情况下,所有测试项的树形结构图;
图7是运用本发明的某测试情况下,测试项的唯一标识的数据格式示意图;及
图8是运用本发明的某种测试情况下所生成的测试逻辑表。
其中,附图标记说明如下:
步骤201  确定待测试项的唯一标识
步骤202  根据唯一标识的间的互斥关是自动生成测试逻辑表
步骤203  根据逻辑表规定的测试逻辑执行多线程测试过程
步骤301  取得所有待测试项的唯一标识,并将唯一标识写入测试逻辑表中
步骤302  分析该唯一标识所对应的“设备名称”,并写入测试逻辑表中
步骤303  比较两测试项的设备名称步骤304将测试逻辑表对应字段的逻辑值设为no
步骤305  将测试逻辑表对应字段的逻辑值设为yes
步骤306  将得到的逻辑值填入测试逻辑表的相应字段中
步骤307  判断当前所有测试项是否已经比较完毕
步骤401  起始时,测试项队列容纳了全部待测试项,调度队列为空
步骤402  ***从测试项队列中取得一个测试项放入调度队列,并产生相应的测试线程
步骤403  扫描在测试项队列中所有测试项,从中找出所有与调度队列中的测试项都能够并行运行的测试项,如果找到,则将此测试项移入调度队列中,并产生相应测试线程
步骤404  如果调度队列中的某一测试项执行完毕,则将其从调度队列中移除
步骤405  测试项是否执行完毕
具体实施方式
本发明是提出一种多线程自动测试方法,特别针对传统技艺中,在对计算机硬件进行测试时所普遍采用的串行或并行测试法中存在的问题而提出的一种多线程自动测试方法。本方法利用待测试项的唯一标识的间的互斥关是自动生成测试逻辑表,然后按照逻辑表规定的测试逻辑执行多线程测试过程。
本发明以一较佳实施例说明本方法的具体可行性,参照图2,为本发明所提的多线程自动测试方法的流程图,其说明如下:
首先,确定待测试项的唯一标识(步骤201),然后,根据唯一标识之间的互斥关是自动生成测试逻辑表(步骤202),最后,根据逻辑表规定的测试逻辑执行多线程测试过程(步骤203),并结束本流程。
上述的待测试项的唯一标识可以是待测试项的逻辑设备名称,其依各测试项本身的特性而由各测试项自行提供,并指出了该测试项是针对何种设备进行的测试。名称的设定标准是,将所有测试项归纳入若干相关树形结构中。
请参阅图6,为运用本发明的某测试情况下,所有测试项的树形结构图。在图6中,第一硬盘(HD1)的Sequential Seek测试项的逻辑设备名称为:“System.Hard Disk.HD1.Sequential Seek”。同理,软盘驱动器(Floppy Disk)测试项(FD Test)的逻辑设备名称为:“System.Floppy Disk.FD Test”。
请参阅图7,为逻辑设备名称的数据格式。为了便于描述,我们可将“逻辑设备名称”理解为由两部分组成:“设备名称”和“测试名称”。如“System.Hard Disk.HD1.Sequential Seek”的“设备名称”是“System.HardDisk.HD1”,“测试名称”是“Sequential Seek”。
请参阅图8,其为某种测试情况下所生成的测试逻辑表。表中“yes”代表相应的测试项可以同时并行测试,“no”代表相应的测试项不可以同时并行测试。例如,HD1.Sequential Seek可与HD2.Sequential Seek进行并行测试,但不能与HD1.Random Seek进行并行测试。
请参考图3,图3为本发明所提的多线程自动测试方法中自动生成测试逻辑表的流程图,说明如下:
首先取得所有测试项的“唯一标识”,并将该唯一标识写入测试逻辑表中(如图8所示)(步骤301);分析该唯一标识对应的“设备名称”,并写入测试逻辑表中(步骤302);比较两测试项的设备名称(步骤303);如果该两个测试项的“设备名称”相同,则该两个测试项不能并行测试,测试逻辑表对应字段的逻辑值设为no(表明该两个测试项的间互斥)(步骤304);否则,如果该两个测试项“设备名称”不同,则能够并行测试,测试逻辑表对应字段的逻辑值设为yes(表明该两个测试项的间不互斥)(步骤305);然后将得到的逻辑值填入测试逻辑表的相应字段中(步骤306);判断当前所有测试项是否已经比较完毕(步骤307);如果是,则流程结束;如果否,则返回步骤302。
如图8所示的“测试逻辑表”中,由于“HD1.Sequential Seek”与“HD1.Random Seek”的“设备名称”相同,因此不能并行测试,其测试逻辑表中相应字段的逻辑值为no。
上述的测试逻辑表定义了各测试项的间的互斥关是,即规定了某测试项是否能与其它测试项进行并行测试。测试逻辑表由***根据各测试项的“逻辑设备名称”自动生成。
***生成“测试逻辑表”以后,就可以利用多线程方式,进行测试项的测试。为此,***使用两个队列:测试项队列及调度队列。测试项队列里容纳了所有待执行的测试项。调度队列容纳了某时刻正在执行的测试项。
请参阅图4,图4为本发明所提的多线程自动测试方法中执行多线程测试过程的流程图,其说明如下:
首先,起始时,测试项队列容纳了全部待测试项,调度队列为空(步骤401),然后,***从测试项队列中取得一个测试项放入调度队列,并产生相应的测试线程(步骤402),接着,扫描测试项队列中所有测试项,从中找出所有与调度队列中的测试项能够并行运行的测试项,如果找到,则将此测试项移入调度队列中,并产生相应的测试线程(步骤403),最后,如果调度队列中的某一测试项执行完毕,则将其从调度队列中移除,同时移除该测试项对应的测试线程(步骤404);判断测试项队列中的所有测试项是否执行完毕(步骤405),如果没有,则重复步骤(403)、(404),直至所有该测试项队列中的所有测试项执行完毕。
上述步骤403中扫描的规则是按照测试逻辑表中确定的测试逻辑而决定。
请参阅图5A-5F,为本发明所提的多线程自动测试方法中多线程调度过程的示意图,其以4个待测试项为例。
图5A表示初始状态,测试项队列容纳了全部待测试项,调度队列为空。
图5B、5C表示***首先将测试项1放入调度队列,并产生测试线程1。然后继续扫描测试项队列中与调度队列中的所有项都能并行测试的项目(假设为测试项3),移入调度队列,并产生测试线程3。测试项是否能并行测试的依据为***根据测试项而自动生成的测试逻辑表。
图5D、5E、5F表示如果某测试项(如测试项1)执行完毕,则将其移除出调度队列,并再次扫描,重复上述步骤,直至所有测试项执行完毕。
在本发明中,各个测试不是必须以串行方式或并行方式进行,而是适当采用并行方式,使互无冲突的各测试项以并行方式执行。所以总体完成时间缩短,生产效率提高。
本发明中,***并不是毫无规则地将所有测试项全部同时投入测试,而是在***内部自动产生“测试逻辑表”,***根据“测试逻辑表”中指定的状态决定哪些测试项是并行执行,哪些测试项需串行执行,避免不同测试之间产生冲突。自动产生多线程的执行逻辑,无需用户手动设定,简便了操作。在本发明中,***可以通过测试项的唯一标识(如逻辑设备名称),在***内部自动产生“测试逻辑表”。此表无需用户逐项手工填写,因此简化了用户操作,减少了出错的概率。
以上所述为本发明的较佳实施例之一,并非用以限定本发明,任何本领域的普通技术人员在本发明的领域内,依本发明所做的变化或修饰,皆应属于本发明权利要求所保护的范围。

Claims (11)

1.一种多线程自动测试方法,应用于一计算机硬件的测试过程,至少包括如下步骤:
确定待测试项的唯一标识;
根据唯一标识的间的互斥关是自动生成测试逻辑表;及
根据测试逻辑表规定的测试逻辑执行多线程测试过程。
2.如权利要求1所述的多线程自动测试方法,其中该唯一标识是待测试项的逻辑设备名称。
3.如权利要求1所述的多线程自动测试方法,其中该唯一标识的数据格式是由“设备名称”和“测试项名称”两部分组成。
4.如权利要求1所述的多线程自动测试方法,其中该自动生成测试逻辑表步骤,更包含下列步骤:
取得所有待测试项的唯一标识,并将唯一标识写入测试逻辑表中;
分析该唯一标识所对应的“设备名称”,并写入测试逻辑表中;
比较两测试项的设备名称;
根据比较结果将得到的逻辑值填入测试逻辑表的相应字段中;及
判断当前所有测试项是否已经比较完毕,如果没有,则重新分析比较。
5.如权利要求4所述的多线程自动测试方法,其中该根据比较结果将得到的逻辑值填入测试逻辑表的相应字段中的步骤,如果该两个测试项的“设备名称”相同,则逻辑值设为no;如果该两个测试项“设备名称”不同,则逻辑值设为yes。
6.如权利要求1所述的多线程自动测试方法,其中该唯一标识的间的互斥关是是根据待测试项的逻辑设备名称的“设备名称”是否相同而决定,如果相同,则满足互斥关是,如果不同,则不满足互斥关是。
7.如权利要求1所述的多线程自动测试方法,其中该执行多线程测试过程的步骤中,***使用两个队列:测试项队列和调度队列。
8.如权利要求1所述的多线程自动测试方法,其中该执行多线程测试过程的步骤,更包含下列步骤:
起始时,测试项队列容纳了全部待测试项,调度队列为空;
***从测试项队列中取得一个测试项放入调度队列,并产生相应的测试线程;
扫描在测试项队列中所有测试项,从中找出所有与调度队列中的测试项都能够并行运行的测试项,如果找到,则将此测试项移入调度队列中,并产生相应的测试线程;
如果调度队列中的某一测试项执行完毕,则将其从调度队列中移除,同时移除该测试项对应的测试线程;及
判断测试项是否执行完毕,直至所有测试项执行完毕。
9.如权利要求8所述的多线程自动测试方法,其中该步骤(3)中扫描的规则是按照测试逻辑表中确定的测试逻辑而决定的。
10.如权利要求7所述的多线程自动测试方法,其中该测试项队列中容纳了所有待执行的测试项。
11.如权利要求7所述的多线程自动测试方法,其中该调度队列中容纳了某时刻正在执行的测试项。
CN 02149912 2002-11-01 2002-11-01 多线程自动测试方法 Expired - Fee Related CN1212569C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02149912 CN1212569C (zh) 2002-11-01 2002-11-01 多线程自动测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02149912 CN1212569C (zh) 2002-11-01 2002-11-01 多线程自动测试方法

Publications (2)

Publication Number Publication Date
CN1432916A true CN1432916A (zh) 2003-07-30
CN1212569C CN1212569C (zh) 2005-07-27

Family

ID=27628734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02149912 Expired - Fee Related CN1212569C (zh) 2002-11-01 2002-11-01 多线程自动测试方法

Country Status (1)

Country Link
CN (1) CN1212569C (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336027C (zh) * 2004-04-13 2007-09-05 英业达股份有限公司 多种互斥条件下的多模式测试***及其方法
CN100365588C (zh) * 2004-03-16 2008-01-30 鸿富锦精密工业(深圳)有限公司 计算机硬件快速诊断测试***及方法
CN100435113C (zh) * 2005-03-08 2008-11-19 中国科学院软件研究所 基于c++映射的ttcn-3测试***及测试方法
CN101147126B (zh) * 2003-12-31 2011-06-08 英特尔公司 使用多线程架构的视觉和图形数据处理
CN102169455A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 用于软件性能测试的调试方法和***
CN101253482B (zh) * 2005-08-30 2012-11-14 英特尔公司 实现公平可缩放的读者写者互斥的方法和装置
US8914800B2 (en) 2003-12-31 2014-12-16 Intel Corporation Behavioral model based multi-threaded architecture
CN106598859A (zh) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Appium多线程实现***及方法
CN106612213A (zh) * 2015-10-26 2017-05-03 ***通信集团公司 设备测试方法及装置
CN108366383A (zh) * 2017-12-29 2018-08-03 杭州雄伟科技开发股份有限公司 冲突调度方法、装置及***
CN111506465A (zh) * 2020-04-20 2020-08-07 北京易点淘网络技术有限公司 电脑功能测试方法及装置
CN112578260A (zh) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 一种基于多线程技术提高芯片测试效率的方法
CN112636994A (zh) * 2019-10-09 2021-04-09 中兴通讯股份有限公司 设备测试方法、***、网络设备和可读存储介质
CN113495498A (zh) * 2021-07-06 2021-10-12 中国工商银行股份有限公司 用于硬件设备的模拟方法、模拟器、设备和介质

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622271B (zh) * 2003-12-31 2016-08-24 英特尔公司 用于多线程处理的使用信号量的方法和设备
CN101147126B (zh) * 2003-12-31 2011-06-08 英特尔公司 使用多线程架构的视觉和图形数据处理
CN102200927B (zh) * 2003-12-31 2013-11-20 英特尔公司 使用多线程架构的视觉和图形数据处理
US8914800B2 (en) 2003-12-31 2014-12-16 Intel Corporation Behavioral model based multi-threaded architecture
CN100365588C (zh) * 2004-03-16 2008-01-30 鸿富锦精密工业(深圳)有限公司 计算机硬件快速诊断测试***及方法
CN100336027C (zh) * 2004-04-13 2007-09-05 英业达股份有限公司 多种互斥条件下的多模式测试***及其方法
CN100435113C (zh) * 2005-03-08 2008-11-19 中国科学院软件研究所 基于c++映射的ttcn-3测试***及测试方法
CN101253482B (zh) * 2005-08-30 2012-11-14 英特尔公司 实现公平可缩放的读者写者互斥的方法和装置
CN102169455A (zh) * 2010-02-26 2011-08-31 国际商业机器公司 用于软件性能测试的调试方法和***
CN106612213A (zh) * 2015-10-26 2017-05-03 ***通信集团公司 设备测试方法及装置
CN106612213B (zh) * 2015-10-26 2020-06-23 ***通信集团公司 设备测试方法及装置
CN106598859A (zh) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Appium多线程实现***及方法
CN108366383A (zh) * 2017-12-29 2018-08-03 杭州雄伟科技开发股份有限公司 冲突调度方法、装置及***
CN112578260A (zh) * 2019-09-29 2021-03-30 北京君正集成电路股份有限公司 一种基于多线程技术提高芯片测试效率的方法
CN112636994A (zh) * 2019-10-09 2021-04-09 中兴通讯股份有限公司 设备测试方法、***、网络设备和可读存储介质
WO2021068686A1 (zh) * 2019-10-09 2021-04-15 中兴通讯股份有限公司 设备测试方法、***、网络设备和可读存储介质
CN111506465A (zh) * 2020-04-20 2020-08-07 北京易点淘网络技术有限公司 电脑功能测试方法及装置
CN113495498A (zh) * 2021-07-06 2021-10-12 中国工商银行股份有限公司 用于硬件设备的模拟方法、模拟器、设备和介质
CN113495498B (zh) * 2021-07-06 2024-05-28 中国工商银行股份有限公司 用于硬件设备的模拟方法、模拟器、设备和介质

Also Published As

Publication number Publication date
CN1212569C (zh) 2005-07-27

Similar Documents

Publication Publication Date Title
CN1212569C (zh) 多线程自动测试方法
US20080271042A1 (en) Testing multi-thread software using prioritized context switch limits
CN100340997C (zh) 一种应用程序的自动测试方法
CN1264083C (zh) 用于在执行被转换指令时维持环境的方法和装置
CN1234218C (zh) 通信设备中具有等级结构事件的处理方法
CN1877544A (zh) 关键字驱动的自动化测试***及方法
CN101055544A (zh) 支持分级存储设置中多个一次性表访问操作的方法和装置
CN1331816A (zh) 使用相关矩阵的调度操作
CN1361489A (zh) 一种日志信息的自动循环存储方法和***
CN1848022A (zh) 一种基于访问控制列表的权限控制方法
CN1251076C (zh) 用来提高至少一个程序执行速度的基于计算机平台的***及方法
CN1567248A (zh) 应用程序日志记录方法及***
CN1702767A (zh) 更新一存储模块的方法和电路
CN101030211A (zh) 用于从测试数据中导出丢失数据对象的方法和***
CN1564489A (zh) 一种通信***有限状态机的测试方法
CN117156172A (zh) 视频切片上报方法、***、存储介质及计算机
CN1975675A (zh) 一种适合移动分布式实时数据库的安全实时并发控制协议
CN1851656A (zh) 一种基于数据库操作的自动化测试方法
CN1170225C (zh) 自动测试***的仪器模块驱动实现方法
CN1851648A (zh) 一种嵌入式***运行时堆栈溢出保护方法
CN1152303C (zh) 在仿真器上实现对操作路径自动记录和回放的方法
CN1851679A (zh) 一种usb设备自动初始化的方法及装置
CN1848093A (zh) 基本输入输出***中高级配置和电源接口模块的调试方法
CN1493995A (zh) 一种控制***安全管理的方法
CN1567238A (zh) 基于Internet的文件镜像方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Xiaohua

Inventor before: Song Jianfu

Inventor before: Liu Wenhan

Inventor before: Shi Yongjun

TR01 Transfer of patent right

Effective date of registration: 20170915

Address after: Yongxing District of Hebei city of Langfang province Xianghe County Yulong Ji Xing District 7 Building 1 unit 302 room

Patentee after: Wang Xiaohua

Address before: Taipei City, Taiwan, China

Patentee before: Inventec Corporation

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 541399 South 50 meters south of Xingan County, Xingan County, Guilin City, the Guangxi Zhuang Autonomous Region

Patentee after: Wang Xiaohua

Address before: Yongxing District of Langfang city in 065000 Hebei County of Xianghe province Xing Ji Yulong District 7 Building 1 unit 302 room

Patentee before: Wang Xiaohua

CP02 Change in the address of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050727

Termination date: 20171101

CF01 Termination of patent right due to non-payment of annual fee