CN105786701A - 一种手机app的并行测试方法及系统 - Google Patents

一种手机app的并行测试方法及系统 Download PDF

Info

Publication number
CN105786701A
CN105786701A CN201610031055.8A CN201610031055A CN105786701A CN 105786701 A CN105786701 A CN 105786701A CN 201610031055 A CN201610031055 A CN 201610031055A CN 105786701 A CN105786701 A CN 105786701A
Authority
CN
China
Prior art keywords
module
dependency graph
dependence
segmentation
graph
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
CN201610031055.8A
Other languages
English (en)
Other versions
CN105786701B (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.)
Suzhou Longmei Intelligent Technology Co., Ltd.
Original Assignee
Long Measuring Technology (beijing) 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 Long Measuring Technology (beijing) Co Ltd filed Critical Long Measuring Technology (beijing) Co Ltd
Priority to CN201610031055.8A priority Critical patent/CN105786701B/zh
Publication of CN105786701A publication Critical patent/CN105786701A/zh
Application granted granted Critical
Publication of CN105786701B publication Critical patent/CN105786701B/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/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)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种手机APP的并行测试方法具体包括:构建APP页面的依赖图;将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性;将分割后的依赖子集进行分配到不同引擎中进行测试,并且将测试结果存储到数据库中。本发明的有益效果为:通过我们使用现有技术进行构建App的页面依赖图,然后使用Prime算法建立最小连接树进行依赖关系的分割,最后进行并行分配使得测试浏览可以同时进行,并且把每个测试路径集合在测试报告数据库中,保证了测试的自动化以及高效性。

Description

一种手机APP的并行测试方法及系统
技术领域
本发明涉及一种手机APP的并行测试方法及系统。
背景技术
手机App测试现在处于一个初始阶段,面临许多挑战。IT界主要是做手工测试。这个带来3个弊端:1)影响App的迭代开发效率,进而影响产品的发布周期;2)容易因测试内容的枯燥重复导致人为的漏掉或测试错误;3)降低测试人员的创造性,而影响公司的整体资源配置。
目前最佳解决方案是逐步使手工测试转为半自动测试。代表性的方法包括:1)record-and-replay(录制并播放);2)根据测试框架比如Appium,Calabas,Expresso,Robotium和UIAutomator,测试人员开发测试用例来模拟最终用户对App的交互。
这样的解决方案对上面3个弊端明显是个提高,尤其是对于迭代开发所需要的回归测试。但是由于手机App,尤其是手机游戏App,开发过程中需求包括UI变化非常快,1-2天或周,这个导致原先写/录制好的自动化测试用例没办法原封不动的使用。一旦涉及到要改变测试代码来适应改变的产品代码,甚至重新录制/编写自动化测试用例。这个有涉及到效率问题,为什么要重新编写/录制不能重用的测试用例呢?IT公司倾向于直接绕过测试半自动化这一步骤(半指的是测试人员需要写测试用例),而是直接手工测试。
对于手机App测试来说,核心问题依旧:因为半自动化不能解决快速迭代开发,导致IT公司放弃半自动化的解决方案。为解决这个核心问题,我们提出了一套“全”自动化测试工具,这样可以更大幅度解决IT公司接纳自动化测试工具/方法,从而根本上解决上面3个手工测试所带来的巨大问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
本发明的目的是提供一种手机APP的并行测试方法及系统,以克服目前现有技术存在的上述不足。
本发明的目的是通过以下技术方案来实现:
一种手机APP的并行测试方法,包括如下步骤:
构建APP页面的依赖图;
将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性;
将分割后的依赖子集进行分配到不同引擎中进行测试,并且将测试结果存储到数据库中。
进一步的,在构建所述APP页面的依赖图之前还要进行如下步骤:
静态分析APP,我们的方法是基于记录-挖掘-生成-验证的框架。它依赖记录App执行期的事件记录;挖掘这些事件记录并利用统计语言模型,静态和动态分析来产生执行场景;并且最后在真机上交互使用这些场景来验证产生的使用场景。它能产生可用的和完全可以重放反映或者自然用户的使用场景或不经常使用的场景。然后将这些场景、事件构建成数据集,将数据集构建成依赖图;
根据APP中变量的定义和使用关系来定义数据依赖图;
将数据依赖图根据层级关系依次将上下层的数据图连接进而形成整体的依赖图,
根据数据依赖图的映射形成页面的依赖图,将所有的数据的依赖图连接在一起进而形成页面的依赖图。
进一步的,对依赖图进行分割包括如下具体步骤:
利用Prime图论算法建立最小连接树;
其中最小连接树的建立既保证了各个子集之间的连接关系最小,并不会产生多余的连接。
将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
将统一层级的不同节点进行连接进而形成最小依赖子集。
一种手机APP的并行测试系统,包括如下模块:
依赖图构建模块:数据集分割模块:并行测试模块:其中,
依赖图构建模块:用于构建APP页面的依赖图;
数据集分割模块:用于将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性
并行测试模块:将分割后的依赖子集进行分配到不同引擎中进行测试,并且将测试结果存储到数据库中。
进一步的,所述依赖图构建模块还包括数据依赖图模块以及依赖图形成模块,其中
数据依赖图模块:用于根据APP中变量的定义和使用关系来定义数据依赖图;
依赖图形成模块:用于根据数据依赖图的映射形成页面的依赖图。
进一步的,所述数据集分割模块还包括最小连接树建立模块、依赖子集形成模块,其中
最小连接树建立模块:用于利用Prime图论算法建立最小连接树;
依赖子集形成模块:用于将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
本发明的有益效果为:通过我们使用现有技术进行构建App的页面依赖图,然后使用Prime算法建立最小连接树进行依赖关系的分割,最后进行并行分配使得测试浏览可以同时进行,并且把每个测试路径集合在测试报告数据库中,保证了测试的自动化以及高效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的测试流程图之一;
图2是根据本发明实施例的页面依赖图;
图3是根据本发明实施例的图2的最小连接树图;
图4是根据本发明实施例的分割子集结构图之一;
图5是根据本发明实施例的分割子集结构图之二;
图6是根据本发明实施例的分割子集结构图之三
图7是根据本发明实施例的测试流程图之二;
图8是根据本发明实施例的测试流程图之三。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,根据本发明的实施例所述的一种手机APP的并行测试方法,预先准备好若干测试引擎,将手机APP在测试引擎中进行测试其中对手机APP的测试方法具体包括如下步骤:
构建APP页面的依赖图;
将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性;
将分割后的依赖子集分配到不同引擎中进行并行测试,并且将测试结果存储到数据库中。
进一步的,在构建所述APP页面的依赖图之前还要进行如下步骤:
根据APP中变量的定义和使用关系来定义各个数据之间的依赖图;
根据数据依赖图的映射形成页面的依赖图。
进一步的,对依赖图进行分割包括如下具体步骤:
利用Prime图论算法建立最小连接树;
将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
一种手机APP的并行测试系统,包括如下模块:
依赖图构建模块,数据集分割模块,并行测试模块,其中,
依赖图构建模块:用于构建APP页面的依赖图;
数据集分割模块:用于将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性
并行测试模块:将分割后的依赖子集进行分配到不同引擎中进行测试,并且将测试结果存储到数据库中。
进一步的,所述依赖图构建模块还包括数据依赖图模块以及依赖图形成模块,其中
数据依赖图模块:用于根据APP中变量的定义和使用关系来定义数据依赖图;
依赖图形成模块:用于根据数据依赖图的映射形成页面的依赖图。
进一步的,所述数据集分割模块还包括最小连接树建立模块、依赖子集形成模块,其中
最小连接树建立模块:用于利用Prime图论算法建立最小连接树;
依赖子集形成模块:用于将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
其中在一个实施例中,参照图2,图2的情况是在做测试前构建的依赖图,依赖图的构建保证了每一个实时集合点都能连在一起,但此时的过程过于赘述,产生了多余的连接节点,这样对测试的时候就会产生不必要的繁琐性,然后参照图3将图中各个数集中的不必要连接线去除,最终保证所有的数据节点之间都能产生连接,这种连接保证了任何两个数据节点之间没有多余的连接线,进而达到最小连接,然后对数据节点进行分割成不同的最小连接的子集,其中自己的分割具体包括将所有的根节点进行复制n次,其中n的个数和第二层根节点的个数相同,然后将整个数集按照复制的次数将依赖图分割成n个依赖子集,分割后的每个依赖子集保证了每个节点之间都是最小连接关系,并不会产生或者找出节点之间的多余连接关系,然后在具体测试的时候只需要进最后分割成的依赖子集放到每个引擎中进行测试,并且得到了不同的测试实例,最后将得到的各个测试例进行数据汇总,并且将结果报告给数据库中。实施例1:将今日新闻作为一个例子进行测试,今日新闻,作为贯穿全文的例子。今日新闻主要是介绍实时的世界新闻。主要有以下几个功能,用户可以按照栏目进行浏览,比如按照时政,热点,体育等。用户也可以进行评论,进行互动。社交共享也是一个功能模块。
首先构建依赖图,其中依赖图中的对象分别包括如下的功能图像:第一层的用户启动、第二层节点中的时政、热点、体育,以及第三层子集合中的时政新闻、热点视频、体育图片,最后一层节点中的评论以及社会共享,对上述图像中的各个节点进行连接每一个层级之间进行顺次连接,最后的时政新闻、热点视频以及体育图片和底层的评论、社会共享依次连接,这样就保证了在图2中所述的各个节点之间都连接的依赖性,然后将依赖图采用Prime图论算法构建最小连接树,具体的包括只将评论和社会共享连接在其中的一个关联集合模块中,这样就保证了左右的节点之间都可以产生连接,进而生成了最小连接树,如图3中所述,然后将采用最小连接树的依赖图进行分割,因为第二层包括3个节点所以分割的个数为3个,最后分割成3个分割子集,具体参照图4-6就是最后的分割结果,每个分割子集包括启动,第二节点时政第三层,时政新闻,最底层节点,评论,和社会共享。图5分割集包括启动、热点、热点视频,图6包括启动、体育以及体育图片,综上所述最终保证了每个节点之间为同一系列的相关节点,并且保证了各个节点之间的连接关系最小,并且相互之间没有任何交互。
参照图7和图8;具体的测试流程包括,首先将测试APP进行静态分析,并且构建成页面依赖图,然后利用最小连接数算法将依赖图分割成若干相互之间你没有交互关系的依赖子集,然后将依赖子集放到测试引擎中进行并行测试,其中进而得到了不同测试结果,最后将不同的测试结果进行整合并且存储到服务器中。
本发明的有益效果为:通过我们使用现有技术进行构建App的页面依赖图,然后使用Prime算法建立最小连接树进行依赖关系的分割,最后进行并行分配使得测试浏览可以同时进行,并且把每个测试路径集合在测试报告数据库中,保证了测试的自动化以及高效性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种手机APP的并行测试方法,其特征在于,预先准备好若干测试引擎,将手机APP在测试引擎中进行测试,其中对手机APP的测试方法具体包括如下步骤:
构建APP页面的依赖图;
将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性;
将分割后的依赖子集分配到不同引擎中进行并行测试,并且将测试结果存储到数据库中。
2.根据权利要求1所述的手机APP的并行测试方法,其特征在于,在构建所述APP页面的依赖图之前还要进行如下步骤:
根据APP中变量的定义和使用关系来定义各个数据之间的依赖图;
根据数据依赖图的映射形成页面的依赖图。
3.根据权利要求1所述的手机APP的并行测试方法,其特征在于,对依赖图进行分割包括如下具体步骤:
利用Prime图论算法建立最小连接树;
将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
4.一种手机APP的并行测试系统,其特征在于:包括如下模块:
依赖图构建模块,数据集分割模块,并行测试模块,其中,
依赖图构建模块:用于构建APP页面的依赖图;
数据集分割模块:用于将所述依赖图进行分割,并且保证分割后各个依赖子集之间相互没有依赖性
并行测试模块:将分割后的依赖子集进行分配到不同引擎中进行测试,并且将测试结果存储到数据库中。
5.根据权利要求4所述的手机APP的并行测试系统,其特征在于,所述依赖图构建模块还包括数据依赖图模块以及依赖图形成模块,其中
数据依赖图模块:用于根据APP中变量的定义和使用关系来定义数据依赖图;
依赖图形成模块:用于根据数据依赖图的映射形成页面的依赖图。
6.根据权利要求4所述的手机APP的并行测试系统,其特征在于,所述数据集分割模块还包括最小连接树建立模块、依赖子集形成模块,其中
最小连接树建立模块:用于利用Prime图论算法建立最小连接树;
依赖子集形成模块:用于将建立的最小连接树的根节点进行连接进而得到最小依赖子集。
CN201610031055.8A 2016-01-18 2016-01-18 一种手机app的并行测试方法及系统 Active CN105786701B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610031055.8A CN105786701B (zh) 2016-01-18 2016-01-18 一种手机app的并行测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610031055.8A CN105786701B (zh) 2016-01-18 2016-01-18 一种手机app的并行测试方法及系统

Publications (2)

Publication Number Publication Date
CN105786701A true CN105786701A (zh) 2016-07-20
CN105786701B CN105786701B (zh) 2019-07-26

Family

ID=56402608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610031055.8A Active CN105786701B (zh) 2016-01-18 2016-01-18 一种手机app的并行测试方法及系统

Country Status (1)

Country Link
CN (1) CN105786701B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085758A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种边端融合的终端情境自适应模型分割方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796752A (en) * 1995-03-06 1998-08-18 Motorola, Inc. Method and apparatus for constructing verification test sequences by euler touring a test subsequence graph
US6282681B1 (en) * 1995-03-06 2001-08-28 Motorola, Inc. Method and apparatus for testing finite state machine (FSM) conformance utilizing unique input/output sequence (UIO) sets
CN101477490A (zh) * 2009-01-23 2009-07-08 上海第二工业大学 基于复杂网络面向对象集成测试的方法
CN101853201A (zh) * 2010-05-24 2010-10-06 南京航空航天大学 一种基于着色petri网的软件并行测试方法及工具
CN103391224A (zh) * 2013-07-22 2013-11-13 清华大学 基于并行扩展有限状态机的协议层次化测试生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796752A (en) * 1995-03-06 1998-08-18 Motorola, Inc. Method and apparatus for constructing verification test sequences by euler touring a test subsequence graph
US6282681B1 (en) * 1995-03-06 2001-08-28 Motorola, Inc. Method and apparatus for testing finite state machine (FSM) conformance utilizing unique input/output sequence (UIO) sets
CN101477490A (zh) * 2009-01-23 2009-07-08 上海第二工业大学 基于复杂网络面向对象集成测试的方法
CN101853201A (zh) * 2010-05-24 2010-10-06 南京航空航天大学 一种基于着色petri网的软件并行测试方法及工具
CN103391224A (zh) * 2013-07-22 2013-11-13 清华大学 基于并行扩展有限状态机的协议层次化测试生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
路辉: "基于图禁忌的并行测试任务调度算法", 《航空学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085758A (zh) * 2020-09-04 2020-12-15 西北工业大学 一种边端融合的终端情境自适应模型分割方法
CN112085758B (zh) * 2020-09-04 2022-06-24 西北工业大学 一种边端融合的终端情境自适应模型分割方法

Also Published As

Publication number Publication date
CN105786701B (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US8065658B1 (en) Tool for visualizing software architecture
CN108845942B (zh) 产品特征管理方法、装置、系统及存储介质
CN104038517A (zh) 基于群组关系的信息推送方法以及服务器
CN108597032B (zh) 将建筑信息模型导入Unity3D中显示方法及系统
CN105426502A (zh) 基于社交网络的人物信息搜索与关系网绘制的方法
CN103647686A (zh) 一种数据监控管理系统及方法
CN107678962A (zh) 一种cli接口的自动化测试方法及装置
CN107194533B (zh) 一种配电网全信息模型构建方法及系统
CN109657121A (zh) 一种基于网络爬虫的Web页面信息采集方法及装置
CN110032597A (zh) 应用程序操作行为的可视化处理方法及装置
CN105404757A (zh) 一种智能变电站scd文件标准化程度的校验方法
CN111275826B (zh) 一种适用于ar情景的三维模型自动转换方法
CN105242958B (zh) 一种虚拟试验系统与hla仿真系统数据交换方法
CN109933589B (zh) 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法
CN108880872B (zh) 一种互联网测试床拓扑结构分解方法及装置
CN105786701A (zh) 一种手机app的并行测试方法及系统
CN109063223B (zh) Bim模型的轻量化方法和装置以及bim模型的处理方法和系统
CN108932118B (zh) 一种基于卡牌的需求获取模型建立方法
CN104636397B (zh) 用于分布式计算的资源分配方法、计算加速方法以及装置
CN117389873A (zh) 一种接口服务自动化测试方法、装置及设备
CN103810258A (zh) 基于数据仓库的数据汇聚调度方法
CN112052157A (zh) 测试报文的构造方法、装置及系统
CN107749800B (zh) 一种实现通信设备自动化测试配置隐式删除的方法
CN106227857B (zh) 数据推送和加载方法和装置
CN107589978B (zh) 一种Flash中页面刷新方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200305

Address after: 215000 unit 2-a310, creative industry park, No. 328, Xinghu street, Suzhou Industrial Park, Suzhou City, Jiangsu Province

Patentee after: Suzhou Longmei Intelligent Technology Co., Ltd.

Address before: 100080, room 602-16, 6 floor, No. 52 West Fourth Ring Road, Haidian District, Beijing

Patentee before: Longmei Technology (Beijing) Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Parallel testing method and system of mobile phone APP (Application)

Effective date of registration: 20200417

Granted publication date: 20190726

Pledgee: Suzhou Rongfeng Technology Microfinance Co., Ltd.

Pledgor: SUZHOU DRAGON TESTING INTELLIGENT TECHNOLOGY Co.,Ltd.

Registration number: Y2020320010022

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220120

Granted publication date: 20190726

Pledgee: Suzhou Rongfeng Technology Microfinance Co.,Ltd.

Pledgor: SUZHOU DRAGON TESTING INTELLIGENT TECHNOLOGY Co.,Ltd.

Registration number: Y2020320010022