CN112148580A - 测试方法、装置及电子设备 - Google Patents

测试方法、装置及电子设备 Download PDF

Info

Publication number
CN112148580A
CN112148580A CN201910561159.3A CN201910561159A CN112148580A CN 112148580 A CN112148580 A CN 112148580A CN 201910561159 A CN201910561159 A CN 201910561159A CN 112148580 A CN112148580 A CN 112148580A
Authority
CN
China
Prior art keywords
test
data
simulation data
terminal
user interface
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
CN201910561159.3A
Other languages
English (en)
Other versions
CN112148580B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910561159.3A priority Critical patent/CN112148580B/zh
Publication of CN112148580A publication Critical patent/CN112148580A/zh
Application granted granted Critical
Publication of CN112148580B publication Critical patent/CN112148580B/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/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • 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/3684Test management for test design, e.g. generating new test cases
    • 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

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)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种测试方法、装置及电子设备,在该方法中,终端响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个模拟数据;执行所述模拟数据,得到测试结果。并且终端存储的模拟数据被配置为通用格式且可进行更新。这样,终端可以在终端自身上快速获取模拟数据进行测试,不必通过维护单独的模拟服务器来获取模拟数据,且在模拟数据获取为本地终端获取不受网络传输速度的影响,进而降低了模拟测试的维护成本并提升了模拟数据的加载速度。

Description

测试方法、装置及电子设备
技术领域
本申请涉及技术领域,尤其涉及一种测试方法、装置及电子设备。
背景技术
模拟测试是应用开发过程中的一个重要环节,模拟测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
在现有的模拟测试技术方案中,需要部署一个模拟服务器。在传统的模拟测试中,是根据测试终端发送的模拟测试请求,通过模拟服务器进行处理,再向终端返回相应的模拟数据,实现测试终端的模拟测试。因此,现有的方案中需要维护一个模拟服务器,若与该模拟服务器对应的真实服务器接口字段发生变化,需要同步维护更新模拟服务器的接口字段,保证该模拟服务器的可运行。这就使得需要对模拟服务器进行更新维护,对应维护成本高,且受网络因素的影响,当测试终端较多时会使得通过模拟服务器获取模拟数据的速度较慢。
发明内容
有鉴于此,本申请提供了一种测试方法、装置及电子设备,降低了模拟测试的维护成本并提升了模拟数据的加载速度。
为实现上述目的,一方面,本申请提供了一种测试方法,应用于终端,包括:
响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行所述目标模拟数据,得到测试结果。
在一种可能的实现方式中,终端可以获取模拟数据,并配置与所述模拟数据对应的数据标识;生成模拟数据与数据标识之间的映射关系;
其中,所述读取与所述测试请求对应的目标模拟数据,包括:
获取所述测试请求包含的数据标识;
依据所述数据标识和所述映射关系,读取目标模拟数据。
在又一种可能的实现方式中,所述更新所述终端存储的模拟数据,包括:
获取第一模拟数据;
检测所述终端存储的模拟数据中是否存在与所述第一模拟数据关联的第二模拟数据;
如果否,将所述第一模拟数据存储至所述终端;
如果是,利用所述第一模拟数据,更新所述第二模拟数据。
在又一种可能的实现方式中,所述测试请求包括用户界面样式测试请求,所述获取第一模拟数据,包括:
验证当前时间是否达到预设测试时间;
如果是,生成与所述预设测试时间对应的网络请求,所述网络请求与当前用户界面样式相匹配,且不同预设测试时间对应生成的网络请求不同;
获取服务器响应所述网络请求生成的第一模拟数据。
在又一种可能的实现方式中,所述测试请求包括用户界面样式测试请求,所述读取与所述测试请求对应的目标模拟数据,包括:
确定用户界面样式中至少部分测试标签;
加载与所述测试标签对应的目标模拟数据。
又一方面,本申请还提供了一种测试装置,应用于终端,包括:
读取单元,用于响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行单元,用于执行所述目标模拟数据,得到测试结果。
又一方面,本申请还提供了一种电子设备,包括:
处理器和存储器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中存储的程序;
所述程序至少用于:
响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行所述目标模拟数据,得到测试结果。
可见,在终端响应测试请求时,终端只需要在终端存储的模拟数据中获取目标模拟数据,并执行该目标模拟数据完成测试即可。并且终端存储的模拟数据被配置为通用格式且可进行更新。这样,终端可以在终端上快速获取模拟数据进行测试,不必通过维护单独的模拟服务器来获取模拟数据,且在模拟数据获取为本地终端获取不受网络传输速度的影响,进而降低了模拟测试的维护成本并提升了模拟数据的加载速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了现有方案中的一种测试***的组成框架示意图;
图2示出了本申请实施例中的一种终端的一示例图;
图3示出了本申请实施例中的一种测试方法的流程示意图;
图4示出了本申请实施例中的模拟数据与数据表示的映射关系的一示例图;
图5示出了本申请实施例中的用户界面样式的测试方法的流程示意图;
图6a示出了本申请实施例中的一种用户界面样式的示例图;
图6b示出了本申请实施例中的一种用户界面样式中确定的测试标签的示例图;
图6c示出了本申请实施例中的一种测试后的用户界面样式的示例图;
图7a示出了本申请实施例中的一种用户界面自动化测试方法的方法流程示意图;
图7b示出了本申请实施例中的用户界面自动化测试***的机构图;
图8示出了本申请实施例中的模拟数据的标识信息的展示示例图;
图9示出了本申请实施例的一种对用户界面样式的模拟数据更新方法的流程交互图;
图10示出了本申请实施例一种更新模拟数据方法的流程示意图;
图11a示出了本申请实施例的一种第一截图的示例图;
图11b示出了本申请实施例的一种基线图片的示例图;
图12示出了本申请实施例的一种测试装置的组成结构示意图。
具体实施方式
本申请的方案可以应用在模拟(Mock)测试过程中,可以较为高效的为模拟测试提供模拟数据(Mock数据),以降低维护模拟服务器(Mockserver)的维护成本或者数据加载较慢的问题。
其中,在本申请实施例中,模拟测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。模拟数据为模拟后台数据,具体的可以根据测试对象来确定该数据的具体形式或内容。需要说明的是,该模拟数据可以通过数据的形式进行表现,如字符串、数字和数组等形式,也可以通过测试用例的形式进行表示,即包括了测试数据、测试条件等内容。在本申请实施例中,进行的模拟测试的应用场景可以包括:真实对象具有不可确定的行为、真实对象很难被创建、真实对象某些行为很难触发、真实情况令程序的运行速度较慢、真实对象有用户界面、测试时需要了解真实对象如何被调用等场景,例如,UI(User Interface,用户界面)样式验证测试、内部逻辑验证、状态码或者关键字是否符合预期的测试等。
参见图1,其示出了现有方案中一种测试***的组成框架示意图,该***:包括终端10和模拟服务器11。终端10和模拟服务器11之间通过网络12实现通信连接。
终端10将测试请求通过网络12发送至模拟服务器11,模拟服务器20响应该测试请求,将设置好的模拟数据通过网络12返回给终端10,终端10接收模拟数据进行解析,以完成模拟测试,获得测试结果。
因此,现有方案中的模拟测试需要通过终端10和模拟服务器11共同完成。本申请实施例可以实现只通过终端来完成模拟测试。参见图2,其示出了本申请实施例中一种终端的一示例图。该终端架构图包括终端20和对应的数据库201,需要说明的是,该数据库201位于终端设备20中,终端设备还可以包括请求载体202和测试结果显示页面203,该测试结果显示页面203可以独立于请求载体202所在的页面,也可以与请求载体202处于同一显示页面。
其中,请求载体202可以是即时通讯应用、短消息、邮件等信息载体,终端设备20可以通过接收这些信息载体中的信息来获取测试请求,对应的,请求载体202也可以是测试信息载体,终端设备20可以通过信息检测来识别测试信息载体中的信息来获取测试请求。需要说明的是,测试请求可以是终端20的用户通过信息载体发送给自己的,例如,通过信息备忘录发送的测试提醒;也可以是其他终端用户通过信息载体发送给终端20的,例如某个用户通过邮件将测试请求发送给终端20的用户,使得终端20能够响应该测试请求。数据库201用来存储至少一个模拟数据,并且该模拟数据与测试请求能够相匹配,便于通过测试请求来获得模拟数据。测试结果显示页面203可以显示完整的测试结果信息,也可以显示可以获取完整测试结果信息的路径信息,例如,“测试结果以保存至D盘中的测试结果文件夹中”。
需要说明的是,数据库201中存储的模拟数据是配置为通用格式的数据,该通用格式对应于测试请求的协议格式接口,即该通用格式是将测试请求的接口数据转换成可存储和加载的格式,例如,基于不同的数据接口格式获取到的网络数据不同,则依据该网络数据生成模拟数据时需要对该网络数据的格式进行处理,使得能够抓换成可存储和加载的格式。具体的,例如,一些字段为二进制流等信息,则对应该二进制流的模拟数据的通用格式需要能够支持字符串、数字、数组、字典、二进制流等类型数据的存储和加载的格式。将模拟数据配置为通用格式,可以便于同样的数据请求的可复用加载,便于实现对测试请求的自动化测试。
并且,可以实现数据库201中存储的模拟数据的更新。模拟数据在生成过程中可以根据网络数据进行生成或者更新。例如网络数据是通过数据接口获得的,可以通过智能更新变化的接口来进行更新模拟数据,例如,构建不同的用户测试请求对应网络接口的数据,按相应的维度校验是否有新增或者变更的模拟数据。
为了便于理解,请参见图3,图3示出了本申请实施例中的一种测试方法的流程示意图,该方法包括:
S301、响应测试请求,读取与测试请求对应的目标模拟数据。
在本实施例中,测试请求的内容信息可以反映模拟测试的基本信息,该基本信息可以包括测试目的、测试时间和测试对象,也可以直接包括需要获取的模拟数据的数据信息。即通过该测试请求能够获知本次模拟测试的需求,从而可以根据该测试需求读取到对应的目标模拟数据,该目标模拟数据为针对测试需求中包含的需要测试或构造的对象的相关数据。例如,测试一个对象A时,该模拟数据为构造一些假的对象来模拟与A的交互。又例如,UI测试时,模拟数据是模拟用户针对UI的操作。
可以理解的是,触发终端响应测试请求的条件可以有多种,在一种可能情况中,终端可以响应于模拟测试指令,从而来响应测试请求。又一种可能的情况中,在终端确定当前时间或者场景满足模拟测试条件时,会自动生成测试请求,从而来响应该测试请求,例如,在某个应用的模拟测试中,不同时间段其测试结果可能会不同,则会设置自动测试时间,当终端检测到当前时间在预设的自动测试时间中,则会进行该应用的自动模拟测试,此时终端会自动响应测试请求,来达到自动测试的效果。
需要说明的是,在本实施例中模拟数据存储在终端上,可以在识别到测试请求后直接读取模拟数据,将该模拟数据返回给终端的处理器或者处理程序。也可以将模拟数据进行简单的构造后返回,这里的构造包括通讯协议的转换,使得模拟数据能够适应于处理程序的处理,例如,为了提升数据处理的安全性,要求返回的模拟数据的加密信息与处理程序中的加密信息相匹配,则读取到终端中的模拟数据后,要对其进行加密处理后再返回。并且存储的模拟数据被配置为通用格式且可以进行更新的数据,便于自动化测试的应用。
S302、执行目标模拟数据,得到测试结果。
利用模拟数据进行测试,由于该模拟数据可以为构造的测试数据,也可以为构造的测试用例,若该模拟数据为构造的测试数据,则通过执行对应的测试程序来完成对模拟数据的测试;若模拟数据为构造的测试用例,则通过执行该测试用例来完成测试。得到的测试结果可以直接通过该终端进行输出或显示,如,对用户界面样式进行模拟测试时,其测试结果为模拟生成的用户界面样式,可以将该用户界面样式显示在终端上,以使得开发人员能够基于该测试结果判断当前模拟生成的用户界面样式是否符合预期。若对关键字进行模拟测试时,可以将生成的测试结果进行信息打包,由终端输出该打包信息至目的终端,或者显示该打包信息的存放路径,供开发人员进行测试结果的查看。
在本实施例中将模拟数存储至终端中,可以便于根据测试请求直接在终端上读取模拟数据,不通过模拟服务器,实现了不受网络因素的影响,数据加载快速的目的,同时也不需要单独维护模拟服务器,节省了维护成本。
为了便于对模拟数据的读取,在本申请的另一实施例中为模拟数据配置了对应的数据标识,参见图4,其示出了模拟数据与数据标识之间的映射关系的一示例图。由于终端存储有至少一个模拟数据,首先获取模拟数据401,然后为每个模拟数据401配置对应的数据标识402,生成模拟数据401与数据标识402之间的映射关系。该数据标识402是能够反映对应的模拟数据401的特征的信息,例如,可以反映出模拟数据的模拟对象类型,也可以为模拟数据的测试类型等。
这样由于生成了模拟数据与数据标识之间的映射关系,在读取目标模拟数据时,可以通过获取测试请求包含的数据标识,依据该数据标识和所述映射关系,读取目标模拟数据。
在一种实现方式中是,测试请求中包含了数据标识,则对测试请求进行解析后可以获得数据标识,然后依据数据标识与模拟数据之间的映射关系,来读取目标模拟数据。举例说明,对测试请求进行解析后获得的数据标识为标识A,则根据标识A可以获取到模拟数据A。
在另一中实现可能中是,测试请求并未直接包含数据标识,此时可以对测试请求进行分析,将测试请求中携带的信息与模拟数据的标识进行匹配,然后通过匹配后的数据标识来读取模拟数据。
需要说明的是,在为模拟数据设置标识时,可以为每一个模拟数据设置一个唯一的数据标识,也可以为一组模拟数据设置层级数据标识,即为同一类型的一组模拟数据设置主数据标识,该主数据标识可以反映该组模拟数据的类型,然后对应的主数据标识下面会设置唯一的从数据标识,即反映每一个模拟标识在该数据类型下的唯一特性,这样的模拟数据可以适用于模拟测试的由简单到精准的测试过程。
由于模拟测试可以适用于多种测试领域,对应不同的测试场景和测试目的其模拟测试过程会有所不同。在本申请的另一实施例中测试请求包括用户界面样式测试请求,即该模拟测试的对象为用户界面样式。参见图5,其示出了用户界面样式的测试方法的流程示意图,该方法包括:
S501、响应用户界面样式测试请求;
S502、确定用户界面样式中至少部分测试标签;
S503、加载与测试标签对应的目标模拟数据;
S504、将目标模拟数据根据测试标签展示在用户界面样式中,获得用户界面样式的测试结果。
在该实施例中是针对用户界面样式的模拟测试,用户界面(User Interface,简称UI)是***和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接收形式之间的转换。目前常用的是图形用户界面,它采用多窗口***,显示更加直接,操作也会更加简便。用户界面样式的模拟测试是由终端模拟用户针对用户界面的操作,从而进行自动化测试,可以包括网页UI样式测试和移动APP应用程序UI测试。
参见图6a,其示出了当前的用户界面样式的示例图,该用户界面样式展示的是一款信息获取应用的用户界面,在当前的用户界面样式中包括了若干个标签,如图6a所示的601代表小说的标签,602为代表新闻的标签,603为代表资讯的标签和604为代表体育的标签。
在对图6a所示的当前用户界面样式进行模拟测试时,即需要模拟用户与当前用户界面样式进行交互的过程,由于当前用户界面样式中包括了多个标签,当获取到测试请求时,需要对测试请求进行解析,以判断测试请求是对当前用户界面样式的整体的测试,还是对某些测试标签进行测试,若是对整体进行测试,则加载的是所有用户界面样式对应的模拟数据;若是对部分测试标签的测试请求,则需要加载部分测试标签的模拟数据。
当是对当前用户界面样式的整体的测试,需要测试当前用户界面样式包含的各个测试标签,即模拟用户与当前各个测试标签的交互过程。其中一种实现方式是将各个测试标签对应的模拟数据进行封装加载,即终端读取的模拟数据是各个测试标签对应的模拟数据;另一种实现方式是按测试标签类别加载模拟数据,如体育标签和新闻标签其模拟测试过程类似,则会将这两个测试标签的模拟数据进行封装加载,而视频标签由于其模拟测试需要呈现多个视频片段,可以将其对应的模拟数据进行单独打包加载。
参见图6b,其示出了确定的测试标签的示例图,其包括了新闻标签,则对应的此次模拟测试,是模拟用户与新闻标签对应的用户界面的交互过程。即需要加载的是与新闻标签对应的模拟数据,然后将该模拟数据根据新闻测试标签展现在用户界面样式中,获得用户界面样式的测试结果。则该模拟数据为模拟用户选择新闻标签后呈现的数据信息。参见图6(c),其示出了对应新闻测试标签后的用户界面样式的测试结果。在图6c中包括了若干条新闻信息。
上述实施例中的用户界面样式的测试方法可以应用于用户界面的自动化测试场景中。对应的,在用户界面样式发生改变时可以进行该用户界面样式的模拟测试,为了使得模拟测试更加符合用户的实际需求,可以在进行模拟测试之前生成一个信息提示界面,用于接收用户的指令信息,根据该指令信息判断是否进行用户界面样式测试。
参见图7a,其示出了本申请的一个用户界面自动化测试方法的方法流程示意图,该方法包括:
S701、响应于用户界面样式的变化,判断是否进行模拟测试,如果是,则执行S702,否则执行S703;
S702、加载与当前用户界面样式对应的目标模拟数据;
S703、通过网络服务器获取网络数据。
参见图7b,其示出了用户界面自动化测试***的架构图,在该***中包括终端70和网络服务器71,若检测到终端的用户界面样式发生了变化,会在终端70上显示一个信息提示框700,该信息提示框中会展示是否进行模拟测试的提示信息,如果是,则会获取终端70上存储的模拟数据,将测试结果展示在终端70的显示界面上;如果否,会通过网络服务器71获取对应的网络数据,即响应于用户对当前用户界面的操作,将对应的网络数据展现在终端70当前的用户界面样式中。
在另一实现方式中,可以设置为用户界面样式改变时进行模拟测试,此时终端上不会呈现提示信息以询问是否进行模拟测试,而是为默认进行模拟测试。这种实现方式适用于开发人员在终端进行用户界面的自动化测试场景,即开发人员只需要改变用户界面即可,终端可以自动实现用户界面的模拟测试,例如,可以通过设置一个用户界面样式的刷新按钮,即开发人员只需要通过该刷新按钮改变用户界面样式即可完成对用户界面中的各个样式的模拟测试,实现了用户界面样式模拟测试的便捷性和高效性。
在本申请的另一实施例中还可以实现指定用户界面样式的模拟数据的加载,在该应用场景下,终端响应的测试请求中会包括用户界面样式标识,该用户界面样式标识表征了需要进行模拟测试的用户界面样式的唯一标识信息,对应的模拟数据在存储过程中匹配了用户界面样式标识。例如,模拟数据分别对应了用户界面样式标识1到用户界面样式标识100的100组模拟数据,则当模拟测试为验证用户界面样式25时,对应的测试请求中需要包含还样式标识25的信息,这样可以直接加载样式标识25对应的模拟数据,完成对用户界面样式25的验证。
为了更加便于测试人员的操作,对应该实施例的一种实现可能是设置显示模拟数据,这样终端上对应有模拟数据可以直接在终端上显示,然后测试人员可以选择加载对应的模拟数据,来实现模拟测试。参见图8,其示出了一种在终端上展示模拟数据的展示界面,在该图8中是通过模拟数据的标识信息进行展示的示例图,其形式为模拟数据展示列表,可以设置不同的层级,如用户界面1的模拟数据包括用户界面1的标签1的模拟数据、用户界面1的标签2的模拟数据和用户界面1的标签3的模拟数据,当测试人员选择加载用户界面1的标签1的模拟数据的时候,对应会进行模拟用户与用户界面1的交互过程,即完成模拟测试。
为了满足不同的模拟测试,也保证终端能够快速加载模拟数据,终端存储的模拟数据需要尽可能的满足所有模拟测试。也为了便于自动化测试的需求,即可以在终端本地快速拉取模拟数据。在本申请的另一实施例中还提供了对终端存储的模拟数据进行更新的方法,该方法可以包括以下步骤:
获取第一模拟数据;
检测所述终端存储的模拟数据中是否存在与所述第一模拟数据关联的第二模拟数据;
如果否,将所述第一模拟数据存储至所述终端;
如果是,利用所述第一模拟数据,更新所述第二模拟数据。
需要说明的是,该第一模拟数据可以是用户预先配置的模拟数据,即能够反映不同的测试需求的模拟数据,也可以是根据构建的大量不同的用户测试请求对应网络接口的数据生成的数据。第二模拟数据是指在终端已经存储的模拟数据,第一模拟数据和第二模拟数据的关联可以表征第一模拟数据和第二模拟数据具有一定的对应关系,例如,二者属于同一类型,或者同一标签,如均属于新闻用户界面样式的模拟数据,只是二者对应的版本不同。即通过本实施方式可以实现对原有模拟数据的更新,也可以进行新增模拟数据。
为了能够满足终端的正常使用,且能够及时更新存储在终端上的模拟数据。在本实施例中的一种实现方式可以为在预设时间段进行模拟数据的更新。以对用户界面样式的模拟测试为例,参见图9,其示出了本申请中的一种对用户界面样式的模拟数据更新方法的流程交互图。
S901、终端验证当前时间达到预设测试时间。
预设测试时间的设定可以基于时间设定条件确定,该时间设定条件与终端使用场景和网络特征信息有关,例如,可以将该时间设定条件确定为在网络相对空闲状态下的某个时间段。也可以直接将预设测试时间固定在每天的某个时间段,即在该时间段完成每天的模拟数据更新。
S902、终端生成与预设测试时间对应的网络请求;
需要说明的是网络请求与当前用户界面样式相匹配,即该网络请求产生于当前用户界面样式,如当前用户界面样式为搜索界面,该网络请求可以为搜索请求。并且不同预设测试时间对应生成的网络请求不同,因为要满足不同维度的模拟数据的更新,可以设置针对各个维度的预设预测时间,这样可以在与预设预测时间对应的不同时间段进行不同维度的模拟数据更新,例如,用户界面样式中包括多个标签,标签具体可以为小说、新闻、资讯、体育等,可以针对不同的标签设置不同的预设预测时间,具体的,如体育标签的预设预测时间为每天的8:00-9:00这个时间段,新闻的预设预测时间可以为每天的13:00-14:00这个时间段。若当前时间为8:00则生成与新闻标签对应的网络请求。该网络请求为与新闻标签进行互动后发出的网络请求。
S903、终端将网络请求发送至服务器;
S904、服务器响应网络请求生成网络数据;
该服务器是指网络服务器,即真实的服务器,其用于与终端进行数据交互,该过程是终端与服务器正常的数据交互过程,服务器所生成的网络数据为真实的后台数据,并不是模拟数据。仍以上一步骤中的具体例子说明,若网络请求为与新闻标签进行互动后发出的网络请求,则服务器生成的网络数据为新闻数据,可以为实时新闻信息列表。此时的网络数据对应上一实施方式中的第一模拟数据。
S905、服务器发送网络数据至终端;
S906、终端依据网络数据,更新相应的模拟数据。
当终端请求获得网络数据后,终端会根据请求到的网络数据更新保存在终端上的模拟数据。该更新可以为对当前终端上的模拟数据的新增或变更,若根据网络数据生成的模拟数据,与终端上现存的模拟数据完全不同,则会将生成的模拟数据作为新增模拟数据存储;若与终端上现存的某个模拟数据部分不同,则会将生成的模拟数据来覆盖该现存的这个模拟数据。
参见图10,其为本申请一种更新模拟数据方法的流程示意图。
S1001、确定网络数据为第一用户界面样式的网络数据;
S1002、检测是否存在第一用户界面样式的模拟数据,如果是,执行S1013;
S1003、比对第一用户界面样式的网络数据与第一用户界面样式的模拟数据;
S1004、依据对比结果,更新第一用户界面样式的模拟数据。
对于对用户界面样式的网络请求,获取到的网络数据其表征的是用户界面样式,即请求到的网络数据的表现形式对于用户来说是请求前和请求后的用户界面样式的变化。若确定获得的网络数据表征的是第一用户界面样式,则需要检测终端存储的当前模拟数据中是否有表示第一用户界面样式的模拟数据,并且要比对同时代表第一用户界面样式的网络数据和模拟数据,即比对同时真实的第一用户界面样式和模拟生成的第一用户界面样式之间的差异。依据比对结果,来更新第一用户界面样式的模拟数据。若根据网络数据确定的第一用户界面样式有实时新闻列表,而模拟数据对应的第一用户界面样式中不存在实时新闻列表,则会根据网络数据来新增对应的模拟数据中表示实时新闻列表的数据项。
在本申请的另一实施例中可以依据测试结果指导开发者对进行测试的真实对象的开发。在其中的一种实现方式是在进行模拟测试时先设置预设测试结果,其表征开发者期望达到的预期效果。然后进行模拟测试,获取测试结果,将测试结果与预期测试结果进行比对,根据比对结果指示开发人员调整预期测试结果。当然,对于比对结果满足偏差范围内的测试结果,开发人员可以直接记录该测试结果,即完成对当前项的测试,直接进行下一项的模拟测试。
另一种实现方式是,为了降低运算量提升测试速度,不需要完全比对测试结果与预期测试结果,只需要比对需要验证的部分即可。该方式下需要截取测试结果,将截取到的测试结果与预期测试结果进行比对,输出比对结果。同样,该对比结果可以用于指示开发者调整预设测试结果。需要说明的是,为了方便比对截取的测试结果的格式与预期测试结果的格式相匹配,例如,预期测试结果为图片格式,则截取的测试结果也需要保存成图片格式。
以对用户界面样式进行模拟测试说明,若响应的测试请求为加载指第一用户界面样式的模拟数据,则将该模拟数据对应的第一用户界面样式进行截图,获得第一截图,然后将该第一截图与预先存储的第一用户界面样式的基线图片进行图片对比。参见图11a,其示出了第一截图的示例图;参见图11b,其示出了基线图片的示例图。需要注意的是,在比较时应去除对应实时变化的区域,如用户界面样式中的时间、电池条等变化动态信息。图中画圈的部分为实际的需要比对的区域。例如,图11a中的实时新闻列表的布局更利于满足用户的体验效果,则将该图11a中对应的用户界面样式对应的图片确定为基线图片,将原来记载的基线图片进行删除
这样可以将每一个模拟数据作为一个测试用例,各个测试用例对应各个用户界面样式,可以实现指定用户界面样式的模拟测试,也可以实现全部用户界面样式的逐个测试,并且直接通过终端获取模拟数据,使得模拟测试过程更加便捷,并且测试结果直接与预先存储的模拟数据进行比对,节省了数据获取的网络传输时间,使得比对结果产生更加快速,节省了开发者的开发时间。
需要说明的是,在本申请实施例中为了便于数据的加载和复用,将存储在终端上的模拟数据设置为通用格式,实现了同样的测试请求可复用加载的目的。通用格式可以理解为将请求的接口数据转换成可存储和加载的格式。例如,一些字段为二进制流等信息,如能够支持字符串、数字、数组、字典、二进流制等存储和加载。
并且,本申请的实施例可以实现快读验证新增代码或变更代码是否会影响原有的代码逻辑、样式变更。因为在现有技术中无法在开发侧直接验证,需要通过模拟服务器获取模拟数据后才能验证,通过本申请可以实现在开发侧的模拟测试,降低了测试时间并提升了测试效率。在本申请实施例中还可以定时模拟不同的测试需求进行模拟数据更新,可以解决单靠人工网络刷新,使得用户界面样式无法更全面覆盖的问题,同时提升了测试效率。也可以进行现有用户界面样式的验证,避免设计过多重复样式,降低了开发工作量。
又一方面,本申请还提供了一种测试装置,应用于终端如参见图12,其示出了本申请一种测试装置的一个实施例的组成结果示意图,该终端包括:
读取单元1201,用于响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行单元1202,用于执行所述目标模拟数据,得到测试结果。
在一种可能的情况中,该测试装置还包括:
标识配置单元,用于获取模拟数据,并配置与所述模拟数据对应的数据标识;
生成单元,用于生成模拟数据与数据标识之间的映射关系;
其中,所述读取单元包括:
标识获取子单元,用于获取所述测试请求包含的数据标识;
数据读取子单元,用于依据所述数据标识和所述映射关系,读取目标模拟数据。
在又一种可能的实现方式中,所述测试装置包括更新单元,其用于更新终端存储的模拟数据,其中,所述更新单元包括:
第一模拟数据获取子单元,用于获取第一模拟数据;
关联检测子单元,用于检测所述终端存储的模拟数据中是否存在与所述第一模拟数据关联的第二模拟数据;
数据存储子单元,用于如果否,将所述第一模拟数据存储至所述终端;
数据更新子单元,用于如果是,利用所述第一模拟数据,更新所述第二模拟数据。
可选地,测试请求包括用户样式测试请求,该第一模拟数据获取子包括:
时间验证子单元,用于验证当前时间是否达到预设测试时间;
网络请求生成子单元,用于如果是,生成与所述预设测试时间对应的网络请求,所述网络请求与当前用户界面样式相匹配,且不同预设测试时间对应生成的网络请求不同;
数据获取子单元,用于获取服务器响应所述网络请求生成的第一模拟数据。
在又一种可能的实现方式中,所述读取单元包括:
标签确定子单元,用于确定用户界面样式中至少部分测试标签,所述测试请求包括用户界面样式测试请求;
数据加载子单元,用于加载与所述测试标签对应的目标模拟数据。
可选地,所述执行单元,具体用于将所述目标模拟数据根据所述测试标签展示在所述用户界面样式中,获得用户界面样式的测试结果。
可选地,所述读取单元包括:
标识确定子单元,用于确定测试请求中的用户界面样式标识;
标识数据加载子单元,用于加载与所述用户界面样式标识对应的目标模拟数据。
又一种可能的实现方式中,该终端还包括:
结果截取单元,用于截取所述测试结果;
结果比对单元,用于将截取到的测试结果与预设测试结果进行比对;
结果输出单元,用于输出比对结果,所述比对结果用于指示开发者调整所述预设测试结果。
另一发明,本申请还提供了一种电子设备,包括处理器和存储器,所述存储器用于存储程序;所述处理器用于执行所述存储器中存储的程序,实现上述各个实施例所提供的测试方法的步骤。
具体的,该处理器质性程序时可以实现以下步骤:
响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行所述目标模拟数据,得到测试结果。
在一个实施例中,还包括:
获取模拟数据,并配置与所述模拟数据对应的数据标识;
生成模拟数据与数据标识之间的映射关系;
其中,所述读取与所述测试请求对应的目标模拟数据,包括:
获取所述测试请求包含的数据标识;
依据所述数据标识和所述映射关系,读取目标模拟数据。
在一个实施例中,述更新所述终端存储的模拟数据,包括:
获取第一模拟数据;
检测所述终端存储的模拟数据中是否存在与所述第一模拟数据关联的第二模拟数据;
如果否,将所述第一模拟数据存储至所述终端;
如果是,利用所述第一模拟数据,更新所述第二模拟数据。
在一个实施例中,所述测试请求包括用户界面样式测试请求,所述获取第一模拟数据,包括:
验证当前时间是否达到预设测试时间;
如果是,生成与所述预设测试时间对应的网络请求,所述网络请求与当前用户界面样式相匹配,且不同预设测试时间对应生成的网络请求不同;
获取服务器响应所述网络请求生成的第一模拟数据。
在一个实施例中,所述测试请求包括用户界面样式测试请求,所述读取与所述测试请求对应的目标模拟数据,包括:
确定用户界面样式中至少部分测试标签;
加载与所述测试标签对应的目标模拟数据。
在一个实施例中,所述执行所述模拟数据,得到测试结果,包括:
将所述目标模拟数据根据所述测试标签展示在所述用户界面样式中,获得用户界面样式的测试结果。
在一个实施例中,所述读取与所述测试请求对应的目标模拟数据,包括:
确定测试请求中的用户界面样式标识;
加载与所述用户界面样式标识对应的目标模拟数据。
在一个实施例中,还包括:
截取所述测试结果;
将截取到的测试结果与预设测试结果进行比对;
输出比对结果,所述比对结果用于指示开发者调整所述预设测试结果。另一方面,本申请实施例还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中所执行的测试方法。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种测试方法,其特征在于,应用于终端,包括:
响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行所述目标模拟数据,得到测试结果。
2.根据权利要求1所述的测试方法,其特征在于,还包括:
获取模拟数据,并配置与所述模拟数据对应的数据标识;
生成模拟数据与数据标识之间的映射关系;
其中,所述读取与所述测试请求对应的目标模拟数据,包括:
获取所述测试请求包含的数据标识;
依据所述数据标识和所述映射关系,读取目标模拟数据。
3.根据权利要求1所述的方法,其特征在于,所述更新所述终端存储的模拟数据,包括:
获取第一模拟数据;
检测所述终端存储的模拟数据中是否存在与所述第一模拟数据关联的第二模拟数据;
如果否,将所述第一模拟数据存储至所述终端;
如果是,利用所述第一模拟数据,更新所述第二模拟数据。
4.根据权利要求3所述的方法,其特征在于,所述测试请求包括用户界面样式测试请求,所述获取第一模拟数据,包括:
验证当前时间是否达到预设测试时间;
如果是,生成与所述预设测试时间对应的网络请求,所述网络请求与当前用户界面样式相匹配,且不同预设测试时间对应生成的网络请求不同;
获取服务器响应所述网络请求生成的第一模拟数据。
5.根据权利要求1所述的测试方法,其特征在于,所述测试请求包括用户界面样式测试请求,所述读取与所述测试请求对应的目标模拟数据,包括:
确定用户界面样式中至少部分测试标签;
加载与所述测试标签对应的目标模拟数据。
6.根据权利要求5所述的测试方法,其特征在于,所述执行所述模拟数据,得到测试结果,包括:
将所述目标模拟数据根据所述测试标签展示在所述用户界面样式中,获得用户界面样式的测试结果。
7.根据权利要求5所述的测试方法,其特征在于,所述读取与所述测试请求对应的目标模拟数据,包括:
确定测试请求中的用户界面样式标识;
加载与所述用户界面样式标识对应的目标模拟数据。
8.根据权利要求1所述的测试方法,其特征在于,还包括:
截取所述测试结果;
将截取到的测试结果与预设测试结果进行比对;
输出比对结果,所述比对结果用于指示开发者调整所述预设测试结果。
9.一种测试装置,其特征在于,应用于终端,包括:
读取单元,用于响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行单元,用于执行所述目标模拟数据,得到测试结果。
10.一种电子设备,其特征在于,包括:
处理器和存储器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中存储的程序;
所述程序至少用于:
响应测试请求,读取与所述测试请求对应的目标模拟数据,所述终端存储有至少一个配置为通用格式的模拟数据,并更新所述终端存储的模拟数据;
执行所述目标模拟数据,得到测试结果。
CN201910561159.3A 2019-06-26 2019-06-26 测试方法、装置及电子设备 Active CN112148580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910561159.3A CN112148580B (zh) 2019-06-26 2019-06-26 测试方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910561159.3A CN112148580B (zh) 2019-06-26 2019-06-26 测试方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112148580A true CN112148580A (zh) 2020-12-29
CN112148580B CN112148580B (zh) 2024-01-30

Family

ID=73869822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910561159.3A Active CN112148580B (zh) 2019-06-26 2019-06-26 测试方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112148580B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667513A (zh) * 2020-12-31 2021-04-16 长沙市到家悠享网络科技有限公司 测试方法、装置、测试设备及存储介质
CN112799970A (zh) * 2021-04-08 2021-05-14 腾讯科技(深圳)有限公司 测试数据处理方法、装置、电子设备及介质
CN113517999A (zh) * 2021-04-29 2021-10-19 雄狮汽车科技(南京)有限公司 模拟网络数据验证应用边界场景的工作方法及***
CN114238099A (zh) * 2021-12-09 2022-03-25 北京五八信息技术有限公司 灰度测试的方法、装置、电子设备以及可读介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001829A (zh) * 2012-12-14 2013-03-27 大唐移动通信设备有限公司 一种网络数据传输的测试方法和装置
CN106407099A (zh) * 2015-07-28 2017-02-15 阿里巴巴集团控股有限公司 一种测试方法和客户端
WO2018036273A1 (zh) * 2016-08-22 2018-03-01 上海壹账通金融科技有限公司 模拟测试方法、服务器、设备及计算机可读存储介质
CN108268375A (zh) * 2018-01-12 2018-07-10 深圳壹账通智能科技有限公司 应用程序测试方法、装置、计算机设备和存储介质
CN108304313A (zh) * 2017-01-13 2018-07-20 阿里巴巴集团控股有限公司 一种用于数据测试的装置、客户端及方法
CN109302522A (zh) * 2018-09-11 2019-02-01 北京京东金融科技控股有限公司 测试方法、装置以及计算机***和介质
CN109582556A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种应用程序在移动终端运行情况的测试方法、装置和***
CN109815112A (zh) * 2018-12-14 2019-05-28 平安科技(深圳)有限公司 基于功能测试的数据调试方法、装置及终端设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103001829A (zh) * 2012-12-14 2013-03-27 大唐移动通信设备有限公司 一种网络数据传输的测试方法和装置
CN106407099A (zh) * 2015-07-28 2017-02-15 阿里巴巴集团控股有限公司 一种测试方法和客户端
WO2018036273A1 (zh) * 2016-08-22 2018-03-01 上海壹账通金融科技有限公司 模拟测试方法、服务器、设备及计算机可读存储介质
CN108304313A (zh) * 2017-01-13 2018-07-20 阿里巴巴集团控股有限公司 一种用于数据测试的装置、客户端及方法
CN109582556A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种应用程序在移动终端运行情况的测试方法、装置和***
CN108268375A (zh) * 2018-01-12 2018-07-10 深圳壹账通智能科技有限公司 应用程序测试方法、装置、计算机设备和存储介质
CN109302522A (zh) * 2018-09-11 2019-02-01 北京京东金融科技控股有限公司 测试方法、装置以及计算机***和介质
CN109815112A (zh) * 2018-12-14 2019-05-28 平安科技(深圳)有限公司 基于功能测试的数据调试方法、装置及终端设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667513A (zh) * 2020-12-31 2021-04-16 长沙市到家悠享网络科技有限公司 测试方法、装置、测试设备及存储介质
CN112799970A (zh) * 2021-04-08 2021-05-14 腾讯科技(深圳)有限公司 测试数据处理方法、装置、电子设备及介质
CN113517999A (zh) * 2021-04-29 2021-10-19 雄狮汽车科技(南京)有限公司 模拟网络数据验证应用边界场景的工作方法及***
CN114238099A (zh) * 2021-12-09 2022-03-25 北京五八信息技术有限公司 灰度测试的方法、装置、电子设备以及可读介质

Also Published As

Publication number Publication date
CN112148580B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
CN112148580B (zh) 测试方法、装置及电子设备
CN109302522A (zh) 测试方法、装置以及计算机***和介质
CN110944048B (zh) 业务逻辑配置方法及装置
US7895575B2 (en) Apparatus and method for generating test driver
CN107276842B (zh) 接口测试方法、装置及电子设备
CN110955409B (zh) 在云平台上创建资源的方法和装置
US20150186195A1 (en) Method of analysis application object which computer-executable, server performing the same and storage media storing the same
CN109739704A (zh) 一种接口测试方法、服务端及计算机可读存储介质
CN111708712A (zh) 用户行为测试用例的生成方法、流量回放方法及电子设备
CN109101414B (zh) 基于埋点数据的海量ui测试生成方法及其装置
CN112559343B (zh) 测试路径生成方法及相关设备
CN115118687B (zh) 消息推送方法、装置、存储介质及计算机设备
CN117499287A (zh) Web测试方法、装置、存储介质及代理服务器
CN113760397A (zh) 接口调用的处理方法、装置、设备及存储介质
CN105339974B (zh) 模拟传感器
CN110618881B (zh) 一种模拟消息队列的方法及***
CN111352741B (zh) 接口调用的方法、装置、智能终端及存储装置
CN113485919A (zh) 测试方法、测试装置及计算机可读存储介质
CN113468007B (zh) 设备标识信息验证方法、装置、设备和存储介质
CN113742226B (zh) 一种软件性能测试方法、装置、介质及电子设备
WO2024045128A1 (zh) 人工智能模型的展示方法、装置、电子设备及存储介质
CN115470127B (zh) 页面兼容性处理方法、装置、计算机设备和存储介质
CN115705272A (zh) 一种页面测试的方法、相关装置及设备
CN117591422A (zh) 软件处理方法、电子设备及存储介质
CN116955140A (zh) Sdk测试方法、装置、设备及存储介质

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