CN110727599B - 测试环境配置及更新方法 - Google Patents

测试环境配置及更新方法 Download PDF

Info

Publication number
CN110727599B
CN110727599B CN201910988893.8A CN201910988893A CN110727599B CN 110727599 B CN110727599 B CN 110727599B CN 201910988893 A CN201910988893 A CN 201910988893A CN 110727599 B CN110727599 B CN 110727599B
Authority
CN
China
Prior art keywords
test
layer
keyword
python
function
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
Application number
CN201910988893.8A
Other languages
English (en)
Other versions
CN110727599A (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.)
Hisense Broadband Multimedia Technology Co Ltd
Original Assignee
Hisense Broadband Multimedia Technology 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 Hisense Broadband Multimedia Technology Co Ltd filed Critical Hisense Broadband Multimedia Technology Co Ltd
Priority to CN201910988893.8A priority Critical patent/CN110727599B/zh
Publication of CN110727599A publication Critical patent/CN110727599A/zh
Application granted granted Critical
Publication of CN110727599B publication Critical patent/CN110727599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例提供了一种测试环境配置及更新方法,配置方法包括:根据测试设备的API和被测设备的API设置仪器层;将仪器层中的API封装为python函数,得到python库层,python库层设置有python函数;将python函数封装为关键字,得到关键字层,关键字层设置有关键字;根据被测设备的被测功能调用关键字生成测试用例,得到用例层,用例层设置有测试用例。本申请通过将API封装为python函数,形成python库层,再将python函数封装为关键字,当测试环境更新时,只需要更改python库层或关键字层,工作量小,测试脚本可移植性高,提高了脚本开发效率。

Description

测试环境配置及更新方法
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种测试环境配置及更新方法。
背景技术
随着通信网传输容量的不断增加,光网络以其良好的透明性、波长路由特性、兼容性和可扩展性,已成为高速宽带网络的首选。根据网络结构中设备的不同,光网络可分为PON(passive optical network,无源光网络)和AON(active optical network,有源光网络),其中,PON具有节省光缆资源、带宽资源共享、节省机房投资、建网速度快、综合建网成本低等优点,得到了广泛应用。
PON主要由中心局端的OLT(optical line terminal,光线路终端)和用户端的ONU(Optical Network Unit,光网络单元)组成,为满足用户日益增长的通信需求,ONU不断升级换代,为快速占领市场,ONU厂家需缩短设计和研发周期,而在ONU的研发过程中,需要对ONU进行大量测试,如对ONU进行上网功能测试,判断ONU的上网功能是否正确。测试任务多、时间紧,在对ONU的大规模回归测试、大数据量性能测试、极端环境测试、长时间不间断测试等应用场景中,利用自动化测试技术进行测试能显著提高工作效率,节省物力财力,降低成本。
ONU的自动化测试采用预先配置包含测试用例的测试环境,然后运行测试用例的方式来进行,相关技术中,一种测试环境的配置方法是开发测试库即关键字库,进而编写脚本来调用关键字库,生成测试用例。例如,在测试ONU的上网功能时,对于ONU注册到OLT的测试,测试环境配置过程是:首先,分别编写调用API(Application Programming Interface,应用程序接口)的关键字:OLT登陆和注册ONU;然后,编写组合上述关键字的串口命令,将串口命令添加到脚本中;最后,在脚本中编写对上述串口命令中每个关键字的返回值做判断和处理的代码,从而完成ONU注册到OLT的脚本编写。
按照上述流程编写的脚本,当OLT更换后,API发生改变,关键字和串口命令随之改变,为使测试用例能够正确运行,需要修改关键字:OLT登陆和注册ONU,并且,在测试用例中涉及到上述关键字的脚本都需要进行相应修改。然而,部分API的串口命令涉及到的关键字多达几十个甚至上百个,如果一一进行查找和修改,工作量非常巨大;另外,ONU的更新换代,同样会导致API改变,从而需要修改关键字库,按照上述方法配置测试环境,测试脚本的可移植性低,脚本开发效率较低。
发明内容
本申请提供了一种测试环境配置及更新方法,以解决测试脚本移植性低的问题。
第一方面,本申请提供了一种测试环境配置方法,该方法包括:
根据测试设备的API和被测设备的API设置仪器层;
将所述仪器层中的API封装为python函数,得到python库层,所述python库层设置有所述python函数;
将所述python函数封装为关键字,得到关键字层,所述关键字层设置有所述关键字;
根据所述被测设备的被测功能调用所述关键字生成测试用例,得到用例层,所述用例层设置有所述测试用例。
第二方面,本申请还提供了一种测试环境更新方法,该方法包括:
判断当前测试设备是否为测试用例中的测试设备;
如果所述当前测试设备不是所述测试用例中的测试设备,则将所述测试用例对应python库层修改为所述当前测试设备对应python库层;
如果所述当前测试设备是所述测试用例中的测试设备,则判断被测设备的当前测试功能调用的API是否为所述测试用例对应python库层调用的API;
如果所述当前测试功能调用的API不是所述测试用例对应python库层调用的API,则将所述测试用例对应的python库层修改为所述当前测试功能调用的API对应python库层;
如果所述当前测试功能调用的API是所述测试用例对应python库层调用的API,则判断所述当前测试功能调用的关键字是否为测试用例对应关键字;
如果所述当前测试功能调用的关键字不是测试用例对应关键字,则将所述测试用例对应关键字层修改为所述当前测试功能调用的关键字对应关键字层。
本申请提供的测试环境配置及更新方法的有益效果包括:
本申请提供的测试环境配置方法,通过将API封装为python函数,形成python库层,再将python函数封装为关键字,当API改变时,只需要更改python库层,实现python库层调用新的API,不需要更改关键字层,与相关技术中的关键字直接调用API相比,大幅减少了修改关键字带来的工作量;进一步的,当API的功能更新时,只需要更改关键字层,实现对python函数的重新组合,不需要修改python库层,工作量小,因此,本申请提供的测试环境配置方法,测试脚本可移植性高,提高了脚本开发效率。本申请实施例提供的测试环境更新方法,可在测试用例运行失败时,根据测试设备更换,将当前的python库层修改为对应新测试设备的python库层,如果测试设备没有更换,API更换,则将当前的python库层修改为对应新API的python库层,如果测试设备没有更换,API涉及的关键字更换,则将当前的关键字层修改为新关键字对应的关键字层,可见,本申请提供的测试环境更新方法,在测试用例运行失败时,只需要修改python库层或关键字层,工作量小,更新效率高。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种测试环境配置方法的流程示意图;
图2为本申请实施例提供的一种python库层封装方法的流程示意图;
图3为本申请实施例提供的一种关键字层封装方法的流程示意图;
图4为本申请实施例提供的一种测试环境的结构示意图;
图5为本申请实施例提供的一种测试环境更新方法的流程示意图;
图6为本申请实施例提供的一种python库层更新方法的流程示意图;
图7为本申请实施例提供的另一种python库层更新方法的流程示意图;
图8为本申请实施例提供的一种关键字层更新方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
参见图1,为本申请实施例提供的一种测试环境配置方法的流程示意图,如图1所示,本申请实施例提供的测试环境配置方法包括以下步骤:
步骤S110:根据测试设备的API和被测设备的API设置仪器层。
仪器层是测试环境的最底层,用于存储各种仪器的API,其中,仪器包括在测试过程中直接产生测试信号,通过测试信号来模拟实际使用场景的装置。本申请实施例中,仪器包括测试设备和被测设备,被测设备包括ONU,测试设备包括OLT和网络测试仪等。
仪器层的API按照类别可以分为ONU接口、OLT接口、网络测试仪接口、Ftp服务器接口、Windows硬件及软件接口和Tr069服务器接口等不同类型。通过设置多个仪器接口文件,可以将上述API分类存储至对应的仪器接口文件中。例如,可以将ONU接口存储至ONU接口文件,将ONU接口存储至ONU接口文件,ONU接口文件和ONU接口文件均为仪器接口文件,全部仪器接口文件组成仪器层。仪器层将API分类存储,从而便于在python函数封装时,对同一类的API进行快速查找和调用。
步骤S120:将仪器层中的API封装为python函数,得到python库层,python库层设置有python函数。
在仪器层设置完成后,可以将仪器层中同一类的API封装为相应的python函数,然后再根据python函数的功能分类生成python函数文件,从而得到设置有python函数文件的python库层。
python库层封装流程如图2所示,可以包括步骤S1201至步骤S1202:
步骤S1201:根据API的操作功能生成用于调用API的python函数。
由于ONU的基本操作如串口连接、telnet连接、ssh连接、http访问、windows系统命令均可通过组合调用相应的API来实现,因此可以预先生成与API的组合调用相对应的python函数。
python函数可以采用如下方式生成:首先,根据所要实现的基本操作,确定需要调用的API;然后,查找上述API在仪器层中的存储路径;最后,编写组合调用上述存储路径中API的python函数,实现将仪器层的API封装为python函数。
步骤S1202:将python函数按照函数功能分类存储至不同的python函数文件中,得到python库层,python库层设置有全部python函数文件。
python函数按照函数功能可分为Telnet函数、Pyserial函数、Pywifi函数、Pywin32函数、Selenium函数和Pymongo函数等。可以根据python函数的分类,设置多个python函数文件,将上述每一个python函数分类存储至对应的python函数文件中,例如将Telnet函数存储至Telnet函数文件,将Pyserial函数存储至Pyserial函数文件,Telnet函数文件和Telnet函数文件均为python函数文件,全部python函数文件组成python库层。
本申请将python函数分类存储,从而便于在关键字封装时,对同一类的python函数进行快速查找和调用。
步骤S130:将python函数封装为关键字,得到关键字层,关键字层设置有关键字。
在python库层设置完成后,可以将python库层中同一类的python函数封装为相应的关键字,然后再根据关键字的功能分类生成关键字文件,从而得到设置有关键字文件的关键字层。
关键字层封装流程如图3所示,可以包括步骤S1301至步骤S1302:
步骤S1301:调用至少一个python函数,或调用至少一个python函数和现有关键字,或调用多个现有关键字,生成新关键字。
由于ONU的功能操作如ONU web登录、串口重启ONU均可通过组合调用相应的关键字来实现,因此可以预先生成与python函数的组合调用相对应的关键字以及与现有关键字和python函数的组合调用相对应的关键字。
关键字可以采用如下方式生成:
以组合调用python函数生成关键字为例:首先,根据所要实现的功能,确定需要组合调用的python函数;然后,查找上述python函数在python库层中的存储路径;最后,编写组合调用上述存储路径中python函数的关键字,实现将python函数封装为关键字。
以组合调用python函数和现有关键字为例:首先,根据所要实现的功能,确定需要组合调用的python函数和现有关键字;然后,查找上述python函数在python库层中的存储路径,以及上述关键字在关键字层中的存储路径;最后,编写组合调用上述存储路径中python函数和现有关键字的新关键字,实现将python函数和现有关键字封装为新关键字。
步骤S1302:将新关键字按照操作功能分类存储至不同的关键字文件中,得到关键字层,关键字层设置有全部关键字,关键字包括现有关键字和新关键字。
本申请实施例中,设置了多个关键字文件,包括:Build in库文件、Windows操作库文件、OLT库文件、Web库文件和串口库文件,将关键字分别根据其功能存储至对应的关键字文件中,例如将关键字:ONU web登录,存储至Web库文件,将关键字:串口重启ONU,存储至串口库文件。
本申请将关键字分类存储,从而便于在生成测试用例时,对同一类的关键字进行快速查找和调用。
步骤S140:根据被测设备的被测功能调用关键字生成测试用例,得到用例层,用例层设置有测试用例。
本步骤中,通过调用不同的关键字,生成多个测试用例,得到用例层,用例层设置有全部测试用例。多个测试用例组成测试套件,可对ONU进行多项功能测试。
按照步骤S110-S140所构建的测试环境的一个例子可以参见图4。如图4所示,测试环境包括仪器层、python库层、关键字层和用例层,其中,仪器层分类存储了多个API,通过python库层对仪器层中的API进行组合调用,形成python函数,python函数分类存储在python库层;关键字层对python库层中的python函数进行组合调用,形成关键字,关键字分类存储在关键字层;通过用例层对关键字层中的关键字进行组合调用,形成测试用例(如测试用例1、测试用例2、测试用例3),多个测试用例组成测试套件,供测试使用。按照上述实施例配置的测试环境,各层之间的调用路径均存储在配置文件中,在运行测试用例时,根据调用路径对API、python函数和关键字进行调用。
python库层实现了对仪器层API的封装,关键字层实现了对python库层的封装。上述两层封装使得不同ONU的差异、不同测试设备的操作差异在测试用例中透明。
为对上述两层封装的技术效果进行说明,本申请实施例提供了一种测试环境更新方法,参见图5,为本申请实施例提供的一种测试环境更新方法的流程示意图,如图5所示,该测试环境更新方法,包括以下步骤:
步骤S210:判断当前测试设备是否为测试用例中的测试设备。
在配置好测试环境后,运行测试用例,可得到测试结果。如果测试用例运行失败则需要分析原因,进而针对性地修改测试脚本。其中,测试用例运行失败是指使用测试用例进行测试,不能给出测试通过或测试未通过等合法的测试结论。
常见的一种测试失败原因是由于更换了测试设备。如果当前测试设备不是测试用例中的测试设备,使得仪器层的API改变,则会导致测试用例运行失败。例如,测试用例中的OLT为A公司的OLT1,现在换成了B公司的OLT2,而OLT2的API与OLT1的API又有不同,那么就会导致调用原API的python函数失效,进而导致关键字失效,最终导致测试用例运行失败。因此,本申请在测试用例运行失败时,首先分析当前测试设备是否为测试用例中的测试设备。
步骤S220:如果当前测试设备不是测试用例中的测试设备,则将测试用例对应python库层修改为当前测试设备对应python库层。
如果当前测试设备不是测试用例中的测试设备,说明测试用例运行失败是因为python库层调用的API不适用于当前测试设备导致的,因此只需对python库层进行调整,使得python库层中的python函数调用正确的API,从而python函数能够正确运行,进而关键字和测试用例也就能够正确运行。
实际实施中,由于更换测试设备可能导致多个API接口变化,因此,针对一个新的测试设备,可根据新的测试设备的操作说明书,将新的测试设备的API预先封装为一个python库层(封装方法参见上述实施方式中的介绍),在本步骤中更新关键字层所调用的python库层即可。
python库层的更新如图6所示,可以包括以下步骤:
步骤S2201:将当前测试设备对应python库层存储到与测试用例对应python库层平行的路径下。
通过查看配置文件中关键字层对python库层的调用路径,可以得到当前测试用例对应python库层的存储路径,将该存储路径作为当前测试设备对应python库层的参考存储路径,建立一个与上述参考存储路径中最后一级路径平行的路径,将当前测试设备对应python库层存储到该新建的路径下。
例如,针对OLT为A公司的OLT1,换成了B公司的OLT2,找到OLT2对应的python库层:b_gpon_api.py文件,以及原OLT1对应的python库层(a_gpon_api.py文件)的存储路径:libs/olt/a/,建立一个新的路径:libs/olt/b/,将b_gpon_api.py文件移动到该新建的路径下。
步骤S2202:将调用python库层的路径修改为调用当前测试设备对应python库层的路径。
在配置文件中,将关键字层调用python库层的路径修改为调用上述新建路径下python库层的路径。
例如,针对上述当前测试设备对应python库层的存储路径为libs/olt/b/,则可以将测将关键字层调用python库层:Resource../libs/olt/a/a_gpon_api.py,修改为:Resource../libs/olt/b/b_gpon_api.py。
不管是A公司的OLT1还是B公司的OLT2,它们对应的python库层文件,被关键字层调用后,给测试用例提供的关键字是不变的,如登录OLT均为关键字olt_login,因此,本申请实施例对测试用例屏蔽了关键字实现的具体细节,方便进行应用拓展。
如果不是更换测试设备导致的测试用例运行失败,则进一步判断测试设备调用的API是否发生变化。因此,如图5所示,在另一个实施例中,在步骤S210之后还可以包括:
步骤S230:如果当前测试设备是测试用例中的测试设备,则判断被测设备的当前测试功能调用的API是否为测试用例对应python库层调用的API。
即使当前测试设备是测试用例中的测试设备,仍然存在python函数调用的API发生变化的情况,python函数调用的API发生变化,将导致python函数失效,进而导致关键字失效,最终导致测试用例运行失败。
例如,ONU在升级换代后,串口连接调用的API由API1换成了API2,则在测试用例中进行串口连接测试时,串口连接调用的python函数将失效,最终导致测试用例运行失败,因此,需要判断当前测试功能调用的API是否更新。
步骤S240:如果当前测试功能调用的API不是测试用例对应python库层调用的API,则将测试用例对应的python库层修改为当前测试功能调用的API对应python库层。
如果当前测试功能调用的API更新,说明测试用例运行失败是因为python库层调用的API不适用于当前测试功能导致的,因此只需对python库层进行调整即可。
实际实施中,由于一些原因可能会导致python库层中的多个python函数调用的API发生变化,因此,在被测设备的API调用调整后,可将被测设备的API重新封装为一个新的python库层(封装方法参见上述实施方式中的介绍),供测试设备测试时进行调用,在本步骤中更新python库层即可。
本步骤中,python库层的更新如图7所示,可以包括以下步骤:
步骤S2401:将当前测试功能调用的API对应python库层存储到与测试用例对应python库层平行的路径下。
通过查看配置文件中关键字层对python库层的调用路径,可以得到测试用例对应python库层的存储路径,将该存储路径作为新的python库层的参考存储路径,建立一个与上述参考存储路径中最后一级路径平行的路径,将当前测试功能调用的API对应python库层存储到该新建的路径下。
步骤S2402:将调用python库层的路径修改为调用当前测试功能调用的API对应python库层的路径。
在配置文件中,将关键字层调用python库层的路径修改为调用上述新建路径下python库层的路径。
不管是在python库层更新后,还是在python库层更新前,关键字层掉用python库层后,给测试用例提供的关键字是不变的,因此,本步骤对测试用例屏蔽了关键字实现的具体细节,方便进行应用拓展。
如果不是更换API导致的测试用例运行失败,则进一步判断当前测试功能的关键字是否发生变化。因此,如图5所示,在另一个实施例中,在步骤S230之后还可以包括:
步骤S250:如果当前测试功能调用的API是测试用例对应python库层调用的API,则判断当前测试功能调用的关键字是否为测试用例对应关键字。
当被测设备的功能发生变化时,实现该功能的关键字将发生相应变化,如果测试用例仍然调用之前的关键字,将导致测试失败。
例如,ONU在升级换代后,上网方式从dhcp获取ip更改为pppoe拨号上网,那么在测试时,该上网方式对应的关键字内容应当做出修改,即调用的python函数应当修改,否则在测试用例中进行上网测试时,将会运行失败。另外,如果在测试用例中新增了某项功能测试,则需要测试新增的关键字,在此情况下,如果关键字层没有更换的话,那么由于新增的关键字没有设置对应的python函数或旧的关键字供其调用,也将导致测试用例运行失败,因此,需要判断关键字是否更新。
步骤S260:如果当前测试功能调用的关键字不是测试用例对应关键字,则将测试用例对应关键字层修改为当前测试功能调用的关键字对应关键字层。
如果当前测试功能调用的关键字更新,说明测试用例运行失败是因为关键字不适用于当前被测设备导致的,因此只需对关键字层进行调整即可。
实际实施中,由于一些原因可能会导致被测设备的多个关键字发生变化,因此,在被测设备的关键字调整后,可将被测设备的全部关键字重新封装为一个新的关键字层。封装方法参见上述实施方式中的介绍,在此不再重复说明,在本步骤中更新关键字层即可。
关键字层的更新如图8所示,可以包括以下步骤:
步骤S2601:将当前测试功能调用的关键字对应关键字层存储到与测试用例对应关键字层平行的路径下。
通过查看配置文件中测试用例对关键字层的调用路径,可以得到当前测试用例对应关键字层的存储路径,将该存储路径作为当前被测设备调用的关键字对应关键字层的参考存储路径,建立一个与上述参考存储路径中最后一级路径平行的路径,将当前被测设备调用的关键字对应关键字层存储到该新建的路径下。
步骤S2602:将调用关键字层的路径修改为调用当前测试功能调用的关键字对应关键字层的路径。
在配置文件中,将测试用例调用关键字层的路径修改为调用上述新建路径下关键字层的路径。
不管是关键字层更新后,还是关键字层更新前,python库层提供给测试用例提供的python函数是不变的,只是python函数的组合调用发生了变化,因此,本步骤对测试用例屏蔽了python函数实现的具体细节,方便进行应用拓展。
进一步的,如果当前被测设备所测试功能调用的关键字与测试用例对应关键子相同,则需要重新运行测试用例,寻找测试用例运行失败的其他原因,如代码中的单词拼写错误等原因。
由上述实施例可见,本申请提供的测试环境配置方法,通过将API封装为python函数,形成python库层,再将python函数封装为关键字,当API改变时,只需要更改python库层,实现python库层调用新的API,不需要更改关键字层,与相关技术中的关键字直接调用API相比,大幅减少了修改关键字带来的工作量;进一步的,当API的功能更新时,只需要更改关键字层,实现对python函数的重新组合,不需要修改python库层,工作量小,因此,本申请提供的测试环境配置方法,测试脚本可移植性高,提高了脚本开发效率。本申请实施例提供的测试环境更新方法,可在测试用例运行失败时,根据测试设备更换,将当前的python库层修改为对应新测试设备的python库层,如果测试设备没有更换,API更换,则将当前的python库层修改为对应新API的python库层,如果测试设备没有更换,API涉及的关键字更换,则将当前的关键字层修改为新关键字对应的关键字层,可见,本申请提供的测试环境更新方法,在测试用例运行失败时,只需要修改python库层或关键字层,工作量小,更新效率高。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“设置有”或者其任何其他变体意在涵盖非排他性的设置有,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (8)

1.一种测试环境配置方法,其特征在于,包括:
根据测试设备的API和被测设备的API设置仪器层;
根据所述API的操作功能编写调用所述API的python函数;
将所述python函数按照函数功能分类存储至不同的python函数文件中,得到python库层,所述python库层设置有全部所述python函数文件;
调用至少一个所述python函数,或调用至少一个所述python函数和现有关键字,或调用多个现有关键字,生成新关键字;
将所述新关键字按照操作功能分类存储至不同的关键字文件中,得到关键字层,所述关键字层设置有全部关键字,所述关键字包括所述现有关键字和新关键字;
根据所述被测设备的被测功能调用所述关键字生成测试用例,得到用例层,所述用例层设置有所述测试用例。
2.如权利要求1所述的测试环境配置方法,其特征在于,根据测试设备的API和被测设备的API设置仪器层,包括:将多种测试设备的API和被测设备的API分类存储至不同的仪器接口文件中,得到仪器层,所述仪器层设置有全部所述仪器接口文件。
3.如权利要求1所述的测试环境配置方法,其特征在于,根据所述被测设备的被测功能调用所述关键字生成测试用例,得到用例层,所述用例层设置有所述测试用例,包括:
调用不同的所述关键字,生成多个测试用例,得到用例层,所述用例层设置有全部所述测试用例。
4.如权利要求1所述的测试环境配置方法,其特征在于,所述方法还包括:
判断当前测试设备是否为测试用例中的测试设备;
如果所述当前测试设备不是所述测试用例中的测试设备,则将所述测试用例对应python库层修改为所述当前测试设备对应python库层;
如果所述当前测试设备是所述测试用例中的测试设备,则判断被测设备的当前测试功能调用的API是否为所述测试用例对应python库层调用的API;
如果所述当前测试功能调用的API不是所述测试用例对应python库层调用的API,则将所述测试用例对应的python库层修改为所述当前测试功能调用的API对应python库层;
如果所述当前测试功能调用的API是所述测试用例对应python库层调用的API,则判断所述当前测试功能调用的关键字是否为测试用例对应关键字;
如果所述当前测试功能调用的关键字不是测试用例对应关键字,则将所述测试用例对应关键字层修改为所述当前测试功能调用的关键字对应关键字层。
5.如权利要求4所述的测试环境配置方法,其特征在于,将所述测试用例对应python库层修改为所述当前测试设备对应python库层,包括:
将所述当前测试设备对应python库层存储到与所述测试用例对应python库层平行的路径下;
将调用python库层的路径修改为调用所述当前测试设备对应python库层的路径。
6.如权利要求4所述的测试环境配置方法,其特征在于,将所述测试用例对应的python库层修改为所述当前测试功能调用的API对应python库层,包括:
将所述当前测试功能调用的API对应python库层存储到与测试用例对应python库层平行的路径下;
将调用python库层的路径修改为调用所述当前测试功能调用的API对应python库层的路径。
7.如权利要求4所述的测试环境配置方法,其特征在于,将所述测试用例对应关键字层修改为所述被测设备的关键字对应关键字层,包括:
将所述当前测试功能调用的关键字对应关键字层存储到与测试用例对应关键字层平行的路径下;
将调用关键字层的路径修改为调用所述当前测试功能调用的关键字对应关键字层的路径。
8.如权利要求4所述的测试环境配置方法,其特征在于,判断当前测试设备是否为测试用例中的测试设备,之前还包括:
配置当前测试设备对应python库层和/或配置所述被测设备的当前测试功能对应python库层和/或配置当前测试功能调用的关键字对应关键字层。
CN201910988893.8A 2019-10-17 2019-10-17 测试环境配置及更新方法 Active CN110727599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910988893.8A CN110727599B (zh) 2019-10-17 2019-10-17 测试环境配置及更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910988893.8A CN110727599B (zh) 2019-10-17 2019-10-17 测试环境配置及更新方法

Publications (2)

Publication Number Publication Date
CN110727599A CN110727599A (zh) 2020-01-24
CN110727599B true CN110727599B (zh) 2023-08-04

Family

ID=69220239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910988893.8A Active CN110727599B (zh) 2019-10-17 2019-10-17 测试环境配置及更新方法

Country Status (1)

Country Link
CN (1) CN110727599B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131101A (zh) * 2020-08-27 2020-12-25 新华三大数据技术有限公司 一种自动化测试的方法、测试终端和存储介质
CN112597002A (zh) * 2020-12-08 2021-04-02 北京中电华大电子设计有限责任公司 一种基于Python脚本生成测试向量的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745767A (en) * 1995-03-28 1998-04-28 Microsoft Corporation Method and system for testing the interoperability of application programs
CN1877544A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 关键字驱动的自动化测试系统及方法
CN101042651A (zh) * 2006-03-22 2007-09-26 华为技术有限公司 一种软件升级方法及其系统
KR20100056338A (ko) * 2008-11-19 2010-05-27 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN101976220A (zh) * 2010-09-27 2011-02-16 北京神州泰岳软件股份有限公司 单元测试系统
CN106383784A (zh) * 2016-09-20 2017-02-08 上海爱数信息技术股份有限公司 软件自动化测试方法及系统
CN108845940A (zh) * 2018-06-14 2018-11-20 云南电网有限责任公司信息中心 一种企业级信息系统自动化功能测试方法和系统
CN109446077A (zh) * 2018-10-18 2019-03-08 阳光人寿保险股份有限公司 一种数据库测试方法及装置
US10437712B1 (en) * 2018-06-20 2019-10-08 Ca, Inc. API functional-test generation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249133B2 (en) * 2002-02-19 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a real time XML reporter
US7613953B2 (en) * 2003-05-27 2009-11-03 Oracle International Corporation Method of converting a regression test script of an automated testing tool into a function
US10891126B2 (en) * 2017-09-11 2021-01-12 Mx Technologies, Inc. On-device feature and performance testing and adjustment
US10678513B2 (en) * 2017-09-12 2020-06-09 Devfactory Fz-Llc Library upgrade method, apparatus, and system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745767A (en) * 1995-03-28 1998-04-28 Microsoft Corporation Method and system for testing the interoperability of application programs
CN1877544A (zh) * 2005-06-06 2006-12-13 华为技术有限公司 关键字驱动的自动化测试系统及方法
CN101042651A (zh) * 2006-03-22 2007-09-26 华为技术有限公司 一种软件升级方法及其系统
KR20100056338A (ko) * 2008-11-19 2010-05-27 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN101976220A (zh) * 2010-09-27 2011-02-16 北京神州泰岳软件股份有限公司 单元测试系统
CN106383784A (zh) * 2016-09-20 2017-02-08 上海爱数信息技术股份有限公司 软件自动化测试方法及系统
CN108845940A (zh) * 2018-06-14 2018-11-20 云南电网有限责任公司信息中心 一种企业级信息系统自动化功能测试方法和系统
US10437712B1 (en) * 2018-06-20 2019-10-08 Ca, Inc. API functional-test generation
CN109446077A (zh) * 2018-10-18 2019-03-08 阳光人寿保险股份有限公司 一种数据库测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于CLI的交换机管理系统快速设计方法;胡志坤等;《计算机工程与设计》(第12期);全文 *

Also Published As

Publication number Publication date
CN110727599A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
US10805171B1 (en) Understanding network entity relationships using emulation based continuous learning
US11151083B2 (en) Generating target application packages for groups of computing devices
US9672137B1 (en) Shadow test replay service
US9495152B2 (en) Automatic baselining of business application service groups comprised of virtual machines
US9836388B1 (en) Software testing environment that includes a duplicating proxy service
US10833937B2 (en) Detect impact of network maintenance in software defined infrastructure
CN110727599B (zh) 测试环境配置及更新方法
CN106326088B (zh) 实现构建测试对象的方法、装置及业务配置测试的装置
CN113141405B (zh) 服务访问方法、中间件系统、电子设备和存储介质
KR20220002136A (ko) 데이터베이스에 기반한 관리 방법, 플랫폼, 전자 기기 및 기록매체
CN115913937B (zh) 一种容器多网卡网络配置方法、装置、设备及存储介质
KR102486236B1 (ko) 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법
CN113076253A (zh) 一种测试方法和测试装置
US11921604B2 (en) Evaluating system recovery using emulated production systems
US20200264868A1 (en) Feature-Based Reporting of Software Versions
US11915107B2 (en) Software build management using machine learning model
US9871702B2 (en) Service information model for managing a telecommunications network
CN113179332B (zh) 用于获取配置信息的方法、电子设备和存储介质
US11966323B2 (en) Troubleshooting software services based on system calls
CN110515905B (zh) 一种路由的配置的方法、装置以及服务器
CN116418664A (zh) 自动化网络设备模型创建的方法及设备、系统及存储介质
Erdenebat et al. Challenges in service discovery for microservices deployed in a Kubernetes cluster–a case study
US20220283789A1 (en) Methods and apparatuses for providing a function as a service platform
US10469319B2 (en) Certification tool gap analyzer
CN113114493B (zh) 一种网元配置约束检查方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant