[发明专利]一种基于概率模型的移动应用自动化测试方法在审

专利信息
申请号: 201610985778.1 申请日: 2016-11-09
公开(公告)号: CN107656864A 公开(公告)日: 2018-02-02
发明(设计)人: 蒲戈光;苏亭;武轲;杨伟明;曹棋敏;姚瑶 申请(专利权)人: 华东师范大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 上海麦其知识产权代理事务所(普通合伙)31257 代理人: 董红曼
地址: 200062 上*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 概率 模型 移动 应用 自动化 测试 方法
【说明书】:

技术领域

发明属于嵌入式系统技术领域,尤其涉及一种基于概率模型的移动应用自动化测试方法。

背景技术

随着智能手机的兴起,基于移动平台的应用得到了快速增长。当前的主流手机平台包括iOS和Android两个平台,其中Android平台由Google发布,基于Linux内核并采用开放源码的协议。在随后的发展过程中,Android平台由于其开源、易用等特性而受到了越来越多的手机生产厂商和开发者的喜爱,并逐渐占有了超过80%的市场份额。Android应用程序已经逐步渗透到人们的日常生活之中,同人们的日常生活越来越密不可分。对于Android应用开发者而言,快速地推出应用有助于占领市场,从而赢得更多的用户。但未经细致测试的Android应用将可能包含有未知异常及错误,从而导致用户因应用体验不佳而流失。因此,应用开发者的一大难题便是如何对开发的应用进行充分的测试,从而减少可能存在的异常及错误,提升应用产品的质量。

Android应用测试可分为人工测试及自动化测试两类。其中,人工测试方法主要由测试人员手工编写测试用例进行测试。该方法由于过度依赖于测试人员自身素质,故测试质量参差不齐,无法保证测试结果的充分性。同时,人工测试效率低下,无法有效地进行回归测试。随着Android应用程序的不断复杂,其测试任务也越来越繁重,因而自动化测试应运而生。当前的移动应用自动化测试方法主要包括:(1)编写-执行测试法,(2)录制回放测试法,(3)关键字测试法,(4)随机测试法,(5)基于深度或广度优先的事件提取测试法等。其中(1)、(2)、(3)方法仍然需要人工参与编写或录制测试用例,无法完全自动化测试。(4)、(5)能够完全自动地自动化测试移动应用,但随机测试法只能通过随机方式来生成测试用例,无法定向地针对功能进行测试,在较短的时间内便会达到测试瓶颈。而基于深度或广度的优先事件提取测试法执行过程较为死板,无法有效地针对不同事件类型进行测试,测试覆盖率较低。

为了克服现有技术存在的上述缺陷,本发明提出了一种基于概率模型的移动应用测试方法,提高测试效率,提升测试质量。

发明内容

本发明提出了一种基于概率模型的移动应用自动化测试方法,包括如下步骤:

可执行事件提取步骤:通过对被测应用的代码静态分析及控件动态分析,获取当前应用界面上的可执行事件集合;

可执行事件选择步骤:综合权衡可执行事件的控件类型、控件执行次数以及后继子节点的数量确定每个可执行事件的综合权重值,并根据所述综合权重值采用带有偏好的随机选择算法选择出下一个可执行事件;

可执行事件执行步骤:执行所选中的所述可执行事件;

行为模型生成步骤:在执行过程中,记录下每个可执行事件执行后的程序状态,获取到所执行状态的迁移图,构建一个能描述移动应用所有行为的有限状态自动机得到被测应用的初级行为模型;

测试用例生成步骤:采用蒙德卡罗算法来调整所述初级行为模型上的概率,最终得到针对被测应用被优化过的基于概率的概率行为模型,再根据所述概率行为模型来产生测试事件序列,得到测试用例集;

测试用例执行步骤:执行所述测试用例集并统计测试覆盖率,记录执行崩溃的测试用例,并在程序崩溃点启动事件恢复操作,再次开始测试,以达到更高的测试覆盖率,最终完成测试过程。

本发明提出的所述基于概率模型的移动应用自动化测试方法中,所述可执行事件提取步骤包含以下步骤:

步骤A1:静态分析被测应用的底层代码,通过代码中的注册接口获取注册的事件;

步骤A2:动态运行被测应用后,抓取屏幕控件信息并根据控件类型分配不同的事件;

步骤A3:将静态分析的所述注册的时间及动态分析的所述不同的事件相结合,生成可执行事件集;

步骤A4:在所述可执行事件集中根据需求加入系统事件;所述系统事件用于保证在该可执行事件集中有至少一个可执行事件,使执行过程不会陷入所述可执行事件集中无法跳出。比如,在可执行事件集中,当事件执行完毕或程序无其他可执行事件时,往往需要退回至前一个页面以防止程序卡死。故,在已经获取的事件集Ta中,按照需要加入back事件,从而构成完成的可执行事件集,使程序卡死崩溃后能恢复工作,完成可执行事件集的生成工作。总体而言,所需加入的系统事件对应关系如下:

对所有不含back事件的事件集而言,直接添加back事件。

对于不含menu事件的事件集而言,直接添加menu事件。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610985778.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top