CN103106138B - 测试用例与测试脚本同步的方法及装置 - Google Patents
测试用例与测试脚本同步的方法及装置 Download PDFInfo
- Publication number
- CN103106138B CN103106138B CN201110362223.9A CN201110362223A CN103106138B CN 103106138 B CN103106138 B CN 103106138B CN 201110362223 A CN201110362223 A CN 201110362223A CN 103106138 B CN103106138 B CN 103106138B
- Authority
- CN
- China
- Prior art keywords
- script
- test
- case
- mark
- test script
- 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.)
- Active
Links
Abstract
本申请公开了一种测试用例与测试脚本同步的方法及装置,用以提高测试用例与测试脚本同步的效率和准确性。其中,所述测试用例与测试脚本同步方法,包括:获得发生变化的测试脚本的脚本信息,脚本信息包括脚本标识;查找所述脚本标识对应的统一标识符;将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至TC系统,指示所述TC系统对自身存储的对应的测试用例进行同步操作;以及确定发生变化的测试用例的变化类型,包括新增、修改和删除;并提取该测试用例对应的用例信息,包括用例标识;在变化类型为新增时,创建新测试脚本;在变化类型为修改时,修改对应的测试脚本;在变化类型为删除时,删除测试用例与对应的测试脚本之间的对应关系。
Description
技术领域
本申请涉及计算机测试技术领域,尤其涉及一种测试用例与测试脚本同步的方法及装置。
背景技术
在软件产品开发过程中,有两种主要的测试用例:手工测试用例和自动化测试用例。手工测试用例(TC,Testcase)包含一个测试逻辑和一组测试参数,测试者根据测试用例确定应用软件或者软件系统是否能够正确工作。通常情况下,TC存储在用例管理系统(简称TC系统)中,TC系统可以用于管理TC,通常使用网页(Web)技术开发,常见的TC系统包括QC、Testuff和Testlink等。自动化测试用例(Test-automationscript),简称测试脚本,能够借助计算机完成应用软件或者软件系统的自动化测试,通常以文件方式存储在文件系统中,每种编程语言均有其特定的测试脚本。可见,TC与测试脚本分别存储在不同的系统中,但是,二者之间又存在某种对应关系,如图1所示,为TC与测试脚本时间的对应关系示意图。因此,实际应用中,通常需要能够统一维护、查看和执行TC与测试脚本,这就需要保证二者之间的数据一致性,避免由于二者之间的数据不一致而导致冲突。
现有技术中,为了保证TC与测试脚本之间的数据一致性,通常采用以下解决方案:在TC系统中,手动标记TC是否已经实现自动化,如果是,则设置与其对应的测试脚本;或者借助一些工具从TC系统直接生成测试脚本,但是,由于TC系统中存储的TC数据成千上万,采用手工维护的方式工作量巨大,使得TC与测试脚本同步效率较低,同时由于手工维护容易产生遗漏,降低了TC与测试脚本同步的准确性。
发明内容
本申请实施例提供一种测试用例与测试脚本之间同步的方法及装置,用以提高测试用例与测试脚本同步的效率和准确性。
本申请实施例提供一种测试用例与测试脚本同步的方法,包括:
依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,所述脚本信息包括脚本标识;
根据预先存储的脚本标识与统一标识符的映射关系,查找所述脚本标识对应的统一标识符;
将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至TC系统,指示所述TC系统对自身存储的、所述统一标识符对应的测试用例与发生变化的测试脚本进行同步操作。
本申请实施例提供一种测试用例与测试脚本同步的装置,包括:
获得单元,用于依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,所述脚本信息包括脚本标识;
查找单元,用于根据预先存储的脚本标识与统一标识符的映射关系,查找所述脚本标识对应的统一标识符;
提交单元,用于将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至TC系统,指示所述TC系统对自身存储的、所述统一标识符对应的测试用例与发生变化的测试脚本进行同步操作。
本申请实施例提供的测试用例与测试脚本同步的方法,通过扫描测试脚本目录,确定测试脚本发生变化时,获得该测试脚本的脚本信息,脚本信息中包含有该测试脚本的脚本标识,根据脚本标识确定该测试脚本对应的统一标识符,并经统一标识符和发生变化的测试脚本的脚本信息提交给TC系统,使得TC系统能够根据确定出的统一标识符查找对应的测试用例,并根据脚本信息对查找到的测试用例进行同步,这样,实现了测试用例与测试脚本之间同步自动化,相比于手工同步,提高了同步效率,同时能够减少手工维护产生的遗漏,从而提到了同步的准确性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为现有技术中,TC与测试脚本之间的对应关系示意图;
图2为本申请实施例中,测试用例与测试脚本同步的方法的实施流程示意图;
图3为本申请实施例中,判断测试脚本是否发生变化的实施流程示意图;
图4为本申请实施例中,TC系统进行测试用例与测试脚本同步的实施示意图;
图5为本申请实施例中,测试脚本与测试用例同步的方法的实施流程示意图;
图6为本申请实施例中,测试用例与测试脚本同步过程示意图;
图7为本申请实施例中,测试脚本与测试用例同步过程示意图;
图8为本申请实施例中,测试用例与测试脚本同步装置的结构示意图。
具体实施方式
为了提高测试用例与测试脚本同步的效率和准确性,本申请实施例提供一种测试用例与测试脚本同步的方法及装置。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图2所示,其为本申请实施例提供的测试用例与测试脚本同步的方法的实施流程示意图,可以包括以下步骤:
S201、依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,该脚本信息包括脚本标识;
具体实施时,在脚本目录中,需要预先进行同步配置,同步装置根据该同步配置,进行测试脚本与测试用例的同步,在进行了同步配置之后,可以建立sync.yml文件来保存同步配置:
#sync.yml
sync_project:project_a
sync_mode:full
根据同步配置,同步装置依次扫描测试脚本目录中包含的每一个测试脚本,在确定该测试脚本有变化时,提取该测试脚本的脚本信息,其中,脚本信息中包含有脚本标识。
S202、根据预先存储的脚本标识与统一标识符的映射关系,查找所述脚本标识对应的统一标识符;
具体的,同步装置根据脚本信息中的脚本标识,从预先存储的脚本标识语统一标识符的映射关系中,查找该脚本标识对应的统一标识符,其中,在同步装置中,脚本标识与统一标识符为一一对应的关系,同时,在TC系统中,每一个统一标识符与用例标识也为一一对应的关系,也就是说,根据统一标识符能够唯一的确定存在关联关系的测试脚本和测试用例。
S203、将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至TC系统,指示该TC系统对自身存储的该统一标识符对应的测试用例与发生变化的测试脚本进行同步操作。
具体的,同步装置将发生变化的测试脚本的脚本信息和该脚本信息对应的统一标识符提交给TC系统,指示TC系统根据统一标识符查找对应的测试用例,并根据接收到的脚本信息对其进行同步。
较佳地,如图3所示,在步骤S101中,可以按照如下过程确定测试脚本是否发生变化:
S301、比较该测试脚本当前的版本标识与上次扫描时的版本标识;
具体实施时,通过版本标识来记录测试脚本的变化过程,通过版本标识能够方便地判断该测试脚本是否发生了变化。
S302、判断当前版本标识与上次扫描时的版本标识是否相同,如果是,执行步骤S303,如果否,执行步骤S304;
S303、确定该测试脚本未发生变化;
S304、确定该测试脚本发生变化。
当检测到某测试脚本发生变化时,需要确定该测试脚本的变化类型,通过比较本次对测试脚本目录的扫描结果与上次对测试脚本目录的扫描结果,测试脚本的变化类型可以分为新增、修改和删除。
当测试脚本变化类型为新增时,同步装置可以通过如下方式获得该测试脚本的脚本信息:解析该测试脚本,并获取脚本信息,获取的脚本信息包括脚本标识。对于新增的测试脚本,同步装置需要生成该测试脚本对应的统一标识符,并建立脚本标识与该统一标识符的映射关系。具体实施时,对于统一标识符的生成策略不进行限定,较佳地,同步装置可以按照如下方式生成统一标识符:测试脚本路径/测试用例名称,即script_path/tc_name,对于junit编写的测试脚本,可以采用package.class.method方式生成统一标识符,例如:com.taobao.project_a.test_testcase1。
当测试脚本变化类型为修改时,直接解析该测试脚本,获取脚本信息;
若该测试脚本变化类型为删除时,则将上次扫描时获得的脚本信息确定为该测试脚本的脚本信息。
具体实施中,脚本信息可以包括但不限于脚本标识、脚本名称、脚本优先级和脚本描述。
对于发生变化的测试脚本,同步装置在获取了该脚本信息之后,将获取到的脚本信息和该测试脚本对应的统一标识符一并提交给TC系统。具体实施时,对于网页(Web)实现的TC系统,可以使用webapi方式进行提交:new_tc={:name=>’testcase1’,:priority=>’P1’,:desc=>’xxx’,:guid=>’guid_xxx’}http_client.puthttp://tc_server.taobao.net/sync_tc,new_tc
TC系统接收同步装置提交的脚本信息和统一标识符,并根据统一标识符查找对应的测试用例,以进行同步。
较佳地,如图4所示,TC系统可按照如下步骤进行测试用例与测试脚本的同步:
S401、TC系统确定预先存储的统一标识符与用例标识的映射关系中,是否存在同步装置提交的统一标识符,如果存在,执行步骤S402,如果不存在,执行步骤S403;
具体的,TC系统根据接收到的统一标识符,在预先存储的统一标识符与用例标识的映射关系中,查找该统一标识符,以确定该统一标识符是否存在。
S402、确定该统一标识符对应的用例标识,并根据接收到的脚本信息对该用例标识对应的测试用例进行同步;
具体的,如果该TC系统能够查找到该统一标识符,则说明已经建立了该统一标识符对应的测试脚本与测试用例之间的关联关系,只需要根据统一标识符查找其对应的用例标识,并根据本次扫描结果中测试脚本的变化类型,对该测试用例标识对应的测试用例进行更新:若测试脚本的变化类型为修改,则根据脚本信息对测试用例进行修改,若脚本信息包括脚本名称、脚本优先级和脚本描述时,则TC系统可以根据脚本信息中的脚本名称,修改对应的测试用例的用例名称,以及根据脚本信息中的脚本优先级,修改对应的测试用例的用例优先级,最后根据脚本信息中的脚本描述,修改对应的测试用例的用例描述;若测试脚本的变化类型为删除,则删除该用例标识对应的测试用例与测试脚本之间的关联关系。
S403、根据同步装置提交的脚本信息创建新测试用例。
若TC系统在预先存储的的统一标识符与用例标识的映射关系中,未查找到同步装置提交的统一标识符,则说明该统一标识符对应的测试脚本为新增测试脚本,TC系统根据同步装置提交的脚本信息创建新测试用例。较佳地,TC系统创建的新测试用例中包括用例标识,并建立该用例标识与统一标识符的映射关系,这样便建立了新增测试脚本与TC系统新创建的测试用例之间的关联关系。
通过上述过程,实现了测试用例与测试脚本的同步,当有新增加的测试脚本时,通过同步操作,可以在TC系统中创建新的测试用例,并通过生成统一标识符建立二者之间的关联关系;当有测试脚本修改时,通过同步操作,能够修改TC系统中对应的测试用例;当有测试脚本被删除时,通过同步操作,能够删除该测试脚本与TC系统中的测试用例之间的关联关系。
如图5所示,本申请实施例中,还可以按照如下过程实现测试脚本与测试用例之间的同步:
S501、同步装置依次扫描TC系统中存储的每一个测试用例,确定该TC系统中存储的测试用例发生变化时,确定测试用例的变化类型,变化类型包括新增、修改和删除;
具体的,在确定测试用例是否发生变化时,可以通过测试用例的时间标识进行辨识,即比较该测试用例当前的时间标识与上次扫描时的时间标识;若当前时间标识与上次扫描时的时间标识不同,确定该测试用例发生变化,若当前时间标识与上次扫描时时间标识相同,确定该测试用例未发生变化。
S502、同步装置提取该测试用例的用例信息,该用例信息包括用例标识;
S503、同步装置根据测试用例的变化类型,对该测试用例对应的测试脚本进行同步。
具体的,若测试用例的变化类型为新增时,同步装置根据该测试用例的用例信息,创建新测试脚本。较佳地,同步装置创建的新测试脚本包括脚本标识,在创建了新测试脚本之后,需要生成该脚本标识对应的统一标识符,并建立该脚本标识与统一标识之间的映射关系,统一标识符的生成策略与步骤S302中涉及的统一标识符的生成策略相同,这里不再赘述;以及向TC系统回写生成的统一标识符,指示TC系统建立该统一标识符与该测试用例对应的用例标识之间的映射关系;若测试用例的变化类型为修改时,从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并根据获得的测试用例的用例信息,修改查找到的脚本标识对应的测试脚本;若测试用例的变化类型为删除时,从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并删除该脚本标识对应的测试脚本与该用例标识对应的测试用例之间的对应关系。
通过步骤S501~步骤S503,能够实现测试用例与测试脚本之间的对应关系。在进行测试用例与测试脚本之间的同步时,同步装置按照同步配置,从TC系统中提取发生变化的测试用例,如果该测试用例是新增的测试用例,则创建新的测试脚本,并生成该新增测试脚本对应的统一标识符,以及将生成的统一标识符回写给TC系统,使得TC系统能够建立该统一标识符与新增的测试用例的用例标识之间的映射关系,从而建立新增的测试用例与新建的测试脚本之间的关联关系;如果该测试用例与上次扫描时相比,只是进行了修改,那么通过该测试用例的用例标识能够查找到该测试用例对应的统一标识符,通过该统一标识符能够查找到其对应的脚本标识,这样,根据对测试用例的修改,对该脚本标识对应的测试脚本进行修改即可;若该测试用例的变化类型为删除,则根据该测试用例的用例能够查找到该测试用例对应的统一标识符,通过该统一标识符能够查找到其对应的脚本标识,在查找到对应的脚本标识之后,删除该脚本标识对应的测试脚本与该用例标识对应的测试用例之间的关联关系。
这样,本申请实施例提供的同步方法实现了测试脚本与测试用例之间的双向同步,保证了测试脚本与测试用例之间的数据一致性,避免了由于二者之间的数据不一致而导致的冲突。
为了更好地理解本申请,以下以测试用例与测试脚本的同步过程为例,对本申请实施例的实施过程进行说明。
如图6所示,其为测试用例与测试脚本的同步流程示意图,包括以下步骤:
S601、同步装置进行同步配置;
具体的,同步装置对需要同步的项目进行同步配置。
S602、同步装置比较该测试脚本的当前版本标识语上次扫描时的版本标识;
具体的,同步装置依次扫描测试脚本目录中包含的每一个测试脚本,比较本次扫描结果中该测试脚本的版本标识与上次扫描结果中该测试脚本的版本标识,以确定发生变化的测试脚本。
S603、同步装置判断当前版本标识与上次扫描时的版本标识是否相同,若不同,执行步骤S604,若相同,执行步骤S605;
S604、同步装置确定该测试脚本发生变化,并执行步骤S606;
S605、同步装置确定该测试脚本未发生变化,并执行步骤S617;
S606、同步装置确定发生变化的测试脚本的变化类型;
其中,测试脚本的变化类型包括新增、修改和删除三类。
S607、同步装置获取脚本信息;
具体的,当该测试脚本的变化类型为新增或者修改时,同步装置解析该测试脚本,根据解析后的测试脚本获取脚本信息;当该测试脚本的变化类型为删除时,同步装置获取该测试脚本上次扫描时获得的脚本信息,其中,脚本信息可以包括脚本标识、脚本名称、脚本优先级和脚本描述。
S608、同步装置根据脚本信息中的脚本标识,确定该脚本标识对应的统一标识符;
特别地,对于新增测试脚本,同步装置需要生成该脚本标识对应的统一标识符,并建立脚本标识与统一标识符之间的对应关系;对于修改的测试脚本,同步装置从预先存储的脚本标识与统一标识符的对应关系中查找该测试脚本的脚本标识对应的统一标识符;当该测试脚本的变化类型为删除时,同步装置获取该测试脚本上次扫描时获得脚本信息中的脚本标识,并从预先存储的脚本标识与统一标识符的对应关系中查找该测试脚本的脚本标识对应的统一标识符。
S609、同步装置将获取到的脚本信息和确定出的统一标识符提交给TC系统;
S610、TC系统接收同步装置提交的脚本信息和其确定出的统一标识符;
S611、TC系统确定自身存储的统一标识符与用例标识的映射关系中,是否存在同步装置提交的统一标识符,如果是,执行步骤S612,如果否,执行步骤S613;
S612、TC系统确定同步装置提交的统一标识符对应的用例标识,并执行步骤S614;
S613、TC系统根据同步装置提交的脚本信息创建新测试用例,并执行步骤S617;
具体的,TC系统根据脚本信息中的脚本名称、脚本优先级和脚本描述创建新测试用例的用例名称、用例优先级和用例描述;以及创建测试用例的用例标识,并建立该新测试用例的用例标识与同步装置提交的统一标识符的映射关系。
S614、TC系统确定同步装置提交的统一标识符对应的测试脚本的变化类型;
S615、若测试脚本的变化类型为修改时,根据接收到的脚本信息,修改确定出的用例标识对应的测试用例;
S616、若测试脚本的变化类型为删除时,删除确定出的用例标识对应的测试用例与统一标识符对应的测试脚本之间的对应关系;
S617、流程结束。
以下以测试脚本与测试用例的同步过程为例,对本申请实施例的实施过程进行说明。
如图7所示,其为测试脚本与测试用例的同步流程示意图,包括以下步骤:
S701、同步装置依次扫描TC系统中存储的每一个测试用例;
S702、同步装置比较该测试用例当前的时间标识与上次扫描时的时间标识;
S703、同步装置判断当前的时间标识语上次扫描时的时间标识是否相同,如果不同,执行步骤S704,如果相同,执行步骤S705;
S704、同步装置确定该测试用例发生变化,并执行步骤S706;
S705、同步装置确定该测试用例未发生变化,并执行步骤S713;
S706、同步装置确定发生变化的测试用例的变化类型;
其中,测试用例的变化类型包括新增、修改和删除三类。
S707、同步装置提取发生变化的测试用例的用例信息,以及若测试用例的变化类型为新增时,执行步骤S708;若测试用例的变化类型为修改时,执行步骤S711;若测试用例的变化类型为删除时,执行步骤S712;
具体的,用例信息可以包括用例标识,用例名称,用例优先级和用例描述等。
S708、同步装置根据用例信息,创建新测试脚本;
具体的,同步装置根据用例名称,用例优先级和用例描述等用例信息创建新测试脚本,并创建新测试脚本的脚本标识。
S709、同步装置生成该测试脚本对应的统一标识符,并建立脚本标识与该统一标识符之间的映射关系;
S710、同步装置将生成的统一标识符回写给TC系统,指示TC系统建立发生变化的测试用例的用例标识与该统一标识符之间的映射关系;
S711、根据获得的测试用例的用例信息,修改对应的测试脚本;
具体的,同步装置从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并根据获得的测试用例的用例信息,修改查找到的脚本标识对应的测试脚本;
S712、删除该用例标识对应的测试用例与对应的测试脚本之间的对应关系;
具体的,同步装置从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并删除该脚本标识对应的测试脚本与该用例标识对应的测试用例之间的对应关系;
S713、流程结束。
基于同一申请构思,本申请实施例中还提供一种测试脚本与测试用例同步的装置,由于该装置解决问题的原理与上述测试脚本与测试用例同步方法相似,因此该装置的实施可以参见上述测试脚本与测试用例同步方法的实施,重复之处不再赘述。
如图8所示,其为本申请实施例提供的测试脚本与测试用例同步装置的结构示意图,包括:
获得单元801,用于依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,该脚本信息包括脚本标识;
查找单元802,用于根据预先存储的脚本标识与统一标识符的映射关系,查找该脚本标识对应的统一标识符;
提交单元803,用于将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至TC系统,指示该TC系统对自身存储的、该统一标识符对应的测试用例与发生变化的测试脚本进行同步操作。
较佳地,获得单元801,可以包括:
第一比较子单元,用于比较该测试脚本当前的版本标识与上次扫描时的版本标识;
第二确定子单元,用于若当前版本标识与上次扫描时的版本标识不同,确定该测试脚本发生变化,若当前版本标识与上次扫描时的版本标识相同,确定该测试脚本未发生变化。
具体实施中,测试脚本与测试用例同步装置,还可以包括第一确定单元,其中:
第一确定单元,用于在获得单元801获得该测试脚本的脚本信息之前,确定该测试脚本的变化类型,该变化类型包括新增、修改和删除;
获得单元801,具体用于若该测试脚本变化类型为新增或修改时,解析该测试脚本,获取脚本信息;若该测试脚本变化类型为删除,则将上次扫描时获得的脚本信息确定为该测试脚本的脚本信息。
具体实施中,测试脚本与测试用例同步装置,还可以包括:
第一映射关系建立单元,用于当测试脚本变化类型为新增时,在获得单元801获取脚本信息之后,生成该测试脚本对应的统一标识符,并建立脚本信息中的脚本标识与统一标识符的映射关系。
具体实施中,测试脚本与测试用例同步装置,还可以包括:
第二确定单元,用于依次扫描TC系统中存储的每一个测试用例,确定该TC系统中存储的测试用例发生变化时,确定该测试用例的变化类型,其中,变化类型包括新增、修改和删除;
提取单元,用于提取该测试用例的用例信息,该用例信息包括用例标识;
同步单元,用于若该测试用例的变化类型为新增时,根据测试用例的用例信息,创建新测试脚本;若该测试用例的变化类型为修改时,从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并根据获得的测试用例的用例信息,修改查找到的脚本标识对应的测试脚本;若该测试用例的变化类型为删除时,从预先存储的用例标识与统一标识符的映射关系中,查找该用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找该统一标识符对应的脚本标识,并删除该脚本标识对应的测试脚本与该用例标识对应的测试用例之间的对应关系。
具体实施中,当测试用例的变化类型为新增时,创建的测试脚本包括脚本标识,测试脚本与测试用例同步装置,还可以包括:
第二映射关系建立单元,用于生成该脚本标识对应的统一标识符,建立该脚本标识与统一标识符之间的映射关系;
回写单元,用于向TC系统回写生成的统一标识符,指示TC系统建立该用例标识与该统一标识符之间的映射关系。
较佳地,第二确定单元,可以包括:
第二比较子单元,用于比较该测试用例当前的时间标识与上次扫描时的时间标识;
第二确定子单元,用于若当前时间标识与上次扫描时的时间标识不同,确定该测试用例发生变化,若当前时间标识与上次扫描时时间标识相同,确定该测试用例未发生变化。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本申请实施例提供的测试用例与测试脚本同步的方法,通过扫描测试脚本目录,确定测试脚本发生变化时,获得该测试脚本的脚本信息,脚本信息中包含有该测试脚本的脚本标识,根据脚本标识确定该测试脚本对应的统一标识符,并经统一标识符和发生变化的测试脚本的脚本信息提交给TC系统,使得TC系统能够根据确定出的统一标识符查找对应的测试用例,并根据脚本信息对查找到的测试用例进行同步,这样,实现了测试用例与测试脚本之间同步自动化,相比于手工同步,提高了同步效率,同时能够减少手工维护产生的遗漏,从而提到了同步的准确性。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种测试用例与测试脚本同步的方法,其特征在于,包括:
依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,所述脚本信息包括脚本标识,所述测试脚本为自动化测试用例,其中,确定测试脚本是否发生变化的方式为:比较测试脚本当前的版本标识与上次扫描时的版本标识;判断当前的版本标识与上次扫描时的版本标识是否相同,如果是,确定该测试脚本未发生变化,如果否,确定该测试脚本发生变化;
根据预先存储的脚本标识与统一标识符的映射关系,查找所述脚本标识对应的统一标识符;
将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至用例管理TC系统,指示所述TC系统对自身存储的、所述统一标识符对应的测试用例与发生变化的测试脚本进行同步操作,其中,TC系统中存储的所述测试用例为手工测试用例,所述自动化测试用例与所述手工测试用例存在对应关系。
2.如权利要求1所述的方法,其特征在于,按照如下过程确定每一个测试脚本是否发生变化:
比较该测试脚本当前的版本标识与上次扫描时的版本标识;
若当前版本标识与上次扫描时的版本标识不同,确定该测试脚本发生变化,若当前版本标识与上次扫描时的版本标识相同,确定该测试脚本未发生变化。
3.如权利要求1所述的方法,其特征在于,在获得该测试脚本的脚本信息之前,还包括:
确定该测试脚本的变化类型,所述变化类型包括新增、修改和删除;以及
所述获得该测试脚本的脚本信息,具体包括:
若该测试脚本变化类型为新增或修改,解析该测试脚本,获取脚本信息;若该测试脚本变化类型为删除,则将上次扫描时获得的脚本信息确定为该测试脚本的脚本信息。
4.如权利要求3所述的方法,其特征在于,测试脚本变化类型为新增时,在获取脚本信息之后,还包括:
生成该测试脚本对应的统一标识符,并建立脚本信息中的脚本标识与统一标识符的映射关系。
5.如权利要求3所述的方法,其特征在于,还包括:
所述TC系统确定自身存储的统一标识符与用例标识的映射关系中,是否存在所述统一标识符;
如果不存在,根据所述脚本信息创建新测试用例,所述新测试用例包括用例标识,并建立该新测试用例的用例标识与所述统一标识符的映射关系;
如果存在,确定所述统一标识符对应的用例标识,若所述发生变化的测试脚本的变化类型为修改时,根据所述发生变化的测试脚本的脚本信息,修改所述用例标识对应的测试用例;若所述发生变化的测试脚本的变化类型为删除时,则删除所述用例标识对应的测试用例与所述脚本标识对应的测试脚本之间的对应关系。
6.如权利要求5所述的方法,其特征在于,所述脚本信息包括脚本名称、脚本优先级和脚本描述;以及
所述根据所述发生变化的测试脚本的脚本信息,修改所述用例标识对应的测试用例,具体包括:
根据所述脚本信息中的脚本名称,修改所述用例标识对应的测试用例的用例名称;
根据所述脚本信息中的脚本优先级,修改所述用例标识对应的测试用例的用例优先级;
根据所述脚本信息中的脚本描述,修改所述用例标识对应的测试用例的用例描述。
7.如权利要求1所述的方法,其特征在于,还包括:
依次扫描TC系统中存储的每一个测试用例,确定所述TC系统中存储的测试用例发生变化时,确定所述测试用例的变化类型,所述变化类型包括新增、修改和删除;并
提取该测试用例的用例信息,所述用例信息包括用例标识;
若所述测试用例的变化类型为新增时,根据所述测试用例的用例信息,创建新测试脚本;若所述测试用例的变化类型为修改时,从预先存储的用例标识与统一标识符的映射关系中,查找所述用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找所述统一标识符对应的脚本标识,并根据获得的测试用例的用例信息,修改查找到的脚本标识对应的测试脚本;若所述测试用例的变化类型为删除时,从预先存储的用例标识与统一标识符的映射关系中,查找所述用例标识对应的统一标识符,并从统一标识符与脚本标识的映射关系中,查找所述统一标识符对应的脚本标识,并删除所述脚本标识对应的测试脚本与所述用例标识对应的测试用例之间的对应关系。
8.如权利要求7所述的方法,其特征在于,若所述测试用例的变化类型为新增时,创建的新测试脚本包括脚本标识;以及
所述方法,还包括:
生成该脚本标识对应的统一标识符,建立该脚本标识与统一标识符之间的映射关系;以及
向所述TC系统回写生成的统一标识符,指示所述TC系统建立所述用例标识与该统一标识符之间的映射关系。
9.如权利要求7或8所述的方法,其特征在于,按照如下过程确定测试用例发生变化:
比较该测试用例当前的时间标识与上次扫描时的时间标识;
若当前时间标识与上次扫描时的时间标识不同,确定该测试用例发生变化,若当前时间标识与上次扫描时时间标识相同,确定该测试用例未发生变化。
10.一种测试用例与测试脚本同步的装置,其特征在于,包括:
获得单元,用于依次扫描测试脚本目录中包含的每一个测试脚本,确定该测试脚本发生变化时,获得该测试脚本的脚本信息,所述脚本信息包括脚本标识,所述测试脚本为自动化测试用例,其中,确定测试脚本是否发生变化的方式为:比较测试脚本当前的版本标识与上次扫描时的版本标识;判断当前的版本标识与上次扫描时的版本标识是否相同,如果是,确定该测试脚本未发生变化,如果否,确定该测试脚本发生变化;
查找单元,用于根据预先存储的脚本标识与统一标识符的映射关系,查找所述脚本标识对应的统一标识符;
提交单元,用于将发生变化的测试脚本的脚本信息和查找到的统一标识符提交至用例管理TC系统,指示所述TC系统对自身存储的、所述统一标识符对应的测试用例与发生变化的测试脚本进行同步操作,其中,TC系统中存储的所述测试用例为手工测试用例,所述自动化测试用例与所述手工测试用例存在对应关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110362223.9A CN103106138B (zh) | 2011-11-15 | 2011-11-15 | 测试用例与测试脚本同步的方法及装置 |
HK13108244.2A HK1181142A1 (zh) | 2011-11-15 | 2013-07-15 | 測試用例與測試腳本同步的方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110362223.9A CN103106138B (zh) | 2011-11-15 | 2011-11-15 | 测试用例与测试脚本同步的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103106138A CN103106138A (zh) | 2013-05-15 |
CN103106138B true CN103106138B (zh) | 2016-03-09 |
Family
ID=48314016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110362223.9A Active CN103106138B (zh) | 2011-11-15 | 2011-11-15 | 测试用例与测试脚本同步的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103106138B (zh) |
HK (1) | HK1181142A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252413B (zh) * | 2013-06-27 | 2018-06-05 | 阿里巴巴集团控股有限公司 | 一种自动化脚本生成方法、装置及系统 |
CN104468288B (zh) * | 2015-01-04 | 2018-04-27 | 中国联合网络通信集团有限公司 | 终端网络数据测试方法及装置 |
CN106033388B (zh) * | 2015-03-11 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 测试用例库管理方法及系统 |
CN106227659B (zh) * | 2016-07-21 | 2019-02-05 | 珠海市魅族科技有限公司 | 一种数据同步方法、系统及装置 |
CN106375140A (zh) * | 2016-08-22 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 压力测试方法及装置 |
CN106326120B (zh) * | 2016-08-22 | 2019-07-05 | 北京金山安全软件有限公司 | 一种应用软件的回归测试方法及装置、电子设备 |
CN107391361B (zh) * | 2017-06-12 | 2020-07-28 | 百富计算机技术(深圳)有限公司 | 一种pos终端自动测试方法及装置 |
CN108763084A (zh) * | 2018-05-30 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种测试用例的生成方法、装置及电子设备 |
CN109684214B (zh) * | 2018-12-21 | 2022-02-25 | 北京金山安全软件有限公司 | 一种ui测试方法和装置 |
CN111596935A (zh) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | 一种脚本打包方法、装置、电子设备及存储介质 |
CN112131116B (zh) * | 2020-09-25 | 2023-06-27 | 中国直升机设计研究所 | 一种嵌入式软件自动化回归测试方法 |
CN114116503A (zh) * | 2021-12-01 | 2022-03-01 | 中科新松有限公司 | 一种测试方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536789A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 通过波动分析辅助测试用例升级的方法 |
CN101212362A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 一种融合多类型测试工具的自动化测试装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347147B2 (en) * | 2009-03-09 | 2013-01-01 | Wipro Limited | Lifecycle management of automated testing |
-
2011
- 2011-11-15 CN CN201110362223.9A patent/CN103106138B/zh active Active
-
2013
- 2013-07-15 HK HK13108244.2A patent/HK1181142A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536789A (zh) * | 2003-04-09 | 2004-10-13 | 华为技术有限公司 | 通过波动分析辅助测试用例升级的方法 |
CN101212362A (zh) * | 2006-12-26 | 2008-07-02 | 中兴通讯股份有限公司 | 一种融合多类型测试工具的自动化测试装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103106138A (zh) | 2013-05-15 |
HK1181142A1 (zh) | 2013-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103106138B (zh) | 测试用例与测试脚本同步的方法及装置 | |
US9218197B2 (en) | Virtual machine image migration | |
CN107122368B (zh) | 一种数据校验方法、装置及电子设备 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN106445643B (zh) | 克隆、升级虚拟机的方法及设备 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
CN109325016B (zh) | 数据迁移方法、装置、介质及电子设备 | |
US20120296878A1 (en) | File set consistency verification system, file set consistency verification method, and file set consistency verification program | |
CN105677736A (zh) | 一种增加、删除服务器节点的方法及装置 | |
WO2017020459A1 (zh) | 一种为宿主配置插件包的方法与装置 | |
CN104657158A (zh) | 一种业务系统中业务处理的方法和装置 | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
US20150254309A1 (en) | Operation search method and operation search apparatus | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN115576600A (zh) | 基于代码变更的差异处理方法、装置、终端及存储介质 | |
US20210124575A1 (en) | Providing build avoidance without requiring local source code | |
CN109299116B (zh) | 一种数据同步方法、装置、设备及可读存储介质 | |
EP2634701B1 (en) | Database management method | |
US11163799B2 (en) | Automatic rollback to target for synchronous replication | |
CN106484312B (zh) | 一种虚拟机磁盘数据迁移方法及装置 | |
US10970285B2 (en) | Grid topology change in a distributed data grid when iterating on the contents of the data grid | |
CN103559574A (zh) | 一种工作流操作方法及系统 | |
CN106598703A (zh) | 集成系统的事务补偿方法和装置 | |
CN108520032B (zh) | 数据接口建立方法、系统、计算机设备及存储介质 | |
JP6904364B2 (ja) | システム構築支援装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1181142 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |