CN106776265A - 测试用例更新方法与装置 - Google Patents

测试用例更新方法与装置 Download PDF

Info

Publication number
CN106776265A
CN106776265A CN201510831282.4A CN201510831282A CN106776265A CN 106776265 A CN106776265 A CN 106776265A CN 201510831282 A CN201510831282 A CN 201510831282A CN 106776265 A CN106776265 A CN 106776265A
Authority
CN
China
Prior art keywords
test case
page
test
update
updating
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.)
Pending
Application number
CN201510831282.4A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510831282.4A priority Critical patent/CN106776265A/zh
Publication of CN106776265A publication Critical patent/CN106776265A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种测试用例更新方法和装置,其中,所述方法包括:从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;按序执行所述测试用例中的操作;若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。通过本发明实施例提供的测试用例更新方案,可实现对更新页面的测试用例的自动更新。

Description

测试用例更新方法与装置
技术领域
本发明涉及页面测试技术领域,特别是涉及一种测试用例更新方法与装置。
背景技术
测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式;同时测试用例也是将测试具体量化的方法之一,不同类别的软件,测试用例是不同的。不同于诸如系统、工具、控制、游戏软件,管理软件的用户需求更加不同的趋势。基于测试用例在自动化测试中的重要性,目前测试用例的维护、更新已经成为本领域技术人员研究的热点。
现有技术中,在维护某一网页的测试用例时,由测试人员手动执行一系列的操作(如,点击按钮、拖拉页面元素、输入文字),然后由相应的设备依据上述一系列的操作生成一个测试用例。测试人员需要手动输入多套操作,才能生成针对该网页的多个测试用例。而当已经对应有测试用例的网页发生更新时,测试人员则还要手动重复输入多套操作,针对该更新页面生成新的测试用例。也就是说,每当页面发生更新,已生成的更新前的页面对应的测试用例将被摒弃,而需要测试人员再手动生成更新页面的测试用例。
而随着互联网技术的快速发展,网页更新速度更是有增无减,那么,现有的测试用例更新方案,势必会花费测试人员大量的时间,既占用人力资源又影响测试用例更新的效率。不仅如此,由于测试用例均由测试人员手动生成,那么,难免会出现测试用例遗漏、或者测试用例中某一操作步骤遗漏的问题。可见,现有技术无法有效地对测试用例进行更新。
发明内容
鉴于现有技术不能有效地对测试用例进行更新的问题,提出了本发明以便提供一种克服上述问题的测试用例更新方法与装置。
依据本发明的一个方面,提供了一种测试用例更新方法,包括:从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;按序执行所述测试用例中的操作;若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
优选地,在所述更新所述测试用例的步骤之前还包括:确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
优选地,所述测试用例更新方法还包括:当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
优选地,在所述更新所述测试用例或生成一个测试用例的步骤之前还包括:显示提示信息;接收对所述提示信息的响应操作;所述更新所述测试用例或生成一个测试用例的步骤包括:依据所述响应操作更新所述测试用例或生成一个测试用例。
优选地,所述显示提示信息的步骤包括:在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;或者,在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
优选地,在所述从数据库中调用更新的页面对应的测试用例进行测试步骤之前,所述方法还包括:按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
优选地,所述按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库的步骤包括:接收测试用例录入开启指令;接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;接收测试用例提交指令,将所述测试用例上传至所述数据库。
优选地,所述按序执行所述测试用例中的操作的步骤包括:从所述测试用例中依次选取排序在前、且未执行的操作并执行;针对当前执行的操作,判断当前操作执行是否成功;若执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。
依据本发明的另一个方面,提供了一种测试用例更新装置,包括:调用模块,用于从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;测试模块,用于按序执行所述测试用例中的操作;更新模块,用于若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
优选地,所述测试用例更新装置还包括:第一确定模块,用于在所述更新模块更新所述测试用例之前,确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
优选地,所述测试用例更新装置还包括:选择更新模块,当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
优选地,,所述测试用例更新装置还包括:显示模块,用于在所述选择更新模块更新所述测试用例或生成一个测试用例之前,显示提示信息;操作接收模块,用于接收对所述提示信息的响应操作;所述选择更新模块具体用于:依据所述响应操作更新所述测试用例或生成一个测试用例。
优选地,所述显示模块包括:第一显示模块,用于在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;第二显示模块,用于在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
优选地,所述测试用例更新装置还包括:生成模块,用于在所述调用模块从数据库中调用更新的页面对应的测试用例进行自动化测试之前,按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
优选地,所述生成模块包括:开启指令接收模块,用于接收测试用例录入开启指令;测试用例生成模块,用于接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;上传模块,用于接收测试用例提交指令,将所述测试用例上传至所述数据库。
优选地,所述测试模块包括:选取模块,用于从所述测试用例中依次选取排序在前、且未执行的操作并执行;第一判断模块,用于针对当前执行的操作,判断当前操作执行是否成功;第二判断模块,用于若所述第一判断模块的判断结果为执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。
本发明实施例提供的测试用例更新方案,当页面更新时浏览器直接从数据库中调用更新前的页面对应的测试用例进行测试,按序执行测试用例中的各操作,在执行过程中,若某一个操作出现异常(即:操作执行未成功,或通过CSS选择器获取的该操作对应的路径与测试用例中该操作对应的路径不相同)时,则更新该测试用例。重复上述过程,对页面对应的各测试用例进行测试,即可实现对更新页面的测试用例的自动更新。可见,本发明实施例提供的测试用例更新方案,由浏览器依据更新前的页面对应的测试用例对更新页面对应的测试用例进行自动更新,相较于现有技术既能够节省人力资源,又能够提升测试用例的更新效率。不仅如此,由于是由设备自动执行的更新操作,因此,造成测试用例漏更新、或测试用例中某操作步骤漏执行的可能性非常低。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例一的一种测试用例更新方法的步骤流程图;
图2是根据本发明实施例二的一种测试用例更新方法的步骤流程图;
图3是根据本发明实施例三的一种测试用例更新装置的结构框图;
图4是根据本发明实施例四的一种测试用例更新装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了本发明实施例一的一种测试用例更新方法的步骤流程图。
本发明实施例的测试用例更新方法包括以下步骤:
步骤101:从数据库中调用更新页面对应的测试用例进行测试。
数据库中存储有该更新页面更新前的页面的测试用例,那么,更新页面对应的用例即更新前的页面的测试用例。其中,每个测试用例包含多个操作、以及各操作对应的路径。
本发明实施例中以对一个测试用例进行更新为例进行说明,需要说明的是,在具体实现过程中,需重复执行上述操作对更新页面对应的各测试用例进行更新以完成更新页面的测试用例的更新。
步骤102:按序执行测试用例中的操作。
由于测试用例中包含多个操作,并且各操作的执行有先后顺序,因此,本步骤需要按顺序在更新页面中执行测试用例中的各操作。
步骤103:若某个操作执行未成功,或通过CSS选择器获取的操作对应的路径与测试用例中该操作对应的路径不相同,则更新该测试用例。
CSS(Cascading Style Sheets,层叠样式表)选择器可以使用页面的CSS将对页面中的元素的操作与路径进行一一对应。
其中,操作执行未成功也就是当前操作无法执行。例如:测试用例中包含操作1、2、和3,而在更新页面中增加了一个页面元素,更新页面的逻辑为必须点击完增加的该页面元素才可以执行操作3。因此,在更新页面中执行该测试用例时,操作1、2均执行成功后,由于测试用例中未设置关于点击新增的该页面元素的操作,因此,直接执行操作3无法执行成功。此时,则需增加点击该新增的页面元素的操作,然后,在测试用例中增加该操作以及其对应的路径,然后,继续执行测试用例中的操作3。
路径不同则可能是更新页面中某一按钮的位置发生了变化,测试用例中点击该按钮的操作对应的路径则与在更新后的页面中点击该按钮的路径不同。当然,上述仅是以按钮的位置发生变化为例对操作路径的变化进行了举例说明,在具体实现过程中还可以有其他情况造成操作路径发生变化,本发明实施例中对此不再一一列举。
其中,更新该测试用例包括但不限于:在某个操作执行未成功时,将执行该操作前必须执行的操作以及该操作在更新页面中对应的路径添加到测试用例中;通过CSS选择器获取的操作对应的路径与测试用例中该操作对应的路径不相同时,采用更新页面中该操作对应的路径替换测试用例中该操作对应的路径。
通过本发明实施例提供的测试用例更新方法,当页面更新时,浏览器直接从数据库中调用更新前的页面对应的测试用例进行测试,按序执行测试用例中的各操作,在执行过程中,若某一个操作出现异常(即:操作执行未成功,或通过CSS选择器获取的该操作对应的路径与测试用例中该操作对应的路径不相同)时,则更新该测试用例。重复上述过程,对页面对应的各测试用例进行测试,即可实现对更新页面的测试用例的自动更新。可见,本发明实施例提供的测试用例更新方法,由浏览器依据更新前的页面对应的测试用例对更新页面对应的测试用例进行自动更新,相较于现有技术既能够节省人力资源,又能够提升测试用例的更新效率。不仅如此,由于是由设备自动执行的更新操作,因此,造成测试用例漏更新、或测试用例中某操作步骤漏执行的可能性非常低。
实施例二
参照图2,示出了本发明实施例二的一种测试用例更新方法的步骤流程图。
本发明实施例的测试用例更新方法具体包括以下步骤:
步骤201:浏览器按照设定规则为更新前的页面生成测试用例,并将生成的测试用例上传至数据库。
一种优选的按照设定规则为更新前的页面生成测试用例,并将生成的测试用例上传至数据库的方式如下:
S1:接收测试用例录入开启指令。
在浏览器中登录相应的测试用例生成界面后,点击开启指令,用户即可开始录入待生成的测试用例对应的各操作。其中,操作包括但不限于:点击、拖拉、输入操作。
S2:接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例。
用户每输入一个操作,CSS选择器即根据该网页的根结构查找到该操作对应的路径。浏览器将按照顺序将各操作以及操作对应的路径进行记录生成测试用例。也就是说,一个测试用例包含多个操作以及各操作之间的执行逻辑,并且,还包含各操作对应的路径。
S3:接收测试用例提交指令,将测试用例上传至数据库。
当用户输入完成预生成的该测试用例对应的全部操作后,即可点击相应按钮向浏览器发出提交指令,浏览器接收到测试用例提交指令后,即将生成的测试用例上传至数据库进行存储。
通过步骤S1、S2以及S3即生成并上传了一个测试用例。重复执行上述步骤,即可完成多个测试用例的生成、上传。至此,一个页面对应的测试用例即可全部生成、并上传完成。
需要说明的是,本步骤为页面更新执行的操作,若页面已更新或数据库中已存在更新前的页面对应的测试用例,则无需再执行步骤。
步骤202:浏览器从数据库中调用更新页面对应的测试用例进行测试。
其中,测试用例包含多个操作、以及各操作对应的路径。
通过步骤201在数据库中已经存储有更新前的页面的多个测试用例。本步骤中从中提取一个测试用例进行自动更新。需要说明的是,本发明实施例中步骤202以及以后的步骤是以更新一个测试用例为例进行的说明,在具体实现过程中,可以重复执行该过程对更新页面对应的各测试用例进行更新,直至更新页面对应的全部测试用例均更新完毕。
需要说明的是,从数据库中调用测试用例时可以采用任意适当的方式进行,本发明实施例中对此不作具体限制。例如:在调用时可以实时调用测试用例中的各步骤进行测试,也可以将测试用例包含的全部操作一并调用到浏览器中后再进行测试。
步骤203:浏览器按序执行测试用例中的操作。
一种优选的浏览器按序执行所述测试用例中的操作的方式:从测试用例中依次选取排序在前、且未执行的操作并执行;针对当前执行的操作,判断当前操作执行是否成功;若执行成功,则判断通过CSS选择器获取的当前操作对应的路径与测试用例中选取的操作对应的路径是否相同。
当当前操作执行成功、且通过CSS选择器获取的当前操作对应的路径与测试用例中选取的操作对应的路径相同时,则选取下一个操作并执行。
步骤204:若某个操作执行未成功,或通过CSS选择器获取的该操作对应的路径与测试用例中该操作对应的路径不相同,则判断更新页面的业务逻辑相较于更新前的页面是否发生了变化;若是,则执行步骤205,若否,则执行步骤206。
判断更新页面的业务逻辑相较于更新前的页面是否发生变化时,可以采用相关技术,本发明实施例中对此不作具体限定。例如:可以通过更新前后的页面的整体布局、底层架构进行判断;若整体布局发生了较大的变化,或底层架构已重建,则可确定更新页面的业务逻辑相较于更新前发生了变化。
步骤205:当浏览器确定更新页面的业务逻辑相较于更新前的页面已发生变化时,更新该测试用例。
由于更新页面的业务逻辑已经发生了变化,此时,更新前的页面的测试用例即使保留也没有任何意义,仅是会增加数据库的存储负担,因此,在确定页面的业务逻辑发生变化后,直接更新数据库中的该测试用例,即进行测试用例的替换。
其中,对测试用例进行更新包括但不限于:在某个操作执行未成功时,将执行该操作前必须执行的操作以及该操作在更新页面中对应的路径添加到测试用例中;通过CSS选择器获取的操作对应的路径与测试用例中该操作对应的路径不相同时,采用更新页面中该操作对应的路径替换测试用例中该操作对应的路径。
步骤206:当浏览器确定更新页面的业务逻辑相较于更新前的页面未发生变化时,显示提示信息。
若更新页面仅是增加或删除了一些页面元素,或者是更改了页面的背景色、或者某一页面元素的位置发生了变化,则可确定更新页面的业务逻辑未发生变化。
显示提示信息,目的是为了提示用户当前操作出现了异常,并且将异常操作对应的页面元素、或者异常操作在测试用例中的路径批注显示给用户。这样,用户可直观确定哪块出现了异常,可以进一步查找异常对应的代码。此外,在提示信息除对异常进行标注外,还可以提供用户选项,以供用户选择进行测试用例更新还是生成一个新的测试用例。
两种优选的提示信息的设置方式如下:
第一种优选的提示信息的设置方式:在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项。
其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项,用户可以根据需求选择相应的选项。
例如:某商品页面的测试用例为包含选择商品尺码、商品数量、添加购物车、支付操作。而该商品页面针对双十一活动增加了“满减”页面元素,并且更新页面中设置了必须选定该页面元素才可以进行支付操作。那么,在更新页面上执行该测试用例时,则可顺利执行选择商品尺码、商品数量、添加购物车的操作,而当执行支付操作时,则无法成功。此时,则会在更新界面上对“满减”页面元素进行标注,以提示用户需选择该元素才可以进行后续操作,并且,此时由于测试用例发生了变化,则需要给出用户提示选项以提示用户进行测试用例更新还是生成一个新的测试用例。此时,用户点击“满减”页面元素、选择某一提示选项后,即可继续执行测试用例中未执行成功的支付操作。
第二种优选的提示信息的设置方式:在获取的测试用例中,将操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
第二种优选的提示信息的设置方式更适用于操作执行成功,但路径不同的情况,当然,也可以适用于操作未成功的情况。
例如:界面按钮A位于图片B的左边,但更新后按钮A则位于图片B的右边,即页面元素的位置发生了变化。若更新前的测试用例包括操作依次为:双击图片B,点击按钮A,输入信息C。那么,在更新页面上执行该测试用例时,可以顺利的执行双击图片B的操作,点击按钮A的操作也可以执行成功,但是,进行A操作对应的路径比对时,测试用例中点击按钮A对应的路径与更新页面中点击按钮A对应的路径不同,此时,则在测试用例中将点击按钮A对应的路径进行标注,以提示用户此处路径发生了变化。并且,由于测试用例发生了变化,则需要给出用户提示选项以提示用户进行测试用例更新还是生成一个新的测试用例。此时,用户选择某一提示选项后,即可继续执行测试用例中未执行的输入信息C的操作。
步骤207:浏览器接收对提示信息的响应操作。
响应操作包括但不限于:对提示选项的选择操作(选择用于指示对测试用例进行替换的选项或选择用于指示生成测试用例的选项)、对更新界面上与无法成功执行的操作关联的页面元素的相关操作(点击该页面元素、拖动该页面元素等)。
步骤208:浏览器依据响应操作更新测试用例或生成一个测试用例。
当用户选择用于指示对测试用例进行替换的选项时,浏览器则更新测试用例,此时,数据库中将不存在原来的测试用例。
当用户选择用于指示生成测试用例的选项时,浏览器则针对本次测试用例的测试生成一个新的测试用例,此时,数据库中同时存在原来的测试用例以及新生成的测试用例。
例如:更新界面仅是针对双十一活动而更新的业务逻辑未发生变化,那么,选择生成一个新的测试用例即可保存原有的测试用例,这样,当活动取消后更新页面再次更新至最初状态时,原有的测试用例还试用。如若,直接选择替换原有测试用例,那么,当活动取消后更新页面再次更新至最初状态时,则还需进行测试用例更新,会增加测试用例更新负担。
再例如:更新界面的业务逻辑发生了变化,那么,若选择生成一个新的测试用例,原来保存的测试用例将依然占用数据库的存储空间,而由于其业务逻辑已经发生了变化,原有的测试用例将失去了存在的意义,因此,保存原有测试并不会对后续测试用例更新提供任何贡献,仅是会占用数据库的存储空间,增加数据库的存储负担。此时,更为优选的则是选择更新测试用例。因此,本发明实施例中为用户提供两种选择,以适应用户的不同需求。
通过本发明实施例提供的测试用例更新方法,除具有实施例一中所示的测试用例更新方法所具有的有益效果外,还可以依据页面更新时是否发生了业务逻辑更新而提供不同的测试用例更新方案,具体地:当更新页面的业务逻辑较更新前未发生变化,则发现测试用例中的某操作异常时,则给出提示信息,供用户选择是进行测试用例更新还是生成一个新的测试用例,用户可以依据需求选择相应的更新方案。当更新页面的业务逻辑发生变化时,则直接将原有的测试逻辑进行更新。可见,本发明实施例提供的测试用例更新方法,可以依据用户的需求提供不同的测试用例更新方案,更能够满足用户的个性化需求。
实施例三
参照图3,示出了本发明实施例三的一种测试用户更新装置的结构框图。
本发明实施例的测试用例更新装置包括:调用模块301,用于从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;测试模块302,用于按序执行所述测试用例中的操作;更新模块303,用于若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
通过本发明实施例提供的测试用例更新装置,当页面更新时,浏览器直接从数据库中调用更新前的页面对应的测试用例进行测试,按序执行测试用例中的各操作,在执行过程中,若某一个操作出现异常(即:执行未成功,或通过CSS选择器获取的该操作对应的路径与测试用例中该操作对应的路径不相同)时,则更新该测试用例。重复上述过程,对页面对应的各测试用例进行测试,即可实现对更新页面的测试用例的自动更新。可见,本发明实施例提供的测试用例更新装置,由浏览器依据更新前的页面对应的测试用例对更新页面对应的测试用例进行自动更新,相较于现有技术既能够节省人力资源,又能够提升测试用例的更新效率。不仅如此,由于是由设备自动执行的更新操作,因此,造成测试用例漏更新、或测试用例中某操作步骤漏执行的可能性非常低。
实施例四
参照图4,示出了本发明实施例四的一种测试用例更新装置的结构框图。
本发明实施例是对实施例三中的测试用例更新装置的进一步优化,优化后的测试用例更新装置,包括:调用模块401,用于从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;测试模块402,用于按序执行所述测试用例中的操作;更新模块403,用于若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
优选地,所述测试用例更新装置还包括:第一确定模块404,用于在所述更新模块403更新所述测试用例之前,确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
优选地,所述测试用例更新装置还包括:选择更新模块405,当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
优选地,所述测试用例更新装置还包括:显示模块406,用于在所述选择更新模块405更新所述测试用例或生成一个测试用例之前,显示提示信息;操作接收模块407,用于接收对所述提示信息的响应操作;所述选择更新模块具体用于:依据所述响应操作更新所述测试用例或生成一个测试用例。
优选地,所述显示模块406包括:第一显示模块4061,用于在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;第二显示模块4062,用于在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
优选地,所述测试用例更新装置还包括:生成模块408,用于在所述调用模块401从数据库中调用更新的页面对应的测试用例进行自动化测试之前,按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
优选地,所述生成模块408包括:开启指令接收模块4081,用于接收测试用例录入开启指令;测试用例生成模块4082,用于接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;上传模块4083,用于接收测试用例提交指令,将所述测试用例上传至所述数据库。
优选地,所述测试模块402包括:选取模块4021,用于从所述测试用例中依次选取排序在前、且未执行的操作并执行;第一判断模块4022,用于针对当前执行的操作,判断当前操作执行是否成功;第二判断模块4023,用于若所述第一判断模块4022的判断结果为执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。
本实施例的测试用例更新装置用于实现前述实施例一以及实施例二中相应的测试用例更新方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的测试用例更新方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的测试用例更新方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种测试用例更新方法,包括:
从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;
按序执行所述测试用例中的操作;
若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
A2、根据A1所述的方法,其中,在所述更新所述测试用例的步骤之前还包括:
确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
A3、根据A2所述的方法,其中,所述测试用例更新方法还包括:
当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
A4、根据A3所述的方法,其中,在所述更新所述测试用例或生成一个测试用例的步骤之前还包括:
显示提示信息;
接收对所述提示信息的响应操作;
所述更新所述测试用例或生成一个测试用例的步骤包括:依据所述响应操作更新所述测试用例或生成一个测试用例。
A5、根据A4所述的方法,其中,所述显示提示信息的步骤包括:
在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;或者,
在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
A6、根据A1所述的方法,其中,在所述从数据库中调用更新的页面对应的测试用例进行测试步骤之前,所述方法还包括:
按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
A7、根据A6所述的方法,其中,所述按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库的步骤包括:
接收测试用例录入开启指令;
接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;
接收测试用例提交指令,将所述测试用例上传至所述数据库。
A8、根据A1所述的方法,其中,所述按序执行所述测试用例中的操作的步骤包括:
从所述测试用例中依次选取排序在前、且未执行的操作并执行;
针对当前执行的操作,判断当前操作执行是否成功;
若执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。
本发明公开了B9、一种测试用例更新装置,包括:
调用模块,用于从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;
测试模块,用于按序执行所述测试用例中的操作;
更新模块,用于若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
B10、根据B9所述的装置,其中,所述测试用例更新装置还包括:
第一确定模块,用于在所述更新模块更新所述测试用例之前,确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
B11、根据B10所述的装置,其中,所述测试用例更新装置还包括:
选择更新模块,当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
B12、根据B11所述的装置,其中,所述测试用例更新装置还包括:
显示模块,用于在所述选择更新模块更新所述测试用例或生成一个测试用例之前,显示提示信息;
操作接收模块,用于接收对所述提示信息的响应操作;
所述选择更新模块具体用于:依据所述响应操作更新所述测试用例或生成一个测试用例。
B13、根据B12所述的装置,其中,所述显示模块包括:
第一显示模块,用于在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;
第二显示模块,用于在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
B14、根据B9所述的装置,其中,所述测试用例更新装置还包括:
生成模块,用于在所述调用模块从数据库中调用更新的页面对应的测试用例进行自动化测试之前,按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
B15、根据B14所述的装置,其中,所述生成模块包括:
开启指令接收模块,用于接收测试用例录入开启指令;
测试用例生成模块,用于接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;
上传模块,用于接收测试用例提交指令,将所述测试用例上传至所述数据库。
B16、根据B9所述的装置,其中,所述测试模块包括:
选取模块,用于从所述测试用例中依次选取排序在前、且未执行的操作并执行;
第一判断模块,用于针对当前执行的操作,判断当前操作执行是否成功;
第二判断模块,用于若所述第一判断模块的判断结果为执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。

Claims (10)

1.一种测试用例更新方法,包括:
从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;
按序执行所述测试用例中的操作;
若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
2.根据权利要求1所述的方法,其中,在所述更新所述测试用例的步骤之前还包括:
确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
3.根据权利要求2所述的方法,其中,所述测试用例更新方法还包括:
当确定更新页面的业务逻辑相较于更新前的页面未发生变化时,更新所述测试用例或生成一个测试用例。
4.根据权利要求3所述的方法,其中,在所述更新所述测试用例或生成一个测试用例的步骤之前还包括:
显示提示信息;
接收对所述提示信息的响应操作;
所述更新所述测试用例或生成一个测试用例的步骤包括:依据所述响应操作更新所述测试用例或生成一个测试用例。
5.根据权利要求4所述的方法,其中,所述显示提示信息的步骤包括:
在更新界面上将与无法成功执行的操作关联的页面元素进行标注,并显示提示选项;或者,
在获取的所述测试用例中,将所述操作对应的路径进行标注,并显示提示选项;其中,提示选项包括:用于指示进行测试用例替换的选项,以及用于指示生成测试用例的选项。
6.根据权利要求1所述的方法,其中,在所述从数据库中调用更新的页面对应的测试用例进行测试步骤之前,所述方法还包括:
按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库。
7.根据权利要求6所述的方法,其中,所述按照设定规则为更新前的页面生成测试用例,并将生成的所述测试用例上传至数据库的步骤包括:
接收测试用例录入开启指令;
接收用户输入的多个操作并调用CSS选择器查找各操作对应的路径,同时按照接收顺序记录对操作以及操作对应的路径进行记录,生成测试用例;
接收测试用例提交指令,将所述测试用例上传至所述数据库。
8.根据权利要求1所述的方法,其中,所述按序执行所述测试用例中的操作的步骤包括:
从所述测试用例中依次选取排序在前、且未执行的操作并执行;
针对当前执行的操作,判断当前操作执行是否成功;
若执行成功,则判断通过CSS选择器获取的当前操作对应的路径与所述测试用例中选取的所述操作对应的路径是否相同。
9.一种测试用例更新装置,包括:
调用模块,用于从数据库中调用更新页面对应的测试用例进行测试;其中,所述测试用例包含多个操作、以及各操作对应的路径;
测试模块,用于按序执行所述测试用例中的操作;
更新模块,用于若某个操作执行未成功,或通过CSS选择器获取的所述操作对应的路径与所述测试用例中所述操作对应的路径不相同,则更新所述测试用例。
10.根据权利要求9所述的装置,其中,所述测试用例更新装置还包括:
第一确定模块,用于在所述更新模块更新所述测试用例之前,确定所述更新页面的业务逻辑相较于更新前的页面已发生变化。
CN201510831282.4A 2015-11-25 2015-11-25 测试用例更新方法与装置 Pending CN106776265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510831282.4A CN106776265A (zh) 2015-11-25 2015-11-25 测试用例更新方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510831282.4A CN106776265A (zh) 2015-11-25 2015-11-25 测试用例更新方法与装置

Publications (1)

Publication Number Publication Date
CN106776265A true CN106776265A (zh) 2017-05-31

Family

ID=58964763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510831282.4A Pending CN106776265A (zh) 2015-11-25 2015-11-25 测试用例更新方法与装置

Country Status (1)

Country Link
CN (1) CN106776265A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959079A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种以自动化测试为主导的软件敏捷开发方法及系统
CN109992496A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种用于自动化测试的数据处理方法和装置
CN112597032A (zh) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 一种测试案例维护方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992496A (zh) * 2017-12-29 2019-07-09 北京京东尚科信息技术有限公司 一种用于自动化测试的数据处理方法和装置
CN108959079A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种以自动化测试为主导的软件敏捷开发方法及系统
CN108959079B (zh) * 2018-06-27 2021-08-20 郑州云海信息技术有限公司 一种以自动化测试为主导的软件敏捷开发方法及系统
CN112597032A (zh) * 2020-12-26 2021-04-02 中国农业银行股份有限公司 一种测试案例维护方法及装置

Similar Documents

Publication Publication Date Title
US11163731B1 (en) Autobuild log anomaly detection methods and systems
Wu et al. A discrete particle swarm optimization for covering array generation
CN110168578A (zh) 具有任务特定路径的多任务神经网络
CN104050078B (zh) 测试脚本生成系统
CN107678951A (zh) 测试用例自动化管理方法、装置、设备及存储介质
CN104794057B (zh) 一种交叉事件自动化测试方法和装置
CN111191879B (zh) 一种综合评估的方法和系统
CN111401722B (zh) 智能决策方法和智能决策系统
CN103714002B (zh) 基于配置系统的项目测试方法及装置
JP2019114158A (ja) カバレッジテスト支援装置およびカバレッジテスト支援方法
CN110245145A (zh) 关系型数据库到Hadoop数据库的结构同步方法和装置
CN112433944A (zh) 业务测试方法、装置、计算机设备和存储介质
CN109614312A (zh) 测试用例生成方法、装置、电子设备及存储介质
CN106776265A (zh) 测试用例更新方法与装置
CN106021101A (zh) 对移动终端进行测试的方法及装置
CN110471652A (zh) 任务编排方法、编排器、设备及可读存储介质
CN106815137A (zh) 用户界面测试方法与装置
CN104142959A (zh) 基于专家知识数据库的自动化测试装置及方法
US8375365B2 (en) Customization verification
CN109871321A (zh) 一种测试用例代码自动生成的方法及测试用例管理平台
US11573885B1 (en) System and method for test selection according to test impact analytics
CN106293922A (zh) 异步任务处理方法及系统
CN112990461B (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
CN107066391A (zh) 测试用例的处理方法以及系统
US20200302059A1 (en) Device, Method, and System for Synthesizing Variants of Semantically Equivalent Computer Source Code using Computer Source Code Components to Protect Against Cyberattacks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170531

WD01 Invention patent application deemed withdrawn after publication