一种测试用例的执行方法

文档序号:6527241阅读:740来源:国知局
专利名称:一种测试用例的执行方法
技术领域
本发明涉及一种测试方法,特别涉及一种测试用例的执行方法。
背景技术
在对逻辑的系统测试的过程中,通常有几十个甚至几百个测试用例需要执行,而每个测试用例的执行时间又大约为几十分钟到几个小时不等。对于PC机来讲,由于系统仿真所耗的计算机资源比较多,所以在计算机测试执行的同时打开其他的任务会变得很慢而使工作效率降低。为了提高工作效率,一个常用的解决方法是把测试用例的执行安排在晚上或周末等休息时间进行,而把宝贵的上班时间用来分析这些测试用例执行的结果以及出现的问题。在这种情形下,就需要通过一个方法来定义需要执行的测试用例集合,用以控制计算机,使其在没有人为干预的情况下自动地、逐个地执行这个集合中指定的测试用例。
现在普遍采用的方法是把需要执行的测试用例逐个写在一个批处理文件中,计算机逐行执行该批处理文件,从而实现在没有人为干预的情况下自动执行多个测试用例的目的。
虽然这种方法在一定程度上解决了自动执行多个测试用例的问题,但是对于有几百个甚至上千个测试用例的测试工程来讲,这种逐个定义的方法稍显繁琐,不够简捷和高效。

发明内容
本发明所要解决的技术问题在于为解决现有技术中自动执行脚本繁琐的不足,提供一种测试用例的执行方法,可简捷高效地处理多个测试用例的自动执行过程。
为了解决上述技术问题,本发明采用的技术方案在于提供一种测试用例的执行方法,其特征在于,包括如下步骤(a)建立关键词列表,该关键词列表中包含有至少一个关键词;(b)搜索所有测试用例,并建立一个包含有所述测试用例的名称的所有测试用例列表;(c)依次将所有测试用例列表中的测试用例名称分别与关键词列表中的每一关键词进行比较,判断该测试用例名称是否包含有关键词,如包含,则执行该测试用例。
其中,步骤(c)进一步包括(c1)提取该关键词的个数m,提取所有测试用例列表中的测试用例的个数n,并将测试用例索引i赋值1;(c2)取出当前测试用例索引i所指向的所有测试用例列表中的测试用例名称;(c3)将关键词索引j赋值1;(c4)取出当前关键词索引j指向的关键词列表中的关键词;(c5)将当前测试用例索引i所指向的所有测试用例列表中的测试用例名称与当前关键词索引j所指向的关键词列表中的关键词相比较,判断该测试用例名称是否包含有该关键词;(c6)如果该测试用例的名称包含有该关键词,则执行该测试用例,执行完毕后,则转入步骤(c9);(c7)如果该测试用例的名称未包含该关键词,则在将当前关键词索引j加1,并判断j是否大于m;(c8)如果当前关键词索引j小于m,则转入步骤(c4);(c9)如果当前关键词索引j大于m,将当前测试用例索引i加1,判断当前测试用例索引i是否大于n;(c10)如果当前测试用例索引i小于n,则转至步骤(c2);(c11)如果当前测试用例索引i大于n,则流程结束。
其中,所述关键词列表中的关键词至少包含在所有测试用例列表中的一个测试用例的名称中。
本发明的有益效果在于在本发明中,通过定义关键词列表,并采用自动将测试用例与该关键词列表中的关键词比较,以自动执行需要执行的测试用例。采用该方法,较直接逐条定义需要执行的测试用例更简单,效率更高,从而可提高测试的效率。


图1是本发明一种测试用例的执行方法的主流程图。
具体实施例方式
对测试用例的命名一般都遵循一定的规律。例如,其可以反映该测试用例的测试目的。诸如下面的测试用例名tc20201_dn_arp、tc20202_dn_arp、tc20203_dn_arp、tc20501_dn_tcp、tc20502_dn_tcp、tc20503_dn_tcp、tc20504_dn_tcp、tc20601_dn_udp、tc20602_dn_udp、tc20603_dn_udp、tc20604_dn_udp、tc30201_up_arp、tc30202_up_arp、tc30203_up_arp、tc30501_up_tcp,其中“tc”是test case的缩写,代表是一个测试用例;接下来在第一个下划线之前的5位数字是一个测试用例的流水号;第一个下划线后的“up”和“dn”分别代表上行处理(UP)和下行处理(DOWN),之后的第二个下划线后的部分(如arp、tcp、udp)是表示该测试用例所测试的协议。上述的测试用例名称仅用来进行举例说明,也可以采用其他的方式来对测试用例进行命名。
在本发明中,首先要建立一个待执行测试用例名称包含的关键词列表(下称“关键词列表”);然后再通过逐个比较每个测试用例的名称和该“关键词列表”中的关键词是否匹配,如果匹配的话,则说明该测试用例需要执行,故即可以确定所有需要执行的测试用例。在测试执行时只需在这个“关键词列表”中填入待运行的测试用例所包含的关键词即可。例如对于上文中所举的各个测试用例,如果要运行全部测试用例,只需在这个“关键词列表”中填入所有测试用例的关键词“tc”即可;如果要运行所有的上行测试用例只需在这个“关键词列表”中填入上行测试用例的关键词“up”即可;同样,如果想运行下行的udp和上行的arp测试用例,就需要在这个列表中加入两个关键字“dn_udp”和“up_arp”。这种方法要比传统的一条条列出所有测试用例的方法更方便。
再请结合图1所示,具体说明本发明的流程图。首先,在步骤S100中,选取待执行的测试用例的关键词,建立一个“关键词列表”,在该关键词列表中包含有该选取的关键词,提取该关键词的个数m,其中关键词的选择已在上文中进行了叙述。在步骤S105中,搜索测试用例目录下的所有测试用例,建立一个“所有测试用例列表”,该所有测试用例列表中包含有这些所有测试用例的名称,并求出这些测试用例的个数,计为n;并将当前测试用例索引i赋值1;在步骤S110中,取出“所有测试用例列表”中当前测试用例索引i所指向的测试用例名称,这里i为1,即首先取出“所有测试用例列表”的第一个测试用例。在步骤S120中,对当前关键词索引j赋值1;在步骤S130中,取出当前关键词索引j指向的“关键词列表”中的关键词。在步骤S140中,将当前测试用例索引i所指向的“所有测试用例列表”中的测试用例名称与当前关键词索引j指向的“关键词列表”中的关键词相比较,判断该测试用例名称是否包含有该关键词。如果这个测试用例的名称包含了“关键词列表”中的该关键词,则在步骤S150中,执行该测试用例,执行完毕后,则转入步骤S180。如果这个测试用例的名称未包含“关键词列表”中的该关键词,则在步骤S160中,将当前关键词索引j加1,并在接下来的步骤S170中,判断j是否大于m。如果此时j小于m,则并转入步骤S130,重复步骤上述,即将该测试用例名称与其他的关键词进行比较。如果此时j大于m,说明已对“关键词列表”中的所有关键词都比较完成了,则在步骤S180中,将当前测试用例索引i加1。并在步骤S190中判断此时i是否大于n。如果此时i小于n,说明在“所有测试用例列表”中尚有未进行比较的测试用例,则转至步骤S110,再选取“所有测试用例列表”中的下一个测试用例继续和“关键词列表”中的各个关键词相比较,并重复上述步骤。如果此时i大于n,则说明在“所有测试用例列表”中所有测试用例均进行了比较,并对需要执行的测试用例执行完成,这时流程结束。这样就可以实现自动对“所有测试用例列表”中所有测试用例进行分析执行。
在自动连续执行测试用例等不涉及逻辑修改的情况下,重复执行某个测试用例没有任何意义。图1中的流程图可以很容易的避免这个问题。例如,如果“关键词列表”中包含两个关键词“dn”和“tcp”,则所有的下行测试用例和所有的tcp测试用例(包括上行tcp和下行tcp)都被执行,但下行的tcp测试用例并不会被重复执行。
本发明通过定义“待执行测试用例名称包含的关键词列表”,控制计算机自动执行多个测试用例,较直接逐条定义需要执行的测试用例更简单,效率更高。所以采用本发明提供的测试用例批处理执行方法可提高测试的效率。
权利要求
1.一种测试用例的执行方法,其特征在于,包括如下步骤(a)建立关键词列表,该关键词列表中包含有至少一个关键词;(b)搜索所有测试用例,并建立一个包含有所述测试用例的名称的所有测试用例列表;(c)依次将所有测试用例列表中的测试用例名称分别与关键词列表中的每一关键词进行比较,判断该测试用例名称是否包含有关键词,如包含,则执行该测试用例。
2.如权利要求1所述的测试用例的执行方法,其特征在于,步骤(c)进一步包括(c1)提取该关键词的个数m,提取所有测试用例列表中的测试用例的个数n,并将测试用例索引i赋值1;(c2)取出当前测试用例索引i所指向的所有测试用例列表中的测试用例名称;(c3)将关键词索引j赋值1;(c4)取出当前关键词索引j指向的关键词列表中的关键词;(c5)将当前测试用例索引i所指向的所有测试用例列表中的测试用例名称与当前关键词索引j所指向的关键词列表中的关键词相比较,判断该测试用例名称是否包含有该关键词;(c6)如果该测试用例的名称包含有该关键词,则执行该测试用例,执行完毕后,则转入步骤(c9);(c7)如果该测试用例的名称未包含该关键词,则在将当前关键词索引j加1,并判断j是否大于m;(c8)如果当前关键词索引j小于m,则转入步骤(c4);(c9)如果当前关键词索引j大于m,将当前测试用例索引i加1,并判断当前测试用例索引i是否大于n;(c10)如果当前测试用例索引i小于n,则转至步骤(c2);(c11)如果当前测试用例索引i大于n,则流程结束。
3.如权利要求1或2所述的测试用例的执行方法,其特征在于,所述关键词列表中的关键词至少包含在所有测试用例列表中的一个测试用例的名称中。
全文摘要
一种测试用例的执行方法。包括(a)建立一个关键词列表,该关键词列表中包含有至少一个关键词;(b)搜索所有测试用例,并建立一个包含有所述测试用例的名称的所有测试用例列表;(c)依次将所有测试用例列表中的测试用例名称分别与关键词列表中的每一关键词进行比较,判断该测试用例名称是否包含有关键词,如包含,则执行该测试用例。采用本发明所提供的方法,较直接逐条定义需要执行的测试用例的方法更加简单,效率更高,从而可提高测试的效率。
文档编号G06F17/30GK1858716SQ20051003453
公开日2006年11月8日 申请日期2005年4月30日 优先权日2005年4月30日
发明者麻远声 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1