掌桥专利:专业的专利平台
掌桥专利
首页

基于脚本模板的测试方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 09:49:27


基于脚本模板的测试方法、装置、计算机设备和存储介质

技术领域

本申请涉及人工智能技术领域,具体涉及一种基于脚本模板的测试方法、装置、计算机设备和存储介质。

背景技术

当前在进行产品开发测试的过程中,业务人员需要提交需求文档给到开发人员,需求文档中需要包括产品的某些参数数据,例如佣金比例,进而开发人员根据该需求文档进行相关产品的开发与测试处理。然而产品在开发生成过程中,产品的参数数据可能会随着市场变化而变化。如果在开发人员在根据需求文档进行产品开发测试的过程中,收到了业务人员发出的调整参数数据的变更流程,则会导致开发人员需要返工进行对于该参数数据的重新设置,这样会大大的降低了开发人员的工作效率,另外,如果期间业务人员多次对参数数据进行了更改,则需要与开发人员进行多次沟通,沟通成本较高。因此,现有的产品开发测试流程繁琐,效率低,缺乏智能性。

发明内容

本申请的主要目的为提供一种基于脚本模板的测试方法、装置、计算机设备和存储介质,旨在解决现有的产品开发测试流程繁琐,效率低,缺乏智能性的技术问题。

本申请提出一种基于脚本模板的测试方法,所述方法包括步骤:

接收用户在页面输入的第一产品参数数据;

存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

将所述测试脚本部署至预设的测试环境中;

在所述测试环境中运行所述测试脚本,生成对应的测试结果。

可选地,所述接收用户在页面输入的第一产品参数数据的步骤之前,包括:

接收所述用户输入的业务操作指令,其中,所述操作指令包括业务信息与用户身份信息,所述业务操作指令为设置产品参数的指令;

将所述业务信息与预设的业务操作等级表进行比对处理,判断所述业务操作等级表中是否存在与所述业务信息匹配的安全等级;

若所述业务操作等级表中不存在与所述业务信息匹配的安全等级,则将所述业务操作指令确定为免验证指令,并生成接收所述用户在页面输入的第一产品参数数据的第一接收指令;

若所述业务操作等级表中存在与所述业务信息匹配的安全等级,则判断所述安全等级是否处于预设的等级范围内;

若所述安全等级处于预设的等级范围内,则从所述业务操作指令中提取所述用户身份信息,并判断所述用户身份信息是否为合法身份信息;

若所述用户身份信息为合法身份信息,则根据所述用户身份信息,从预设的用户角色权限分值表获取与所述用户的业务权限对应的第一权限分值;

获取与所述业务操作指令对应的第二权限分值;

判断所述第一权限分值是否小于所述第二权限分值;

若所述第一权限分值不小于所述第二权限分值,则判定所述用户具有设置产品参数的业务权限,并生成接收用户在页面输入的第一产品参数数据的第二接收指令。

可选地,所述将所述测试脚本部署至预设的测试环境中的步骤,包括:

获取所述测试脚本中包含的所有测试语句;以及,

获取预设的语法规则;

根据所述语法规则,分别对每一个所述测试语句进行语法检查,判断所有所述测试语句是否均符合所述语法规则;

若所有所述测试语句均符合所述语法规则,则将所述测试脚本部署至预设的测试环境中;

若所有所述测试语句并未均符合所述语法规则,则筛选出所述测试语句中不符合所述语法规则的第一测试语句;

根据所述语法规则,将所述第一测试语句修改为正确的第二测试语句,得到修改后的测试脚本;

将所述修改后的测试脚本部署至预设的测试环境中。

可选地,所述根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本的步骤之前,包括:

获取预存储的参数数据设置规则;

判断所述指定产品参数数据是否符合所述参数数据设置规则;

若所述指定产品参数数据符合所述参数数据设置规则,则生成根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本的生成指令;

若所述指定产品参数数据不符合所述参数数据设置规则,则返回数据错误的第二提醒信息。

可选地,所述根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本的步骤,包括:

获取与所述指定产品参数数据对应的字段信息;

从所述脚本模板中确定与所述字段信息对应的填充位置;

将所述指定产品参数数据填充至所述脚本模板中的所述填充位置,得到所述测试脚本。

可选地,所述存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据的步骤之后,包括:

若在第一预设时间段内没有收到所述第二产品参数数据,则生成第一提醒信息,其中,所述第一提醒信息的内容为是否需要更新所述第一产品参数数据;

在所述页面展示所述第一提醒信息;

判断在第二预设时间段内是否接收到所述用户新输入的产品参数数据;

若在第二预设时间段内没有接收到所述用户新输入的产品参数数据,则将该第一产品参数数据标记为所述指定产品参数数据。

可选地,所述若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1的步骤之后,包括:

若所述数量大于1,则分别获取各所述第二产品参数数据的输入时间;

按照所述输入时间从先到后的顺序对所有所述第二产品参数数据进行排序,得到对应的排序结果;

筛选出所述排序结果中排序最后的第二产品参数数据;

将所述排序最后的第二产品参数数据标记为所述指定产品参数数据。

本申请还提供一种基于脚本模板的测试装置,包括:

第一接收模块,用于接收用户在页面输入的第一产品参数数据;

第一判断模块,用于存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

第二判断模块,用于若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

第一标记模块,用于若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

第一获取模块,用于获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

第一生成模块,用于根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

部署模块,用于将所述测试脚本部署至预设的测试环境中;

测试模块,用于在所述测试环境中运行所述测试脚本,生成对应的测试结果。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本申请中提供的基于脚本模板的测试方法、装置、计算机设备和存储介质,具有以下有益效果:

本申请中提供的基于脚本模板的测试方法、装置、计算机设备和存储介质,在进行产品的开发测试过程中,采用了由业务人员在页面输入数据的形式来设置产品开发所需的产品参数数据,且当业务人员具有修改产品参数数据的需求时,只需要在规定时间段内重新输入正确的产品参数数据,从而后续会根据该正确的产品参数数据与预设的脚本模板来快速地生成对应的测试脚本,进而可以利用该测试脚本来自动进行对应的产品测试流程。通过本申请,通过在用户修改产品参数数据时使用页面输入数据的方式,使得业务人员不需要与开发测试人员进行关于产品参数数据调整的多次沟通,有效地减少了沟通成本。而且开发人员也无需手动进行产品参数数据的重新设置,减少了开发人员的重复劳动,有效地简化了产品测试流程,提高了产品测试流程的智能性。

附图说明

图1是本申请一实施例的基于脚本模板的测试方法的流程示意图;

图2是本申请一实施例的基于脚本模板的测试装置的结构示意图;

图3是本申请一实施例的计算机设备的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

参照图1,本申请一实施例的基于脚本模板的测试方法,包括:

S1:接收用户在页面输入的第一产品参数数据;

S2:存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

S3:若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

S4:若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

S5:获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

S6:根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

S7:将所述测试脚本部署至预设的测试环境中;

S8:在所述测试环境中运行所述测试脚本,生成对应的测试结果。

如上述步骤S1至S8所述,本方法实施例的执行主体为一种基于脚本模板的测试装置。在实际应用中,上述基于脚本模板的测试装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的基于脚本模板的测试装置能够有效地简化产品测试流程,提高产品开发测试的智能性。具体地,首先接收用户在页面输入的第一产品参数数据。其中,开发测试的新产品需要进行关于产品参数数据的设置,该产品参数数据具体可为佣金比例数据。然后存储上述第一产品参数数据,并判断在第一预设时间段内是否接收到上述用户输入的第二产品参数数据。其中,对于上述第一预设时间段不作具体限定,可根据实际需求进行设置,例如可设置为2天。如果接收到上述第二产品参数数据,则获取上述第二产品参数数据的数量,并判断上述数量是否大于1。如果上述数量不大于1,则将上述第二产品参数数据标记为指定产品参数数据。之后获取预设的脚本模板。其中,上述脚本模板是由开发人员根据业务人员提交的产品需求文档进行开发后生成的产品开发脚本,但该脚本模板中还缺乏与产品相关的产品参数数据。其中,上述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且上述初始产品测试脚本内未填入有与上述指定产品参数数据对应的数据。该数据对应的参数字段类型与上述指定产品参数数据对应的参数字段类型相同。举例地,如果产品参数数据为佣金比例数据,该佣金比例数据对应的参数字段类型为佣金比例参数字段,则上述测试脚本内未填入有与佣金比例参数字段对应的数据,因而后续通过将上述指定产品参数数据填入至脚本模板内可以生成数据完整的测试脚本。在得到了上述脚本模板后,再根据上述指定产品参数数据与上述脚本模板生成对应的测试脚本。其中,通过使用上述指定产品参数数据来对经过开发人员开发后生成的脚本模板进行数据完善,进而可得到对应的后续用于进行产品测试的测试脚本。另外,可以先从上述脚本模板中确定出与上述指定产品参数数据对应的字段信息的填充位置,再将上述指定产品参数数据填充至该填充位置来得到上述测试脚本。在得到了上述测试脚本后,再将上述测试脚本部署至预设的测试环境中。其中,上述测试环境为用于运行上述测试脚本的运行测试环境。另外,可通过获取开发人员编写生成的环境脚本,再执行该环境脚本以得到上述测试环境。最后在上述测试环境中运行上述测试脚本,生成对应的测试结果。其中,通过在测试环境中运行上述测试脚本,可以得到与上述测试脚本对应的测试结果,从而可以根据该测试结果来了解到本次的产品测试情况。另外,可以根据该测试结果来生成相应的测试报告,并展示该测试报告,从而可以根据该测试报告更加直观的了解产品测试结果。本实施例在进行产品的开发测试过程中,采用了由业务人员在页面输入数据的形式来设置产品开发所需的产品参数数据,且当业务人员具有修改产品参数数据的需求时,只需要在规定时间段内重新输入正确的产品参数数据,从而后续会根据该正确的产品参数数据与预设的脚本模板来快速地生成对应的测试脚本,进而可以利用该测试脚本来自动进行对应的产品测试流程。本实施例通过在用户修改产品参数数据时使用页面输入数据的方式,使得业务人员不需要与开发测试人员进行关于产品参数数据调整的多次沟通,有效地减少了沟通成本。而且开发人员也无需手动进行产品参数数据的重新设置,减少了开发人员的重复劳动,有效地简化了产品测试流程,提高了产品测试流程的智能性。

进一步地,本申请一实施例中,上述步骤S1之前,包括:

S100:接收所述用户输入的业务操作指令,其中,所述操作指令包括业务信息与用户身份信息,所述业务操作指令为设置产品参数的指令;

S101:将所述业务信息与预设的业务操作等级表进行比对处理,判断所述业务操作等级表中是否存在与所述业务信息匹配的安全等级;

S102:若所述业务操作等级表中不存在与所述业务信息匹配的安全等级,则将所述业务操作指令确定为免验证指令,并生成接收所述用户在页面输入的第一产品参数数据的第一接收指令;

S103:若所述业务操作等级表中不存在与所述业务信息匹配的安全等级,则判断所述安全等级是否处于预设的等级范围内;

S104:若所述安全等级处于预设的等级范围内,则从所述业务操作指令中提取所述用户身份信息,并判断所述用户身份信息是否为合法身份信息;

S105:若所述用户身份信息为合法身份信息,则根据所述用户身份信息,从预设的用户角色权限分值表获取与所述用户的业务权限对应的第一权限分值;

S106:获取与所述业务操作指令对应的第二权限分值;

S107:判断所述第一权限分值是否小于所述第二权限分值;

S108:若所述第一权限分值不小于所述第二权限分值,则判定所述用户具有设置产品参数的业务权限,并生成接收用户在页面输入的第一产品参数数据的第二接收指令。

如上述步骤S100至S108所述,在进行接收用户在页面输入的第一产品参数数据的接收处理过程之前,还需要对用户进行身份权限验证处理,以确认用户是否具有对于产品参数数据的设置权限,避免出现无设置权限的非法用户对产品参数数据进行篡改的现象,保证了后续用户进行产品测试所需的指定产品参数数据的合法性。具体地,上述接收用户在页面输入的第一产品参数数据的步骤之前,还可包括:首先接收上述用户输入的业务操作指令,其中,上述操作指令包括业务信息与用户身份信息,上述业务操作指令为设置产品参数的指令。然后将上述业务信息与预设的业务操作等级表进行比对处理,判断上述业务操作等级表中是否存在与上述业务信息匹配的安全等级。其中,上述业务操作等级表中记录有与各业务操作一一对应的安全等级信息,如果业务操作等级表未记录有与特定业务操作对应的安全等级信息,则表示该特定业务操作为不需要进行身份权限验证的操作。如果上述业务操作等级表中不存在与上述业务信息匹配的安全等级,则将上述业务操作指令确定为免验证指令,并生成接收上述用户在页面输入的第一产品参数数据的第一接收指令。而如果上述业务操作等级表中存在与上述业务信息匹配的安全等级,则判断上述安全等级是否处于预设的等级范围内。其中,安全等级可分为多个级别,级别越高安全等级越高。对于上述预设的等级范围的取值不作具体限定,可根据实际需求进行设置,例如可设置为等级3至等级5。具体的,处于上述预设的等级范围的业务操作对应于需要进行身份验证与进行权限验证的操作,而不处于上述预设的等级范围的业务操作则对应于只需要进行身份验证的操作。如果上述安全等级处于预设的等级范围内,则从上述业务操作指令中提取上述用户身份信息,并判断上述用户身份信息是否为合法身份信息。其中,可以调用预设的身份数据库来进行身份信息的合法验证。如果上述用户身份信息为合法身份信息,则根据上述用户身份信息,从预设的用户角色权限分值表获取与上述用户的业务权限对应的第一权限分值。其中,上述用户角色权限分值表中记录有用户信息,以及与每一个用户信息一一对应的权限分值,权限分值对应用户的可操作业务权限。以及获取与上述业务操作指令对应的第二权限分值。其中,可通过预设的业务权限分值表来获取上述第二权限分值。另外,上述业务权限分值表中记录有与每一个业务操作一一对应的权限分值。之后判断上述第一权限分值是否小于上述第二权限分值。如果上述第一权限分值不小于上述第二权限分值,则判定上述用户具有设置产品参数的业务权限,并生成接收用户在页面输入的第一产品参数数据的第二接收指令。进一步地,如果上述第一权限分值小于上述第二权限分值,则生成产品参数数据的设置权限不足的错误信息,并拒绝响应上述业务操作指令。本实施例通过使用业务操作等级表、身份数据库、用户角色权限分值表以及业务权限分值表等来对用户进行身份权限验证处理,有效地保证了只会对具备对于产品参数数据的设置权限的用户进行关于在页面输入的第一产品参数数据的响应处理,有效地提高了产品参数数据设置流程的安全性。

进一步地,本申请一实施例中,上述步骤S7,包括:

S700:获取所述测试脚本中包含的所有测试语句;以及,

S701:获取预设的语法规则;

S702:根据所述语法规则,分别对每一个所述测试语句进行语法检查,判断所有所述测试语句是否均符合所述语法规则;

S703:若所有所述测试语句均符合所述语法规则,则将所述测试脚本部署至预设的测试环境中;

S704:若所有所述测试语句并未均符合所述语法规则,则筛选出所述测试语句中不符合所述语法规则的第一测试语句;

S705:根据所述语法规则,将所述第一测试语句修改为正确的第二测试语句,得到修改后的测试脚本;

S706:将所述修改后的测试脚本部署至预设的测试环境中。

如上述步骤S700至S706所述,上述将上述测试脚本部署至预设的测试环境中的步骤,具体可包括:首先获取上述测试脚本中包含的所有测试语句,以及获取预设的语法规则。其中,上述语法规则为与测试脚本中包含的测试语句的类型对应的通用语法规则,举例地,如果测试脚本中的测试语句的类型为SQL语句,则上述语法规则为SQL语句对应的通用语法规则。然后根据上述语法规则,分别对每一个上述测试语句进行语法检查,判断所有上述测试语句是否均符合上述语法规则。其中,可以通过使用语法解析器来对上述测试语句进行语法检查,语法检测的内容可包括检测测试语句的逻辑功能的正确性等,以得到测试语句的语法检查结果,如果语法检查结果为通过,则判定测试语句符合语法规则。如果所有上述测试语句均符合上述语法规则,则将上述测试脚本部署至预设的测试环境中。而如果所有上述测试语句并未均符合上述语法规则,则筛选出上述测试语句中不符合上述语法规则的第一测试语句。之后根据上述语法规则,将上述第一测试语句修改为正确的第二测试语句,得到修改后的测试脚本。最后将上述修改后的测试脚本部署至预设的测试环境中。本实施例在进行将上述测试脚本部署至预设的测试环境中的部署过程中,通过对测试脚本进行测试验证,并对测试脚本中不符合语法规则的测试语句进行修改以生成修改后的测试脚本,保证了用于进行产品测试的测试脚本的正确性,使得后续能够使用正确的测试脚本进行产品测试,提高产品测试的准确性。

进一步地,本申请一实施例中,上述步骤S6之前,包括:

S600:获取预存储的参数数据设置规则;

S601:判断所述指定产品参数数据是否符合所述参数数据设置规则;

S602:若所述指定产品参数数据符合所述参数数据设置规则,则生成根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本的生成指令;

S603:若所述指定产品参数数据不符合所述参数数据设置规则,则返回数据错误的第二提醒信息。

如上述步骤S600至S603所述,在进行根据上述指定产品参数数据与上述脚本模板生成对应的测试脚本的过程之前,还可包括对于上述指定产品参数数据的数据验证验证过程,以实现对于该指定产品参数数据的合理性验证。具体地,上述根据上述指定产品参数数据与上述脚本模板生成对应的测试脚本的步骤之前,可包括;首先获取预存储的参数数据设置规则。其中,上述参数数据设置规则是预设生成的用于校验产品参数数据的取值合理性的规则,可由开发人员编写生成并输入。然后判断上述指定产品参数数据是否符合上述参数数据设置规则。如果上述指定产品参数数据符合上述参数数据设置规则,则生成根据上述指定产品参数数据与上述脚本模板生成对应的测试脚本的生成指令。而如果上述指定产品参数数据不符合上述参数数据设置规则,则返回数据错误的第二提醒信息。本实施例在使用指定产品参数数据进行测试之前,通过先对该指定产品参数数据进行数据验证处理,如果检测出该指定产品参数数据不符合上述参数数据设置规则,则返回数据错误的提醒信息,以提醒用户对该指定产品参数数据进行对应调整并输入更新的产品参数数据,进而能够保证用于生成测试脚本的产品参数数据是正确的,使得后续能够使用正确的测试脚本来进行产品测试,提高产品测试的准确性。

进一步地,本申请一实施例中,上述步骤S6,包括:

S610:获取与所述指定产品参数数据对应的字段信息;

S611:从所述脚本模板中确定与所述字段信息对应的填充位置;

S612:将所述指定产品参数数据填充至所述脚本模板中的所述填充位置,得到所述测试脚本。

如上述步骤S610至S612所述,上述根据上述指定产品参数数据与上述脚本模板生成对应的测试脚本的步骤,具体可包括:首先获取与上述指定产品参数数据对应的字段信息。然后从上述脚本模板中确定与上述字段信息对应的填充位置。其中,上述脚本模板是由开发人员根据业务人员提交的产品需求文档进行开发后生成的产品开发脚本,但该脚本模板中还缺乏与产品相关的产品参数数据。最后在确定出上述填充位置后,再将上述指定产品参数数据填充至上述脚本模板中的上述填充位置,得到上述测试脚本。本实施例通过将用户通过页面输入的指定产品参数数据输入至预先开发生成的脚本模板的对应位置内,以生成对应的测试脚本,从而有利于后续能够根据该测试脚本来方便快捷地进行产品测试流程。

进一步地,本申请一实施例中,上述步骤S2之后,包括:

S200:若在第一预设时间段内没有收到所述第二产品参数数据,则生成第一提醒信息,其中,所述第一提醒信息的内容为是否需要更新所述第一产品参数数据;

S201:在所述页面展示所述第一提醒信息;

S202:判断在第二预设时间段内是否接收到所述用户新输入的产品参数数据;

S203:若在第二预设时间段内没有接收到所述用户新输入的产品参数数据,则将该第一产品参数数据标记为所述指定产品参数数据。

如上述步骤S200至S203所述,当检测出在第一预设时间段内没有接收到上述用户输入的第二产品参数数据时,还可进一步向用户发出是否需要更新产品参数数据的提醒信息,以确保后续用于进行产品测试流程的指定产品参数数据的准确性。具体地,上述存储上述第一产品参数数据,并判断在第一预设时间段内是否接收到上述用户输入的第二产品参数数据的步骤之后,还可包括:如果在第一预设时间段内没有收到上述第二产品参数数据,则生成第一提醒信息,其中,上述第一提醒信息的内容为是否需要更新上述第一产品参数数据。然后在上述页面展示上述第一提醒信息。其中,对于上述第一提醒信息的展示方式不作具体限定,可根据实际需求进行选择,例如可采用邮件方式、短信方式,还可采用语音提醒方式,等等。之后判断在第二预设时间段内是否接收到上述用户新输入的产品参数数据。其中,对于上述第二预设时间段不作具体限定,可根据实际需求进行设置,例如可设置为10分钟。如果在第二预设时间段内没有接收到上述用户新输入的产品参数数据,则将该第一产品参数数据标记为上述指定产品参数数据。当出现在第一预设时间段内没有接收到上述用户输入的第二产品参数数据的情形会时,本实施例会智能地向用户发送是否更新上述第一产品参数数据的第一提醒信息,以实现对于用户的智能提醒,提高了用户使用体验。另外,通过发送提醒信息的方式来确保接收到的用于进行产品测试的产品参数数据的准确性,有利于保证后续的产品测试流程的准确性。

进一步地,本申请一实施例中,上述步骤S3之后,包括:

S300:若所述数量大于1,则分别获取各所述第二产品参数数据的输入时间;

S301:按照所述输入时间从先到后的顺序对所有所述第二产品参数数据进行排序,得到对应的排序结果;

S302:筛选出所述排序结果中排序最后的第二产品参数数据;

S303:将所述排序最后的第二产品参数数据标记为所述指定产品参数数据。

如上述步骤S300至S303所述,除了出现上述第二产品参数数据的数量为1的情况,还可能会出现第该二产品参数数据的数量大于1的情况,也即出现了用户在页面中输入了第一产品参数数据后,后续又对该第一产品参数数据进行了多次更改调整,则此时会智能地对在第一预设时间段内接收到的多个第二产品参数数据进行筛选处理,以准确地筛选出后续用于进行产品测试的指定产品参数数据。具体地,上述若接收到上述第二产品参数数据,则获取上述第二产品参数数据的数量,并判断上述数量是否大于1的步骤之后,还可包括:如果上述数量大于1,则分别获取各上述第二产品参数数据的输入时间。然后按照上述输入时间从先到后的顺序对所有上述第二产品参数数据进行排序,得到对应的排序结果。之后筛选出上述排序结果中排序最后的第二产品参数数据。最后上述排序最后的第二产品参数数据标记为上述指定产品参数数据。本实施例当用户具有多次修改产品参数数据的需求时,当检测到用户在第一预设时间段内的不同时间点内输入了多个第二产品参数数据时,并不会立刻对接收到的每一个第二产品参数数据均进行相应的测试流程,而是会将在第一预设时间段内接收到的所有第二产品参数数据进行时间先后排序,之后从排序结果中只筛选出用户在第一预设时间段内最后输入的一个第二产品参数数据作为指定产品参数数据,进而后续再使用该指定产品参数数据来进行相应的产品测试流程。由于只会选择出一个用户最终决定的指定产品参数数据来进行后续的产品测试流程,而不会从每一次接收到的第二产品参数数据进行测试处理,有效地减少了数据处理量,减少了无用功耗的产生,也保证了产品测试流程的准确性。

本申请实施例中的基于脚本模板的测试方法还可以应用于区块链领域,如将上述指定产品参数数据等数据存储于区块链上。通过使用区块链来对上述指定产品参数数据进行存储和管理,能够有效地保证上述指定产品参数数据的安全性与不可篡改性。

上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

参照图2,本申请一实施例中还提供了一种基于脚本模板的测试装置,包括:

第一接收模块1,用于接收用户在页面输入的第一产品参数数据;

第一判断模块2,用于存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

第二判断模块3,用于若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

第一标记模块4,用于若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

第一获取模块5,用于获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

第一生成模块6,用于根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

部署模块7,用于将所述测试脚本部署至预设的测试环境中;

测试模块8,用于在所述测试环境中运行所述测试脚本,生成对应的测试结果。

本实施例中,上述基于脚本模板的测试装置中的第一接收模块、第一判断模块、第二判断模块、第一标记模块、第一获取模块、第一生成模块、部署模块与测试模块的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S1至S8的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述基于脚本模板的测试装置,包括:

第二接收模块,用于接收所述用户输入的业务操作指令,其中,所述操作指令包括业务信息与用户身份信息,所述业务操作指令为设置产品参数的指令;

第三判断模块,用于将所述业务信息与预设的业务操作等级表进行比对处理,判断所述业务操作等级表中是否存在与所述业务信息匹配的安全等级;

第二生成模块,用于若所述业务操作等级表中不存在与所述业务信息匹配的安全等级,则将所述业务操作指令确定为免验证指令,并生成接收所述用户在页面输入的第一产品参数数据的第一接收指令;

第四判断模块,用于若所述业务操作等级表中存在与所述业务信息匹配的安全等级,则判断所述安全等级是否处于预设的等级范围内;

提取模块,用于若所述安全等级处于预设的等级范围内,则从所述业务操作指令中提取所述用户身份信息,并判断所述用户身份信息是否为合法身份信息;

第二获取模块,用于若所述用户身份信息为合法身份信息,则根据所述用户身份信息,从预设的用户角色权限分值表获取与所述用户的业务权限对应的第一权限分值;

第三获取模块,用于获取与所述业务操作指令对应的第二权限分值;

第五判断模块,用于判断所述第一权限分值是否小于所述第二权限分值;

第一判定模块,用于若所述第一权限分值不小于所述第二权限分值,则判定所述用户具有设置产品参数的业务权限,并生成接收用户在页面输入的第一产品参数数据的第二接收指令。

本实施例中,上述基于脚本模板的测试装置中的第二接收模块、第三判断模块、第二生成模块、第四判断模块、提取模块、第二获取模块、第三获取模块、第五判断模块与第一判定模块的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S100至S108的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述部署模块,包括:

第一获取单元,用于获取所述测试脚本中包含的所有测试语句;以及,

第二获取单元,用于获取预设的语法规则;

判断单元,用于根据所述语法规则,分别对每一个所述测试语句进行语法检查,判断所有所述测试语句是否均符合所述语法规则;

第一部署单元,用于若所有所述测试语句均符合所述语法规则,则将所述测试脚本部署至预设的测试环境中;

筛选单元,用于若所有所述测试语句并未均符合所述语法规则,则筛选出所述测试语句中不符合所述语法规则的第一测试语句;

修改单元,用于根据所述语法规则,将所述第一测试语句修改为正确的第二测试语句,得到修改后的测试脚本;

第二部署单元,用于将所述修改后的测试脚本部署至预设的测试环境中。

本实施例中,上述基于脚本模板的测试装置中的第一获取单元、第二获取单元、判断单元、第一部署单元、筛选单元、修改单元与第二部署单元的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S700至S706的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述基于脚本模板的测试装置,包括:

第四获取模块,用于获取预存储的参数数据设置规则;

第六判断模块,用于判断所述指定产品参数数据是否符合所述参数数据设置规则;

第三生成模块,用于若所述指定产品参数数据符合所述参数数据设置规则,则生成根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本的生成指令;

返回模块,用于若所述指定产品参数数据不符合所述参数数据设置规则,则返回数据错误的第二提醒信息。

本实施例中,上述基于脚本模板的测试装置中的第四获取模块、第六判断模块、第三生成模块与返回模块的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S600至S603的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述第一生成模块,包括:

第三获取单元,用于获取与所述指定产品参数数据对应的字段信息;

确定单元,用于从所述脚本模板中确定与所述字段信息对应的填充位置;

填充单元,用于将所述指定产品参数数据填充至所述脚本模板中的所述填充位置,得到所述测试脚本。

本实施例中,上述基于脚本模板的测试装置中的第三获取单元、确定单元与填充单元的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S610至S612的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述基于脚本模板的测试装置,包括:

第四生成模块,用于若在第一预设时间段内没有收到所述第二产品参数数据,则生成第一提醒信息,其中,所述第一提醒信息的内容为是否需要更新所述第一产品参数数据;

展示模块,用于在所述页面展示所述第一提醒信息;

第七判断模块,用于判断在第二预设时间段内是否接收到所述用户新输入的产品参数数据;

第二标记模块,用于若在第二预设时间段内没有接收到所述用户新输入的产品参数数据,则将该第一产品参数数据标记为所述指定产品参数数据。

本实施例中,上述基于脚本模板的测试装置中的第四生成模块、展示模块、第七判断模块与第二标记模块的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S200至S203的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述基于脚本模板的测试装置,还包括:

第五获取模块,用于若所述数量大于1,则分别获取各所述第二产品参数数据的输入时间;

排序模块,用于按照所述输入时间从先到后的顺序对所有所述第二产品参数数据进行排序,得到对应的排序结果;

筛选模块,用于筛选出所述排序结果中排序最后的第二产品参数数据;

第三标记模块,用于将所述排序最后的第二产品参数数据标记为所述指定产品参数数据。

本实施例中,上述基于脚本模板的测试装置中的第五获取模块、排序模块、筛选模块与第三标记模块的功能和作用的实现过程具体详见上述基于脚本模板的测试方法中对应步骤S300至S303的实现过程,在此不再赘述。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第一产品参数数据、第二产品参数数据、指定产品参数数据、脚本模板、测试脚本以及测试结果等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种基于脚本模板的测试方法。

上述处理器执行上述基于脚本模板的测试方法的步骤:

接收用户在页面输入的第一产品参数数据;

存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

将所述测试脚本部署至预设的测试环境中;

在所述测试环境中运行所述测试脚本,生成对应的测试结果。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于脚本模板的测试方法,具体为:

接收用户在页面输入的第一产品参数数据;

存储所述第一产品参数数据,并判断在第一预设时间段内是否接收到所述用户输入的第二产品参数数据;

若接收到所述第二产品参数数据,则获取所述第二产品参数数据的数量,并判断所述数量是否大于1;

若所述数量不大于1,则将所述第二产品参数数据标记为指定产品参数数据;

获取预设的脚本模板,其中,所述脚本模板为根据产品需求文档预先生成的初始产品测试脚本,且所述初始产品测试脚本内未填入有与所述指定产品参数数据对应的数据;

根据所述指定产品参数数据与所述脚本模板生成对应的测试脚本;

将所述测试脚本部署至预设的测试环境中;

在所述测试环境中运行所述测试脚本,生成对应的测试结果。

综上所述,本申请实施例中提供的基于脚本模板的测试方法、装置、计算机设备和存储介质,在进行产品的开发测试过程中,采用了由业务人员在页面输入数据的形式来设置产品开发所需的产品参数数据,且当业务人员具有修改产品参数数据的需求时,只需要在规定时间段内重新输入正确的产品参数数据,从而后续会根据该正确的产品参数数据与预设的脚本模板来快速地生成对应的测试脚本,进而可以利用该测试脚本来自动进行对应的产品测试流程。本申请实施例通过在用户修改产品参数数据时使用页面输入数据的方式,使得业务人员不需要与开发测试人员进行关于产品参数数据调整的多次沟通,有效地减少了沟通成本。而且开发人员也无需手动进行产品参数数据的重新设置,减少了开发人员的重复劳动,有效地简化了产品测试流程,提高了产品测试流程的智能性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 基于脚本模板的测试方法、装置、计算机设备和存储介质
  • 基于测试脚本的测试方法、装置及计算机设备
技术分类

06120112314962