CN111104326A - 测试方法、装置、电子设备和可读存储介质 - Google Patents

测试方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN111104326A
CN111104326A CN201911316548.6A CN201911316548A CN111104326A CN 111104326 A CN111104326 A CN 111104326A CN 201911316548 A CN201911316548 A CN 201911316548A CN 111104326 A CN111104326 A CN 111104326A
Authority
CN
China
Prior art keywords
test
testing
target
application
test 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.)
Pending
Application number
CN201911316548.6A
Other languages
English (en)
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.)
Beijing Mininglamp Software System Co ltd
Original Assignee
Beijing Mininglamp Software System 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 Beijing Mininglamp Software System Co ltd filed Critical Beijing Mininglamp Software System Co ltd
Priority to CN201911316548.6A priority Critical patent/CN111104326A/zh
Publication of CN111104326A publication Critical patent/CN111104326A/zh
Pending legal-status Critical Current

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/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

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为图2中步骤S220的子步骤的流程图;
图4为本申请实施例提供的测试不同测试功能点的关联关系的逻辑示意图;
图5为图2中步骤S230的子步骤的流程图;
图6为本申请实施例提供的测试不同应用模块的关联关系的逻辑示意图;
图7为本申请实施例提供的测试装置的功能模块框图。
图标:10-电子设备;100-处理器;200-存储器;300-测试装置;310-获取模块;320-第一测试模块;330-第二测试模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如图1所示,本申请实施例提供了一种电子设备10,可以包括存储器200和处理器100,该存储器200内可以设置有机器可执行指令,该机器可执行指令包括测试装置300。
其中,所述存储器200和处理器100之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述测试装置300包括至少一个可以软件或固件(firmware)的形式存储于所述存储器200中的软件功能模块。所述处理器100用于执行所述存储器200中存储的可执行的计算机程序,例如,所述测试装置300所包括的软件功能模块及计算机程序等,以实现本申请实施例提供的测试方法。
可选地,所述存储器200可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
所述处理器100可以是一种通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)、片上系统(System on Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图1所示的结构仅为示意,所述电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置,例如,还可以包括用于与其它设备进行信息交互的通信单元。
其中,所述电子设备10的具体类型不受限制,可以根据实际应用需求进行选择,只要具有一定的数据处理能力即可,例如,在一种可以替代的示例中,所述电子设备10包括电脑、个人计算机等。
结合图2,本申请实施例还提供一种可应用于上述电子设备10的测试方法。其中,该测试方法有关的流程所定义的方法步骤可以由所述电子设备10实现。下面将对图2所示的具体流程进行详细阐述。
步骤S210,获取待测试的多个应用模块,其中,每个所述应用模块中包含多个测试功能点。
步骤S220,针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系。
步骤S230,针对所述多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系。
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便于测试某个应用程序路径或核实是否满足某个特定需求。一个软件项目往往需要设计大量的测试用例来覆盖不同的场景、条件及事件流,不同的场景、条件及事件流对应不同的测试用例。目前的测试用例编写中,往往仅针对于单个的应用模块,或者一个应用模块中的单个功能点。例如,假设产品中包含五个应用模块,需要对该五个应用模块的功能进行测试。该五个应用模块的需求分析成测试用例时,分别单独由各个应用模块的设计文档、UI设计图以及需求,被整理细化成不同的功能点进行测试用例输出。每个模块之间功能测试相对独立、测试生命周期短、操作场景简单,远远达不到实际应用中的复杂场景。
在实际的用户操作中其复杂性和实用性决定了测试用例不能只是简单的细化分解需求文档,需要测试人员设计出更加贴近用户操作的场景用例,帮助完善设计细节以及验证产品的合格程度,为实现最终生产提供有力保障。
在产品的设计初始,各应用模块之间由于业务上数据的紧密联系以及逻辑上存在的共性使得关联模块之间的动态测试可操作、可实现,也十分有必要。
在本实施例中,在确定待测试的多个应用模块后,再确定各个应用模块中的测试功能点。其中,应用模块即为安装于电子设备10中的应用程序,例如聊天应用软件、视频应用软件、音乐应用软件、手机上的闹铃、手机上的基本设置应用等。而应用程序中的测试功能点即为应用程序的不同实现功能,例如在音乐应用软件中,该应用模块的测试功能点可包括如播放音乐、暂停音乐、循环播放等功能点。
针对单个应用模块而言,单个应用模块中包含多个测试功能点,而这多个测试功能点中,不同的测试功能点之间可能产生联动关系,在某个测试功能点的测试环境发生变化时,不仅会影响到该测试功能点本身的测试结果,可能还将影响到另一个测试功能点的测试结果。
而在多个应用模块中,实际操作场景下,用户对于应用模块的操作往往是复杂的,应用模块之间可能存在交互的情况。例如,可能从一个应用模块中直接跳转至另一个应用模块,可能同时开启多个应用模块,或者在一个应用模块的使用中嵌入另一个应用模块等等。如此,单个应用模块的测试环境发生变化时,则不仅会影响到该应用模块本身的测试结果,可能还将影响到另一个应用模块的测试结果。
在对产品进行测试时,有必要在对单个应用模块进行测试时,测试应用模块中不同测试功能点之间的关联关系,以及不同应用模块之间的关联关系。从而,确保在不同的测试环境下,应用模块中的测试功能点均能够正常运行,并且,在应用模块交互的场景下,各个应用模块均能正常运行。以保障在实际场景中,产品能够满足用户的复杂的操作所需。
请参阅图3,在本实施例中,可通过以下方式对从纵向深度的方向测试应用模块中不同测试功能点之间的关联关系:
步骤S221,针对每个应用模块,从该应用模块的多个测试功能点中确定出至少两个目标测试功能点。
步骤S222,为各所述目标测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标测试功能点进行测试,得到第一测试结果。
步骤S223,从纵向深度的方向,改变所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件,并在改变测试事件之后,对各所述目标测试功能点进行测试,得到第二测试结果。
步骤S224,根据所述第一测试结果和所述第二测试结果,获得不同目标测试功能点之间的关联关系。
在本实施中,所述测试事件可以理解为测试环境,即在进行功能测试时,为该测试动作所附加的测试条件,例如可以是从电子设备10的硬件方面所限制的条件,如在不同电量条件下、在电子设备10的不同温度条件下、在电子设备10的不同资源占用率的条件下、在电子设备10的不同内存占用条件下等。也可以是从电子设备10所处的环境所限制的条件,如在电子设备10处于不同温度环境下、在电子设备10所处不同湿度环境下、在电子设备10所处不同亮度环境下等。
此外,也可以是电子设备10中应用模块所触发的测试事件,例如,在运行某个应用模块时,在保持该应用模块运行的同时,启动另一个应用模块,或者从某个应用模块的窗口直接跳转至另一应用模块,或者在某个应用模块中实现另一个应用模块的关闭等。
以上均可以理解为测试过程中的测试事件,当然,此处仅对测试事件进行举例说明,实际测试应用中,还可包括其他的测试事件,本实施例在此不作具体限制。
在不同的测试事件下,测试功能点的测试结果可能产生差异,例如,对于某个测试功能点,在某些测试事件下,该测试功能点的测试结果可能是正常运行,而在某些测试事件下,该测试功能点的测试结果可能是异常。
而在一个应用模块中,在某个测试功能点的测试事件改变的情况下,可能还将引起其他的测试功能点的测试结果。为了集中对应用模块中的测试功能点进行测试,并确定出可能彼此产生影响的测试功能点,可首先从该应用模块的多个测试功能点中确定出至少两个目标测试功能点,再集中对该至少两个目标测试功能点进行测试。
需要说明的是,此处的目标测试功能点可以是应用模块中的任意测试功能点,可以根据测试的需求进行确定。该测试的过程可以是多次,每次可选取不同的测试功能点作为本轮测试过程的目标测试功能点。例如,针对包含五个测试功能点的应用模块而言,在第一次测试时,可以将第一个测试功能点和第二测试功能点作为目标测试功能点,在第二次测试时,可以将第二个测试功能点和第三个测试功能点作为目标测试功能点。
在本实施例中,还可以对应用模块中的各个测试功能点进行优先级的设置,例如,将该应用模块中的常用的一些测试功能点设置为较高优先级,将一些不常使用的测试功能点设置为较低优先级。
在进行测试时,若应用模块中的测试功能点数量较多,则可根据各个测试功能点的优先级,对一些优先级较高的测试功能点进行优先测试。如此,在测试次数被限制、测试次数有限的情况下,能够保障对一些常用功能、较重要的功能进行测试。
为了测试不同的测试功能点对彼此产生的影响,在确定出至少两个待研究的目标测试功能点之后,为各个目标测试功能点分别添加至少一个测试事件。在添加测试事件的情况下,对各目标测试功能点进行测试,得到测试结果。
在此基础上,可改变上述至少两个测试功能点中其中一个目标测试功能点的测试事件,在对其中一个目标测试功能点的测试事件进行改变之后,再对各个目标测试功能点进行测试,得到测试结果。
结合两次的测试所得到的测试结果,可以分析出,在某个测试功能点的测试事件改变的情况下,是否对其他的测试功能点产生影响,在产生影响的情况下,具体将产生何种影响。
在本实施例中,在为目标测试功能点进行测试事件的添加时,可以理解,添加的测试事件可以是一个,也可以是多个。在测试事件为一个的情况下,可以分别单独研究在各个测试事件的环境下,对测试结果产生的对应影响。而在测试事件为多个的情况下,可以综合分析多个测试事件对测试结果产生的综合影响。
本实施例中,由于不同的测试事件所发生的概率不同,有一些测试事件可能在实际应用场景中经常出现,而有一些测试事件可能很少出现。为了能够对一些常见的、经常发生的测试事件对测试结果产生的影响进行研究,因此,可预先为各个测试事件设置不同的优先级。例如,将一些常见的测试事件设置为较高优先级,将一些不经常出现的测试事件设置为较低优先级。
例如,可将极低温度环境这一测试事件设置为较低优先级,将电量较低这一测试事件设置为较高优先级,将从音乐应用软件跳转至聊天应用软件这一测试事件设置为较高优先级,等等。
在为各个目标测试功能点添加测试事件时,则可根据预先设置的各个测试事件的优先级,为各目标测试功能点分别选择至少一个优先级排在前预设位数的测试事件。例如,可以是选择优先级排在前三位的测试事件,也可以是选择优先级排在前四位的测试事件,对此本实施例不作具体限制。
如此,则可以着重对一些比较常见的测试事件对测试功能点的影响进行研究。
在本实施例中,在改变其中一个目标测试功能点的测试事件时,改变的方式可以是多种。例如,在上述至少两个目标测试功能点中其中一个目标测试功能点的测试事件为多个时,从多个测试事件中去除预设个数的测试事件。例如,去除一个测试事件,或者去除两个测试事件,具体地根据实际需求进行设置。也就是说,可以通过减少测试事件的方式,研究在测试事件减少的情况下,目标测试功能点的测试结果的差别。
此外,也可以是为上述至少两个目标测试功能点中其中一个目标测试功能点,新增预设个数的测试事件。此种情形下,可以通过增加测试事件的方式,研究在测试事件增加的情况下,目标测试功能点的测试结果的差别。
还可以是将至少两个目标测试功能点中其中一个目标测试功能点的测试事件,替换为新的测试事件。此种情形下,可以通过完全替换测试事件的方式,研究在测试事件完全改变的情况下,目标测试功能点的测试结果的差别。
请结合参阅图4,例如针对应用模块A,在确定应用模块A中的测试功能点A和测试功能点B为目标测试功能点时。可为测试功能点A添加测试事件A、测试事件B和测试事件C,以在这些测试事件下,对测试功能点A进行功能测试。并且,可为测试功能点B添加测试事件D、测试事件E和测试事件F,以在这些测试事件下,对测试功能点B进行功能测试。
在上述基础上,可改变测试功能点A的测试事件,例如可以是从测试事件A、测试事件B和测试事件C中减少一个测试事件,或者是新增一个测试事件以添加至测试功能点A,或者是将测试事件A、测试事件B和测试事件C替换为其他的测试事件。在改变测试功能点A的测试事件的情况下,再对测试功能点A和测试功能点B进行测试,得到一测试结果。
通过上述两次测试得到的测试结果,可以分析出测试功能点A的测试事件的改变,对测试功能点A的测试结果的影响,以及测试功能点A的测试事件的改变,对测试功能点B的测试结果的影响。从而,得到在一定条件下,测试功能点A和测试功能点B之间的关联关系。
通过以上方式,可分析出前一个测试功能点的哪些操作会对后一个测试功能点产生影响。纵向深度的动态测试将一个应用模块中的纵向测试功能点串起来,随机添加测试事件,设计不同的测试场景,满足用户在实际生活中所需要的操作方式。测试范围纵向延伸,因其测试事件的随机性和完整性大大完善了测试用例的功能性和实用性,更加贴近用户需求。
进一步地,请参阅图5,在本实施例中,上述步骤S230中,可以通过以下方式从横向宽度的方向测试不同应用模块之间的关联关系:
步骤S231,针对所述多个应用模块,从所述多个应用模块中确定出至少两个目标应用模块。
步骤S232,为各所述目标应用模块中的测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标应用模块中的测试功能点进行测试,得到第三测试结果。
步骤S233,从横向宽度的方向,改变所述至少两个目标应用模块中其中一个目标应用模块的测试功能点的测试事件,并在改变测试事件之后,对各目标应用模块中的测试功能点进行测试,得到第四测试结果。
步骤S234,根据所述第三测试结果和所述第四测试结果,获得不同目标应用模块之间的关联关系。
本实施例中,同样地,在横向宽度方向上,可进行多次测试,在每次测试时,可从产品中的多个应用模块中选择不同的应用模块作为目标应用模块。例如,在单次测试时,可将音乐应用软件和聊天应用软件确定为目标应用模块,也可以将音乐应用软件和闹铃应用软件确定为目标应用软件。
在确定出目标应用模块的基础上,需要对目标应用模块中的测试功能点进行测试。在测试时,需要为测试功能点添加测试事件,以在一定的测试场景下进行功能测试。本实施例中,可以从目标应用模块中选取设定数量的测试功能点进行测试,该设定数量可以是一个、两个或三个等不限。
在为确定出的目标应用模块中的测试功能点添加测试事件之后,对各应用模块进行功能测试,得到测试结果。
在上述基础上,改变其中一个应用模块中的测试功能点的测试事件,然后再进行各个目标应用模块的功能测试,得到新的测试结果。结合两次的测试结果,也可分析出在某个目标应用模块的测试事件改变的情况下,是否对另外的目标应用模块的测试结果产生影响。在产生影响的情况下,具体产生何种影响。
同理,在对其中一个目标应用模块的测试事件进行改变时,可以是减少添加的测试事件,也可以是新增测试事件,或者是完全改变所添加的测试事件。
例如,请结合参阅图6,在将应用模块A和应用模块B确定为目标应用模块时,针对应用模块A中的测试功能点A和测试功能点B,可为测试功能点A添加测试事件A、测试事件B和测试事件C,并为测试功能点B添加测试事件D、测试事件E和测试事件F。对于应用模块B中的测试功能点C和测试功能点D,可为测试功能点C添加测试事件G、测试事件H和测试事件I,并为测试功能点D添加测试事件J、测试事件K和测试事件L。
在上述基础上,对应用模块A中的测试功能点A和测试功能点B进行测试,并且,对应用模块B中的测试功能点C和测试功能点D进行测试。
在上述测试之后,可改变应用模块A中测试功能点A和/或测试功能点B的测试事件,例如新增测试事件、减少测试事件或完全替换测试事件等。在改变应用模块A中的测试事件的情况下,再进行应用模块A中的测试功能点A和测试功能B的测试,以及应用模块B中的测试功能点C和测试功能点D的测试,得到新的测试结果。
结合上述两次测试的测试结果,则可得到应用模块A和应用模块B之间,在应用模块A的测试场景改变的情况下,是否对应用模块B的产生影响。
横向宽度的关联动态测试,可将多个应用模块的测试功能点串起来,随机添加测试事件,继而设计出不同的测试场景,满足用户在实际生活中所需要的操作方式。测试范围横向延伸,因其测试事件的随机性和应用模块的完整性大大完善了测试用例的功能性和实用性,延长了数据的使用寿命。并且可进行多个测试功能点的测试,高效便捷。
本实施例中,通过以上过程可以分别从纵向深度的方向,对单个应用模块中,不同的测试功能点之间的相互影响进行测试研究。并且,从横向宽度的方向,对多个应用模块中,不同的应用模块之间的相互影响进行测试研究。从宽度和深度进行综合考量,丰富了测试方向,多条件的测试方式,使得测试用例更加复杂和真实,优化了测试用例,更能高质量地验证产品,帮助开发发现问题。
此外,在本实施例中,除了可对测试功能点之间的相互影响以及应用模块之间的相互影响进行测试研究之外,还可单独地针对每个测试功能点进行测试,以及单独地针对每个应用模块进行测试。
可选地,针对各个应用模块中的每个测试功能点,改变测试功能点的测试事件,以获得在不同测试事件下该测试功能点的测试结果。
还可针对每个应用模块,改变应用模块的测试事件,以获得在不同测试事件下该应用模块的测试结果。
结合图7,本申请实施例还提供一种可应用于上述电子设备10的测试装置300。其中,所述测试装置300可以包括获取模块310、第一测试模块320以及第二测试模块330。
获取模块310,用于获取待测试的多个应用模块,其中,每个所述应用模块中包含多个测试功能点。在本实施例中,所述获取模块310可用于执行图2所示的步骤S210,关于所述获取模块310的相关内容可以参照前文对步骤S210的描述。
第一测试模块320,用于针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系。在本实施例中,所述第一测试模块320可用于执行图2所示的步骤S220,关于所述第一测试模块320的相关内容可以参照前文对步骤S220的描述。
第二测试模块330,用于针对所述多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系。在本实施例中,所述第二测试模块330可用于执行图2所示的步骤S230,关于所述第二测试模块330的相关内容可以参照前文对步骤S230的描述。
在一种可能的实施方式中,第一测试模块320可以用于通过以下方式测试应用模块中不同测试功能点之间的关联关系:
针对每个应用模块,从该应用模块的多个测试功能点中确定出至少两个目标测试功能点;
为各所述目标测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标测试功能点进行测试,得到第一测试结果;
从纵向深度的方向,改变所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件,并在改变测试事件之后,对各所述目标测试功能点进行测试,得到第二测试结果;
根据所述第一测试结果和所述第二测试结果,获得不同目标测试功能点之间的关联关系。
在一种可能的实施方式中,第一测试模块320可以用于通过以下方式为各目标测试功能点分别添加至少一个测试事件:
根据预先设置的各个测试事件的优先级,为各所述目标测试功能点分别选择至少一个优先级排在前预设位数的测试事件。
在一种可能的实施方式中,第一测试模块320可以用于通过以下方式该至少两个目标测试功能点中其中一个目标测试功能点的测试事件:
在所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件为多个时,从多个测试事件中去除预设个数的测试事件;或
为所述至少两个目标测试功能点中其中一个目标测试功能点,新增预设个数的测试事件;或
将至少两个目标测试功能点中其中一个目标测试功能点的测试事件,替换为新的测试事件。
在一种可能的实施方式中,第二测试模块330可以用于通过以下方式测试不同应用模块之间的关联关系:
针对所述多个应用模块,从所述多个应用模块中确定出至少两个目标应用模块;
为各所述目标应用模块中的测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标应用模块中的测试功能点进行测试,得到第三测试结果;
从横向宽度的方向,改变所述至少两个目标应用模块中其中一个目标应用模块的测试功能点的测试事件,并在改变测试事件之后,对各目标应用模块中的测试功能点进行测试,得到第四测试结果;
根据所述第三测试结果和所述第四测试结果,获得不同目标应用模块之间的关联关系。
在一种可能的实施方式中,测试装置300还包括第一变更模块,该第一变更模块可以用于:
针对各所述应用模块中的每个测试功能点,改变所述测试功能点的测试事件,以获得在不同测试事件下该测试功能点的测试结果。
在一种可能的实施方式中,测试装置300还包括第二变更模块,该第二变更模块可以用于:
针对每个所述应用模块,改变所述应用模块的测试事件,以获得在不同测试事件下该应用模块的测试结果。
在本申请实施例中,对应于上述的测试方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述测试方法的各个步骤。
其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述测试方法的解释说明。
综上所述,本申请实施例提供的测试方法、装置、电子设备10和可读存储介质,获取待测试的多个应用模块,每个应用模块中包含多个测试功能点。针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系。并且,针对多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系。如此,可分别从单个应用模块中,不同测试功能点之间的联动关系,以及多个应用模块中,不同应用模块之间的联动关系进行动态测试,从而满足用户实际操作时的复杂、交互场景需求。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种测试方法,其特征在于,所述方法包括:
获取待测试的多个应用模块,其中,每个所述应用模块中包含多个测试功能点;
针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系;
针对所述多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系。
2.根据权利要求1所述的测试方法,其特征在于,所述针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系的步骤,包括:
针对每个应用模块,从该应用模块的多个测试功能点中确定出至少两个目标测试功能点;
为各所述目标测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标测试功能点进行测试,得到第一测试结果;
从纵向深度的方向,改变所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件,并在改变测试事件之后,对各所述目标测试功能点进行测试,得到第二测试结果;
根据所述第一测试结果和所述第二测试结果,获得不同目标测试功能点之间的关联关系。
3.根据权利要求2所述的测试方法,其特征在于,所述为各所述目标测试功能点分别添加至少一个测试事件的步骤,包括:
根据预先设置的各个测试事件的优先级,为各所述目标测试功能点分别选择至少一个优先级排在前预设位数的测试事件。
4.根据权利要求2所述的测试方法,其特征在于,所述改变所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件的步骤,包括:
在所述至少两个目标测试功能点中其中一个目标测试功能点的测试事件为多个时,从多个测试事件中去除预设个数的测试事件;或
为所述至少两个目标测试功能点中其中一个目标测试功能点,新增预设个数的测试事件;或
将至少两个目标测试功能点中其中一个目标测试功能点的测试事件,替换为新的测试事件。
5.根据权利要求1所述的测试方法,其特征在于,所述针对所述多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系的步骤,包括:
针对所述多个应用模块,从所述多个应用模块中确定出至少两个目标应用模块;
为各所述目标应用模块中的测试功能点分别添加至少一个测试事件,并在添加测试事件后对各所述目标应用模块中的测试功能点进行测试,得到第三测试结果;
从横向宽度的方向,改变所述至少两个目标应用模块中其中一个目标应用模块的测试功能点的测试事件,并在改变测试事件之后,对各目标应用模块中的测试功能点进行测试,得到第四测试结果;
根据所述第三测试结果和所述第四测试结果,获得不同目标应用模块之间的关联关系。
6.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:
针对各所述应用模块中的每个测试功能点,改变所述测试功能点的测试事件,以获得在不同测试事件下该测试功能点的测试结果。
7.根据权利要求1所述的测试方法,其特征在于,所述方法还包括:
针对每个所述应用模块,改变所述应用模块的测试事件,以获得在不同测试事件下该应用模块的测试结果。
8.一种测试装置,其特征在于,所述装置包括:
获取模块,用于获取待测试的多个应用模块,其中,每个所述应用模块中包含多个测试功能点;
第一测试模块,用于针对每个应用模块,从纵向深度的方向测试该应用模块中不同测试功能点之间的关联关系;
第二测试模块,用于针对所述多个应用模块,从横向宽度的方向测试不同应用模块之间的关联关系。
9.一种电子设备,其特征在于,所述电子设备包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时,该电子设备实现权利要求1-7中任意一项所述的测试方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-7中任意一项所述的测试方法。
CN201911316548.6A 2019-12-19 2019-12-19 测试方法、装置、电子设备和可读存储介质 Pending CN111104326A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911316548.6A CN111104326A (zh) 2019-12-19 2019-12-19 测试方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911316548.6A CN111104326A (zh) 2019-12-19 2019-12-19 测试方法、装置、电子设备和可读存储介质

Publications (1)

Publication Number Publication Date
CN111104326A true CN111104326A (zh) 2020-05-05

Family

ID=70422894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911316548.6A Pending CN111104326A (zh) 2019-12-19 2019-12-19 测试方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN111104326A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086556A1 (en) * 2011-10-03 2013-04-04 Mark Grechanik System for ensuring comprehensiveness of requirements testing of software applications
CN106897224A (zh) * 2017-02-27 2017-06-27 济南浪潮高新科技投资发展有限公司 一种软件测试范围的确定方法及装置
CN108009086A (zh) * 2017-11-30 2018-05-08 航天恒星科技有限公司 基于用例分解和功能学习的系统自动化测试方法
CN110209586A (zh) * 2019-06-04 2019-09-06 苏州浪潮智能科技有限公司 一种基于人工智能的软件自动化测试方法,终端及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086556A1 (en) * 2011-10-03 2013-04-04 Mark Grechanik System for ensuring comprehensiveness of requirements testing of software applications
CN106897224A (zh) * 2017-02-27 2017-06-27 济南浪潮高新科技投资发展有限公司 一种软件测试范围的确定方法及装置
CN108009086A (zh) * 2017-11-30 2018-05-08 航天恒星科技有限公司 基于用例分解和功能学习的系统自动化测试方法
CN110209586A (zh) * 2019-06-04 2019-09-06 苏州浪潮智能科技有限公司 一种基于人工智能的软件自动化测试方法,终端及存储介质

Similar Documents

Publication Publication Date Title
US10884891B2 (en) Interactive detection of system anomalies
Weyuker et al. Comparing the effectiveness of several modeling methods for fault prediction
CN110826071B (zh) 软件漏洞风险预测方法、装置、设备及存储介质
US10504028B1 (en) Techniques to use machine learning for risk management
US11704597B2 (en) Techniques to generate network simulation scenarios
CN104133765B (zh) 网络活动的测试用例发送方法及测试用例服务器
CN104951340A (zh) 一种信息处理方法及装置
US10095660B2 (en) Techniques for producing statistically correct and efficient combinations of multiple simulated posterior samples
WO2017115458A1 (ja) ログ分析システム、方法およびプログラム
CN111160624B (zh) 一种用户意向预测方法、用户意向预测装置及终端设备
CN112148700A (zh) 日志数据处理方法、装置、计算机设备和存储介质
CN109828906A (zh) Ui自动化测试方法、装置、电子设备及存储介质
CN107733710A (zh) 链路调用关系的构建方法、装置、计算机设备及存储介质
CN112463568A (zh) 业务仿真测试方法、装置及电子设备
Shahiduzzaman et al. On the contribution of information and communication technology to productivity growth in Australia
CN113688490A (zh) 网络共建共享处理方法、装置、设备及存储介质
EP3388909A1 (en) Display method, display program, and display control device
US20090157682A1 (en) Managing maintenance tasks for computer programs
CN109408304A (zh) 区块链引入测试方法、装置、设备及可读存储介质
JP6635457B1 (ja) 情報処理装置、プログラム、及びシステム
CN111221690B (zh) 针对集成电路设计的模型确定方法、装置及终端
CN111553749A (zh) 一种活动推送策略配置方法及装置
CN111104326A (zh) 测试方法、装置、电子设备和可读存储介质
US20160352847A1 (en) Techniques to operate an experiment over a computing network
US20180089181A1 (en) Text visualization system, text visualization method, and recording medium

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200505