CN113590491A - 一种测试平台和产品测试方法 - Google Patents

一种测试平台和产品测试方法 Download PDF

Info

Publication number
CN113590491A
CN113590491A CN202110904476.8A CN202110904476A CN113590491A CN 113590491 A CN113590491 A CN 113590491A CN 202110904476 A CN202110904476 A CN 202110904476A CN 113590491 A CN113590491 A CN 113590491A
Authority
CN
China
Prior art keywords
test
function block
product
instruction
test item
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
CN202110904476.8A
Other languages
English (en)
Other versions
CN113590491B (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.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics 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 Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN202110904476.8A priority Critical patent/CN113590491B/zh
Publication of CN113590491A publication Critical patent/CN113590491A/zh
Application granted granted Critical
Publication of CN113590491B publication Critical patent/CN113590491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

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

本申请涉及软件测试领域,公开了一种测试平台和产品测试方法,以现有技术中的测试过程中,测试平台并不能灵活适应产品的发展和版本管控的要求,会导致多次修改甚至重复修改测试版本,导致测试效率比较低下的技术问题。方法部分包括:获取指令集,指令集包括多个不同的指令,每个指令对应一指令执行函数块;将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试;将多个测试项目功能块进行封装,得到产品测试块;对指令集的版本号、测试项目功能块的版本号和产品测试块版本号进行绑定,得到产品测试版本并保存;利用产品测试版本对产品进行测试。

Description

一种测试平台和产品测试方法
技术领域
本申请涉及软件测试技术领域,尤其涉及到一种测试平台和产品测试方法。
背景技术
产品在生成出货时,通过需要对产品的软件系统进行测试方能出货,因此目前常有一些针对产品的软件系统进行测试。
发明人研究发现,当每改动一个或多个软件功能更新到产品的软件系统上时,如果发现软件系统有问题,而需要对测试软件版本进行适应修改,也即需要定位出软件系统问题后再修改此测试软件版本后进行测试,修改后该测试软件版本并不能返回上个版本,而不同版本软件系统的产品无法采用当前测试软软件版本进行测试,可见,现有的测试平台并不能灵活适应产品的发展和版本管控的要求,会导致多次修改甚至重复修改测试版本,导致测试效率比较低下。
发明内容
本申请的目的在于提供一种测试平台和产品测试方法,以现有技术中的测试过程中,测试平台并不能灵活适应产品的发展和版本管控的要求,会导致多次修改甚至重复修改测试版本,导致测试效率比较低下的技术问题。
一种产品测试方法,应用于测试平台,所述产品测试方法包括:
获取指令集,所述指令集包括多个不同的指令,每个指令对应一指令执行函数块;
将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,所述测试项目用于对产品的软件系统的功能项目进行测试;
将多个所述测试项目功能块进行封装,得到产品测试块;
对所述指令集的版本、所述测试项目功能块的版本和所述软件产品测试块的版本进行绑定,得到产品测试版本;
利用所述产品测试版本对所述产品进行测试。
在一实施方式中,所述获取指令集,包括:
预先开发所述指令集,所述指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块;
将所述指令集作为动态连接库文件,拷贝至测试平台目录中,以供所述测试平台调用所述指令集中的各函数块。
在一实施方式中,所述将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,包括:
响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面;
响应所述用户对指令的选择,从所述指令集中调用相应的指令执行函数块,并接收所述用户对所述指令执行函数块的指令参数编辑以及指令参数描述编辑;
响应所述用户的插入选择,将所述指令执行函数块插入至所述功能块编辑页面中;
响应所述用户对插入的所述指令执行函数块的组合操作和测试项目参数编辑,得到所述测试项目功能块;
执行所述测试项目功能块,以对所述测试项目功能块进行测试;
当所述测试项目功能块测试通过后,将所述测试项目功能块与新建的所述测试项目功能块版本号进行关联保存。
在一实施方式中,所述执行所述测试项目功能块,以对所述测试项目功能块进行测试,包括:
单步执行或者连续执行所述测试项目功能块,以对所述测试项目功能块进行测试。
在一实施方式中,所述将多个所述测试项目功能块进行封装,得到产品测试块,包括
响应用户的产品测试块新建请求,新建产品测试版本号并打开产品测试块编辑页面;
响应所述用户对测试项目的选择,从已保存的测试项目功能块中调用相应的测试项目功能块,并接收所述用户对调用的所述测试项目功能块的测试项目参数、测试项目描述和编号进行编辑;
响应所述用户的插入选择,将调用的所述测试项目功能块插入至所述产品测试块编辑页面中;
响应所述用户对插入的所述测试项目功能块的组合操作和产品测试参数编辑,得到所述产品测试块;
将所述产品测试块与新建的所述产品测试版本号进行关联保存。
一种测试平台,所述测试平台包括:
获取模块,用于获取指令集,所述指令集包括多个不同的指令,每个指令对应一指令执行函数块;
编辑模块,用于将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,所述测试项目用于对产品的软件系统的功能项目进行测试;将多个所述测试项目功能块进行封装,得到产品测试块;
绑定模块,用于对所述指令集的版本、所述测试项目功能块的版本和所述软件产品测试块的版本进行绑定,得到产品测试版本;
测试模块,用于利用所述产品测试版本对所述产品进行测试。
在一实施方式中,所述获取模块,具体用于:
预先开发所述指令集,所述指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块;
将所述指令集作为动态连接库文件,拷贝至测试平台目录中,以供所述测试平台调用所述指令集中的各函数块。
在一实施方式中,所述编辑模块,具体用于:
响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面;
响应所述用户对指令的选择,从所述指令集中调用相应的指令执行函数块,并接收所述用户对所述指令执行函数块的指令参数编辑以及指令参数描述编辑;
响应所述用户的插入选择,将所述指令执行函数块插入至所述功能块编辑页面中;
响应所述用户对插入的所述指令执行函数块的组合操作和测试项目参数编辑,得到所述测试项目功能块;
执行所述测试项目功能块,以对所述测试项目功能块进行测试;
当所述测试项目功能块测试通过后,将所述测试项目功能块与新建的所述测试项目功能块版本号进行关联保存。
一种测试平台,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现前述方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如前述方法的步骤。
在本申请提供的方案中,先会获取包含不同指令执行函数块的指令集,通过调用指令集中的执行函数块,将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,再将多个所述测试项目功能块进行封装,得到产品测试块;最后,会对所述指令集的版本、所述测试项目功能块的版本和所述软件产品测试块的版本进行绑定,得到产品测试版本并保存,再对产品进行测试,可见,由于会对所述指令集的版本、所述测试项目功能块的版本和所述软件产品测试块的版本进行绑定,这样,每次产品软件更新发布时,我们会用此版本去测试,如果软件更新后产品出现问题需定位该问题,便可通过软件产品测试块的绑定关系,知道是哪一个函数块或测试项目出现问题,然后利用此绑定关系的产品测试版本再创建对应的函数块或测试项目,由于上个版本产品测试版本已经保存,可避免到影响到上个保存的产品测试版本,且能快速得到更新后的产品测试版本,另外,通过本申请,产品测试版本的问题会逐渐减少并趋于稳定,在没有新增功能情况下,只需配置产品测试版本的相关测试项目或函数块的参数,极为便利,极大的提高了测试效率,本申请提供的测试平台,能够灵活的适应产品的发展和产品测试版本管控的要求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种实施例提供的一种产品测试方法的流程示意图;
图2是本申请一种实施例提供的一种产品测试方法的另一流程示意图;
图3是本申请一种实施例提供的指令集的关系示意图;
图4是本申请一种实施例提供的指令集派生关系示意图;
图5是本申请一种实施例提供的测试项目功能块的关系示意图;
图6是本申请一种实施例提供的得到测试项目功能块的一流程示意图;
图7是本申请一种实施例提供的得到产品测试块的一流程示意图;
图8是本申请一种实施例提供的测试平台的一结构示意图;
图9是本申请一种实施例提供的一种计算机设备的一结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
实施例一
在本申请实施例中,如图1所示,测试平台用于提供测试编辑界面,供用户完成测试所需的编辑工作,包括对指令集、测试项目功能块和产品测试块进行的相关参数进行编辑,依据指令集中的指令组合成测试项目功能块,依据测试项目功能块组合成产品测试块,然后进行版绑定后组成产品测试版本并保存,最后对产品开始测试,这样,每次产品软件更新发布时,可以会用此版本去测试,如果软件更新后产品出现问题需定位该问题,便可通过软件产品测试块的绑定关系,知道是哪一个函数块或测试项目出现问题,然后利用此绑定关系的产品测试版本再创建对应的函数块或测试项目,由于上个产品测试版本已经保存,可避免到影响到上个保存的产品测试版本,且能快速得到更新后的产品测试版本,另外,通过本申请,产品测试版本的问题会逐渐减少并趋于稳定,在没有新增功能情况下,只需配置产品测试版本的相关测试项目或函数块的参数,极为便利,极大的提高了测试效率,本申请提供的测试平台,能够灵活的适应产品的发展和产品测试版本管控的要求。
需要说明的是,本申请所指的产品,指的是各种具备软件系统或需配置软件的电子产品,例如,该产品包括但不限于路由器产品、蓝牙耳机等电子产品。测试平台指的是电脑等具备显示界面的终端设备。
下面对个步骤进行详细的描述,如图2所示,提供了一种产品测试方法,应用于测试平台,产品测试方法包括如下步骤:
S10:获取指令集,指令集包括多个不同的指令,每个指令对应一指令执行函数块。
该指令集用于后续为测试平台提供底层代码支持,以便于测试平台根据指令集形成测试代码块,该指令集可以包括多个子指令集。如图3所示,每个指令集包括多个不同的指令,以及提供指令对应的指令参数配置和指令参数描述,其中:
指令:为用于执行相关功能的代码块。
指令参数配置:为指令开放配置的参数。
指令参数描述:指令参数的功能描述。
例如,以写SN(写序列号)测试项目为例,当需要对产品测试该测试项目时,需要对被测产品下发命令如:SN为123,其中,涉及通信部分代码会封装成一条指令,可以为此条指令配置指令参数,只需填入指令参数(123)便行,对应的指令参数描述,则可以为向产品告知SN为123。
例如,以读SN(读序列号)测试项目为例,读SN与写NS有点类似,读SN的过程中,也会向产品发送一些指令,其中涉及通信部分代码会封装成一条指令,只是此时的指令参数为获取的结果,执行指令即可,相当于变量SN=123,SN就是输出参数,值为123。
需要说明的是,上述例子中,写SN,参数名为SN这一具体名称,可由开发人员根据需要定义,而指令参数输为开放填写。读SN,参数名为SNSN这一具体名称,可由开发人员根据需要定义,该指令参数的输出值根据通讯过程输出,例如输出123。后续可以直接使用SN,SN=123。
也就是说,在该实施例中,指令集包含了用于实现某个测试项目所需的指令,以及指令对应的指令执行函数块,也即包含了实现某个测试项目所需的代码块。
在一实施例中,上述获取指令集,包括:
S11:预先开发指令集,指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块。
S12:将指令集作为动态连接库文件,拷贝至测试平台的目录中,以供测试平台调用指令集中的各函数块。
如图4所示,该指令集可以包括指令集A、指令集B、...、指令集N,其中,每个指令集下包括多个不同的指令,例如,指令集A包括指令A、指令B和指令C,其中,每个指令均对应有指令名称函数、指令参数函数、指令描述函数和指令执行函数,对于其他指令集A中的其他指令,以及其他指令集中指令,也均对应有上述4个函数,在开发出上述指令集,将指令集作为动态连接库文件,拷贝至测试平台的目录中,以供测试平台调用指令集中的各函数块,也即,上述指令名称函数、指令参数函数、指令描述函数和指令执行函数,是给测试平台提供的调用函数。
在一实施例中,如图4所示,每个指令集均可基于不同的基类获取得到,并且在该基类的基础上,派生出多个不同的派生类指令。例如,指令集A可以是基类A对应的指令集,指令A是派生类指令A,指令B是派生类指令B,指令C是派生类指令C,具体不做限定。
不同的指令集具有不同的版本号,如,指令集A、B和C具有不同的版本号。
当上述指令集复制至测试平台的目录后,测试平台可以对指令集中的函数块进行调用,其中,上述各函数实现的功能为:
指令名称函数:告诉测试平台指令的名称
指令参数函数:告诉测试平台这个指令都有哪些参数,这些参数会通过平台配置之后传回指令执行函数。
指令描述函数,让测试平台显示该指令执行什么功能,指令函数都有哪些,怎么填写。
指令执行函数:指令执行。
这四个函数为测试平台所调用,其中,每个指令的指令名称都是固定的,这样测试平台就能知道要调用哪些函数,只是每个指令执行的内容会有区别。
在该实施例中,对于指令的处理,本申请实施例中采用类工厂模式的设计,将指令集作为基类,指令为派生出来的产品类,为测试平台创建对象指针用于平台调用和执行指令。
S20:将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试;
在获取到指令集之后,依据某一测试项目的测试需求,便可将指令集部件中的指令执行函数块进行组合封装,得到测试项目功能块,也可以理解为将指令集部件中的指令进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试。例如,该测试项目可以是写SN、读SN等,也即一测试项目对应一测试项目功能块。除此之外,还可以有其他的测试项目,例如:写MAC(写硬件地址),读MAC(读硬件地址)等,写值读值操作,还可以是其他控制仪器,控制外设,测试wifi等一系列,可以用代码实现的操作都可以实现。
如图5所示,测试项目功能块包括测试项目编号、测试项目名称和测试项目参数。其中:
测试项目编码:是该测试项目的编码,唯一性。
测试项目名称:测试项名称描述。
测试项目参数:开放出来的配置参数。
例如,以读、写NS为例,如SN=123,读、写SN为测试项目名称,123为测试项目参数。哟例如,以读、写MAC为例,如MAC=abc,读、写MAC为测试项目名称,abc为测试项目参数。
在一实施例中,如图6所示,步骤S20中,也即将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,具体包括如下步骤:
S201:响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面。
测试平台提供了功能块编辑页面,在需要对指令集部件中的指令执行函数块进行封装,得到测试项目功能块时,用户可以在向测试平台输入测试项目新建请求,测试平台收到该测试项目新建请求之后,会响应用户的测试项目新建请求,从而新建测试项目功能块版本号并打开功能块编辑页面,其中,该测试项目功能块版本号,用于唯一对应用户当前通过功能块编辑页面编辑得到的测试项目功能块。
其中,在一实施方式中,该测试项目功能块版本号,也即上述提及的测试项目编号。例如,以新建写SN测试项目为例,可以为该写SN测试项目新建版本号:wSN0001。
S202:响应用户对指令的选择,从指令集中调用相应的指令执行函数块。
S203:接收用户对指令执行函数块的指令参数编辑以及指令参数描述编辑。
测试平台打开功能块编辑页面后,由于测试平台已获取了指令集,因此,测试平台可以调用指令集中的相关函数,以将相关指令展示在编辑页面以供用户选择,或者通过自行通过搜索关键词的方式调用相关指令。
可以理解,指令集中包含指令名称函数、指令参数函数、指令描述函数和指令执行函数,测试平台可以调用到上述相关函数,如调用指令名称函数获取指令名称,并以指令名称渲染出模块框,并调用指令参数函数用于指示该指令的有哪些参数,并可调用指令描述函数获取指令描述进行展示,以提示用户该指令的功能,并可调用指令对应的指令执行函数。
用户从编辑页面选择,或者通过自行通过搜索关键词方式调用相关指令后,测试平台会响应用户对指令的选择,从指令集中调用相应的指令执行函数块,并接收用户对指令执行函数块的指令参数编辑以及指令参数描述编辑,也即用户可以对指令描述函数获取的描述和指令参数进行编辑。
S204:响应用户的插入选择,将指令执行函数块插入至功能块编辑页面中。
当用户选择了某一指令后,也即选择了某一指令执行函数块进行插入后,测试平台会响应用户的插入选择,将指令执行函数块插入至功能块编辑页面中。
S205:判断是否有再插入新的指令执行函数块,若是则执行步骤S202;若否则执行步骤S206。
S206:响应用户对插入的指令执行函数块的组合操作和测试项目参数编辑,得到测试项目功能块。
S207:判断用户是否有修改指令执行函数块的组合,和/或测试项目参数,若无,则执行步骤S208。
在完成第一块指令执行函数块的输入后,测试平台会继续响应用户的对指令执行函数块的输入,并对插入的指令执行函数块的组合操作和测试项目参数编辑,得到测试项目功能块。在这个过程,在完成一块指令执行函数块的插入和编辑后,会继续判断是否用户有再选择插入指令执行函数块,直至用户不再插入新的指令对应的指令执行函数块,此时,用户便可对插入的指令执行函数块的进行组合操作,以及对测试项目参数编辑得到测试项目功能块。
例如,对于写SN测试项目,实现写SN测试项目需包含依次执行的指令1、指令2、...、指令n,则用户可以从测试平台中选择上述指令1、指令2、...、指令n,以使测试平台从指令集中调用指令1-指令n相应的指令执行函数块,并响应用户的组合操作,对指令1-指令n相应的指令执行函数块进行组合操作,并接收用户对该写SN测试项目参数进行编辑,得到写SN测试项目功能块,并可以编辑写SN测试项目功能块对应的测试项目参数,如写SN测试项目功能块的测试项目名称、编号等。
其中,上组合操作包括对指令执行函数块的上移、下移和修改等操作,该修改可以更改指令执行函数块,或者修改执行函数块的相关参数。
之后,还会判断用户是否有修改指令执行函数块的组合,和/或测试项目参数,如有,则响应用户的组合操作,或者修改测试项目参数,若无,则执行步骤S208。
可以理解,在经过上述步骤后,便能得到可以实现写SN功能的写SN测试项目功能块,并用于执行。
S208:执行测试项目功能块,以对测试项目功能块进行测试。
S209:当测试项目功能块测试通过后,将测试项目功能块与新建的测试项目功能块版本号进行关联保存。
例如,在得到写SN测试项目功能块后,可执行该SN测试项目功能块,以对该测试项目功能块进行测试。如果执行不通过,说明该SN测试项目功能块的指令集顺序或参数有误,此时会提示用户修改,当SN测试项目功能块测试通过后,将SN测试项目功能块与前述新建的测试项目功能块版本号wSN0001进行关联保存。
其中,对于封装组合成其他测试项目功能块的过程类似,这里不一一举例说明。
在该实施例中,用户可以根据需求,根据不同产品,不同版本的分类迭代自由组合的方式,封装组成成各个测试项目功能块,其有组件化管理,配置灵活,修改参数也灵活。
在一实施例中,步骤S208中,执行测试项目功能块,以对测试项目功能块进行测试,可以指的是单步执行或者连续执行测试项目功能块,以对测试项目功能块进行测试。其中,单独执行指的是一个个单独执行测试项目功能块中的指令执行函数块,以逐一判定某一指令执行函数块的执行是否出错,出错则提示用户,连续执行测试项目功能块,指的是一次性连续执行测试项目功能块的所有指令执行函数块,执行完后,将执行有错的指令执行函数块提示给用户,以便用户更改错误。
在该实施例中,用户可根据自身习惯或测试项目功能块的情况,选择方便调试的方式,对所组成的每个测试项目功能块进行调试,极为便利,也为后面成功组装、灵活组装产品测试块提供了基础条件。
S30:将多个测试项目功能块进行封装,得到产品测试块。
如前述步骤,经过上述步骤,可以组装得到不同的测试项目功能块,例如写SN测试项目功能块、读SN测试项目功能块、写MAC测试项目功能块、读SN测试项目功能块等。
在该实施例中,用户可以依据不通过被测产品的测试需求,组合出所需的多个测试项目功能块,再对这所需的多个测试项目功能块进行封装,得到该被测产品的产品测试块。可见,经过该步骤,例如,对于不同的产品A、产品B和产品C等,可得到产品A、产品B和产品C分别对应的产品测试块。
在一实施例中,如图6所示,步骤S30,也即将多个测试项目功能块进行封装,得到产品测试块,具体包括如下步骤:
S301:响应用户的产品测试块新建请求,新建产品测试版本号并打开产品测试块编辑页面。
测试平台提供了产品测试块编辑页面,在需要对多个测试项目功能块进行封装,得到产品测试块时,用户可以在向测试平台输入产品测试块新建请求,测试平台收到该产品测试块新建请求之后,会响应用户的产品测试块新建请求,从而新建产品测试版本号并打开产品测试块编辑页面,其中,该产品测试版本号,用于唯一对应用户当前通过产品测试块编辑页面编辑得到的产品测试块。
例如,以新建写产品A测试块为例,可以为该产品A测试块新建版本号:productA0001。
S302:响应用户对测试项目的选择,从已保存的测试项目功能块中调用相应的测试项目功能块。
S303:接收用户对调用的测试项目功能块的测试项目参数、测试项目描述和编号进行编辑。
测试平台打开产品测试块编辑页面后,由于测试平台已获取了所需的测试项目功能块,因此,测试平台可以调用所需的测试项目功能块,以将测试项目功能块展示在编辑页面以供用户选择,或者通过自行通过搜索关键词的方式调用相关测试项目功能块。
可以理解,测试平台可以调用测试项目功能块,并以测试项目功能块名称渲染出模块框,以提示用户该测试项目功能块的功能。用户从测试块编辑页面选择,或者通过自行通过搜索关键词方式调用相关测试项目功能块后,测试平台会响应用户对测试项目功能块的选择,调用相应的测试项目功能块,并接收用户对测试项目功能块的测试项目参数编辑、测试项目描述和编号,也即用户可以对调用的测试项目功能块进行编辑。
S304:响应用户的插入选择,将调用的测试项目功能块插入至产品测试块编辑页面中。
S305:判断是否有再插入新的测试项目功能块,若是则执行步骤S302;若否则执行步骤S306。
S306:响应用户对插入的测试项目功能块的组合操作和产品测试参数编辑,得到产品测试块。
S307:判断用户是否有修改测试项目功能块的组合,和/或产品测试参数,若无,则执行步骤S308。
在完成第一块测试项目功能块的输入后,测试平台会继续响应用户的对测试项目功能块的输入,并对插入的测试项目功能块的组合操作和产品测试参数编辑,得到产品测试块。在这个过程,在完成一块测试项目功能块的插入和编辑后,会继续判断是否用户有再选择插入测试项目功能块,直至用户不再插入新的测试项目功能块,此时,用户便可对插入的多个测试项目功能块的进行组合操作,以及组成的产品测试参数编辑得到最终的产品测试块。
例如,对于产品A测试块,对产品A进行测试时,包含写SN测试项目、SN测试项目等等一些系列测试,则用户可以从测试平台中选择上述写SN测试项目、SN测试项目,以使测试平台调用相应的写SN测试项目功能块、读SN测试项目功能块等测试项目功能块,并响应用户的组合操作,对写SN测试项目功能块、读SN测试项目功能块等测试项目功能块进行组合操作,并接收用户对该写SN测试项目功能块、读SN测试项目功能块等测试项目功能块进行编辑,得到最终的产品A测试块,并可对形成的产品A测试块配置,对应的产品A测试参数,如产品A测试块的名称、编码等。
其中,上组合操作包括对指令执行函数块的上移、下移和修改等操作,该修改可以更改指令执行函数块,或者修改执行函数块的相关参数。
之后,还会判断用户是否有修改产品测试块的组合,和/或产品测试参数,如有,则响应用户的组合操作,或者修改产品测试参数,若无,则执行步骤S308。
可以理解,在经过上述步骤后,便能得到可以实现写SN功能的写SN测试项目功能块,并用于执行。
S308:将产品测试块与新建的产品测试版本号进行关联保存。
在该实施例中,用户可以根据需求,根据不同产品,不同版本的分类迭代自由组合的方式,封装组成成各个产品对应的产品测试块,其有组件化管理,配置灵活,修改参数也灵活。
需要说明的是,在编辑过程中,上述功能块编辑页面和产品块编辑页面可以依据用户选择来回切换,以便于提高编辑效率。
S40:对指令集的版本号、测试项目功能块的版本号和产品测试块版本号进行绑定,得到产品测试版本并保存。
在经过上述步骤后,将组装成上述产品测试版本对应的指令集的版本号、测试项目功能块的版本号和软件产品测试块版本号进行绑定得到产品测试版本,并保存。可以看出,通过上述实施例,可以灵活,自由的组装出不同产品当前对应的产品测试版本,并与产品测试块版本号进行了关联保存,便于追溯。这样,每次产品软件更新发布时,我们会用此版本去测试,如果软件更新后产品出现问题需定位该问题,便可通过软件产品测试块的绑定关系,知道是哪一个函数块或测试项目出现问题,然后利用此绑定关系的产品测试版本再创建对应的函数块或测试项目,由于上个版本产品测试版本已经保存,可避免到影响到上个保存的产品测试版本,且能快速得到更新后的产品测试版本,另外,通过本申请,产品测试版本的问题会逐渐减少并趋于稳定,在没有新增功能情况下,只需配置产品测试版本的相关测试项目或函数块的参数,极为便利,极大的提高了测试效率,本申请提供的测试平台,能够灵活的适应产品的发展和产品测试版本管控的要求。
S50:利用产品测试版本对产品进行测试。
最后,便可以对产品测试版本对产品进行测试,如得到产品A对应的产品测试版本,便利用该产品测试版本,对产品A进行测试。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定,相关的技术效果和特点也可以参阅前述描述,这里不重复描述。
实施例二
在一实施例中,提供一种测试平台,该测试平台与上述实施例中产品测试方法一一对应。如图8所示,该测试平台包括获取模块101、编辑模块102、绑定模块103和测试模块104。各功能模块详细说明如下:
获取模块101,用于获取指令集,指令集包括多个不同的指令,每个指令对应一指令执行函数块;
编辑模块102,用于将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试;将多个测试项目功能块进行封装,得到产品测试块;
绑定模块103,用于对指令集的版本、测试项目功能块的版本和软件产品测试块的版本进行绑定,得到产品测试版本并保存;
测试模块104,用于利用产品测试版本对产品进行测试。
在一实施例中,获取模块101,具体用于:
预先开发指令集,指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块;
将指令集作为动态连接库文件,拷贝至测试平台目录中,以供测试平台调用指令集中的各函数块。
在一实施例中,编辑模块102,具体用于:
响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面;
响应用户对指令的选择,从指令集中调用相应的指令执行函数块,并接收用户对指令执行函数块的指令参数编辑以及指令参数描述编辑;
响应用户的插入选择,将指令执行函数块插入至功能块编辑页面中;
响应用户对插入的指令执行函数块的组合操作和测试项目参数编辑,得到测试项目功能块;
执行测试项目功能块,以对测试项目功能块进行测试;
当测试项目功能块测试通过后,将测试项目功能块与新建的测试项目功能块版本号进行关联保存。
在一实施例中,编辑模块102还用于:
单步执行或者连续执行测试项目功能块,以对测试项目功能块进行测试。
在一实施例中,编辑模块102还用于:
响应用户的产品测试块新建请求,新建产品测试版本号并打开产品测试块编辑页面;
响应用户对测试项目的选择,从已保存的测试项目功能块中调用相应的测试项目功能块,并接收用户对调用的测试项目功能块的测试项目参数、测试项目描述和编号进行编辑;
响应用户的插入选择,将调用的测试项目功能块插入至产品测试块编辑页面中;
响应用户对插入的测试项目功能块的组合操作和产品测试参数编辑,得到产品测试块;
将产品测试块与新建的产品测试版本号进行关联保存。
关于测试平台的具体限定可以参见上文中对于产品测试方法的限定,在此不再赘述。上述测试平台中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是测试平台,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种产品测试方法。
在一个实施例中,提供了一种测试平台,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取指令集,指令集包括多个不同的指令,每个指令对应一指令执行函数块;
将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试;
将多个测试项目功能块进行封装,得到产品测试块;
对指令集的版本号、测试项目功能块的版本号和产品测试块版本号进行绑定,得到产品测试版本并保存;
利用产品测试版本对产品进行测试。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取指令集,指令集包括多个不同的指令,每个指令对应一指令执行函数块;
将指令集部件中的指令执行函数块进行封装,得到测试项目功能块,测试项目用于对产品的软件系统的功能项目进行测试;
将多个测试项目功能块进行封装,得到产品测试块;
对指令集的版本号、测试项目功能块的版本号和产品测试块版本号进行绑定,得到产品测试版本并保存;
利用产品测试版本对产品进行测试。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种产品测试方法,应用于测试平台,其特征在于,所述产品测试方法包括:
获取指令集,所述指令集包括多个不同的指令,每个指令对应一指令执行函数块;
将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,所述测试项目用于对产品的软件系统的功能项目进行测试;
将多个所述测试项目功能块进行封装,得到产品测试块;
对所述指令集的版本号、所述测试项目功能块的版本号和所述产品测试块版本号进行绑定,得到产品测试版本并保存;
利用所述产品测试版本对所述产品进行测试。
2.如权利要求1所述的产品测试方法,其特征在于,所述获取指令集,包括:
预先开发所述指令集,所述指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块;
将所述指令集作为动态连接库文件,拷贝至测试平台目录中,以供所述测试平台调用所述指令集中的各函数块。
3.如权利要求1所述的产品测试方法,其特征在于,所述将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,包括:
响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面;
响应所述用户对指令的选择,从所述指令集中调用相应的指令执行函数块,并接收所述用户对所述指令执行函数块的指令参数编辑以及指令参数描述编辑;
响应所述用户的插入选择,将所述指令执行函数块插入至所述功能块编辑页面中;
响应所述用户对插入的所述指令执行函数块的组合操作和测试项目参数编辑,得到所述测试项目功能块;
执行所述测试项目功能块,以对所述测试项目功能块进行测试;
当所述测试项目功能块测试通过后,将所述测试项目功能块与新建的所述测试项目功能块版本号进行关联保存。
4.如权利要求3所述的产品测试方法,其特征在于,所述执行所述测试项目功能块,以对所述测试项目功能块进行测试,包括:
单步执行或者连续执行所述测试项目功能块,以对所述测试项目功能块进行测试。
5.如权利要求1-4任一项所述的产品测试方法,其特征在于,所述将多个所述测试项目功能块进行封装,得到产品测试块,包括
响应用户的产品测试块新建请求,新建产品测试版本号并打开产品测试块编辑页面;
响应所述用户对测试项目的选择,从已保存的测试项目功能块中调用相应的测试项目功能块,并接收所述用户对调用的所述测试项目功能块的测试项目参数、测试项目描述和编号进行编辑;
响应所述用户的插入选择,将调用的所述测试项目功能块插入至所述产品测试块编辑页面中;
响应所述用户对插入的所述测试项目功能块的组合操作和产品测试参数编辑,得到所述产品测试块;
将所述产品测试块与新建的所述产品测试版本号进行关联保存。
6.一种测试平台,其特征在于,所述测试平台包括:
获取模块,用于获取指令集,所述指令集包括多个不同的指令,每个指令对应一指令执行函数块;
编辑模块,用于将所述指令集部件中的所述指令执行函数块进行封装,得到测试项目功能块,所述测试项目用于对产品的软件系统的功能项目进行测试;将多个所述测试项目功能块进行封装,得到产品测试块;
绑定模块,用于对所述指令集的版本、所述测试项目功能块的版本和所述软件产品测试块的版本进行绑定,得到产品测试版本并保存;
测试模块,用于利用所述产品测试版本对所述产品进行测试。
7.如权利要求6所述的测试平台,其特征在于,所述获取模块,具体用于:
预先开发所述指令集,所述指令集还包括指令名称函数块、指令参数函数块和指令参数描述函数块;
将所述指令集作为动态连接库文件,拷贝至测试平台目录中,以供所述测试平台调用所述指令集中的各函数块。
8.如权利要求6所述的测试平台,其特征在于,所述编辑模块,具体用于:
响应用户的测试项目新建请求,新建测试项目功能块版本号并打开功能块编辑页面;
响应所述用户对指令的选择,从所述指令集中调用相应的指令执行函数块,并接收所述用户对所述指令执行函数块的指令参数编辑以及指令参数描述编辑;
响应所述用户的插入选择,将所述指令执行函数块插入至所述功能块编辑页面中;
响应所述用户对插入的所述指令执行函数块的组合操作和测试项目参数编辑,得到所述测试项目功能块;
执行所述测试项目功能块,以对所述测试项目功能块进行测试;
当所述测试项目功能块测试通过后,将所述测试项目功能块与新建的所述测试项目功能块版本号进行关联保存。
9.一种测试平台,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN202110904476.8A 2021-08-06 2021-08-06 一种测试平台和产品测试方法 Active CN113590491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110904476.8A CN113590491B (zh) 2021-08-06 2021-08-06 一种测试平台和产品测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110904476.8A CN113590491B (zh) 2021-08-06 2021-08-06 一种测试平台和产品测试方法

Publications (2)

Publication Number Publication Date
CN113590491A true CN113590491A (zh) 2021-11-02
CN113590491B CN113590491B (zh) 2024-03-29

Family

ID=78255981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110904476.8A Active CN113590491B (zh) 2021-08-06 2021-08-06 一种测试平台和产品测试方法

Country Status (1)

Country Link
CN (1) CN113590491B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858404A (zh) * 2023-03-01 2023-03-28 上海合见工业软件集团有限公司 一种基于eda的图形用户界面的测试系统
CN116405968A (zh) * 2023-06-07 2023-07-07 深圳市百泰实业股份有限公司 一种用户可编程的蓝牙测试系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101128007A (zh) * 2007-09-21 2008-02-20 中兴通讯股份有限公司 移动通讯终端测试方法
CN103002318A (zh) * 2012-12-05 2013-03-27 深圳创维数字技术股份有限公司 一种数字电视接收终端的自动测试方法及自动测试系统
US8442423B1 (en) * 2009-01-26 2013-05-14 Amazon Technologies, Inc. Testing within digital media items
CN103853663A (zh) * 2014-03-25 2014-06-11 北京金山网络科技有限公司 应用程序测试方法及系统
CN108132879A (zh) * 2017-12-21 2018-06-08 周舟 自动化软件测试方法、平台、终端及介质
CN111858201A (zh) * 2020-06-24 2020-10-30 苏州浪潮智能科技有限公司 一种bmc综合测试方法、系统、终端及存储介质
CN112306854A (zh) * 2019-08-01 2021-02-02 腾讯科技(深圳)有限公司 用例测试方法、装置、电子设备及存储介质
CN112597043A (zh) * 2020-12-28 2021-04-02 深圳供电局有限公司 软件测试方法、装置、计算机设备和存储介质
CN112685282A (zh) * 2019-10-17 2021-04-20 拉扎斯网络科技(上海)有限公司 测试方法、装置、电子设备及计算机可读存储介质
CN112699055A (zh) * 2021-01-19 2021-04-23 航天恒星科技有限公司 一种维护成本较低的软件自动化测试方法及系统
CN113190443A (zh) * 2021-04-28 2021-07-30 南京航空航天大学 测试方法、装置、计算机设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101128007A (zh) * 2007-09-21 2008-02-20 中兴通讯股份有限公司 移动通讯终端测试方法
US8442423B1 (en) * 2009-01-26 2013-05-14 Amazon Technologies, Inc. Testing within digital media items
CN103002318A (zh) * 2012-12-05 2013-03-27 深圳创维数字技术股份有限公司 一种数字电视接收终端的自动测试方法及自动测试系统
CN103853663A (zh) * 2014-03-25 2014-06-11 北京金山网络科技有限公司 应用程序测试方法及系统
CN108132879A (zh) * 2017-12-21 2018-06-08 周舟 自动化软件测试方法、平台、终端及介质
CN112306854A (zh) * 2019-08-01 2021-02-02 腾讯科技(深圳)有限公司 用例测试方法、装置、电子设备及存储介质
CN112685282A (zh) * 2019-10-17 2021-04-20 拉扎斯网络科技(上海)有限公司 测试方法、装置、电子设备及计算机可读存储介质
CN111858201A (zh) * 2020-06-24 2020-10-30 苏州浪潮智能科技有限公司 一种bmc综合测试方法、系统、终端及存储介质
CN112597043A (zh) * 2020-12-28 2021-04-02 深圳供电局有限公司 软件测试方法、装置、计算机设备和存储介质
CN112699055A (zh) * 2021-01-19 2021-04-23 航天恒星科技有限公司 一种维护成本较低的软件自动化测试方法及系统
CN113190443A (zh) * 2021-04-28 2021-07-30 南京航空航天大学 测试方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李鑫: "基于Python的软件测试自动化平台", 中国优秀硕士学位论文全文数据库信息科技辑, no. 9, pages 138 - 649 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858404A (zh) * 2023-03-01 2023-03-28 上海合见工业软件集团有限公司 一种基于eda的图形用户界面的测试系统
CN115858404B (zh) * 2023-03-01 2023-05-12 上海合见工业软件集团有限公司 一种基于eda的图形用户界面的测试系统
CN116405968A (zh) * 2023-06-07 2023-07-07 深圳市百泰实业股份有限公司 一种用户可编程的蓝牙测试系统
CN116405968B (zh) * 2023-06-07 2023-08-29 深圳市百泰实业股份有限公司 一种用户可编程的蓝牙测试系统

Also Published As

Publication number Publication date
CN113590491B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
EP1582985B1 (en) Test case inheritance controlled via attributes
CN109614165B (zh) 一种com组件的多版本并行运行方法和装置
CN113590491A (zh) 一种测试平台和产品测试方法
CN108897547B (zh) 一种软件自动化部署方法及装置
CN111638873A (zh) 程序代码的生成方法、装置、计算机设备及存储介质
CN112187713B (zh) 报文转换的方法、装置、计算机设备和存储介质
US7340725B1 (en) Smart test attributes and test case scenario in object oriented programming environment
CN111651169B (zh) 基于web容器的区块链智能合约运行方法及系统
US7577541B1 (en) Test services provider
CN111190584A (zh) Ehis-db系统版本发布方法、装置、计算机设备和存储介质
CN110659022B (zh) 一种基于Java自动调用Python脚本的方法
CN111625225A (zh) 一种程序指定数据输出方法和装置
US11593078B2 (en) Reload ordering for executable code modules
CN116243923A (zh) 一种小程序处理方法、装置及电子设备
CN114020278B (zh) 数据处理方法、装置、设备及存储介质
CN110688430B (zh) 一种获得数据旁路的方法、装置及电子设备
CN111625378A (zh) 一种源代码远程查看方法和装置
CN110618939A (zh) 一种自动化测试用例管理的方法及装置
CN113722214B (zh) 测试方法、测试设备及测试系统
CN110990078B (zh) 应用的初始化方法、装置、存储介质及移动终端
CN117251298B (zh) 一种流水线任务循环执行方法、系统、设备及介质
CN117435510B (zh) 自动化测试方法、终端设备及计算机可读存储介质
CN112306844B (zh) 软件开发系统的接口测试方法、装置、设备及存储介质
CN115705289A (zh) 测试方法、Mock框架、用户设备、服务设备和存储介质
CN116010251A (zh) 一种JMeter获取csv指定行列的方法、装置和设备

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