[发明专利]一种基于人机协同的移动应用测试方法在审
申请号: | 202111496322.6 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114138663A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 冯洋;李玉莹;郝蕊;黄欢 | 申请(专利权)人: | 南京慕测信息科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210023 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 人机 协同 移动 应用 测试 方法 | ||
1.一种基于人机协同的移动应用测试方法,其特征在于,针对安卓应用严重的碎片化问题,首先,使用静态分析技术,遍历安卓应用源代码,获取应用控制流程图,然后,使用动态分析工具,模拟运行待测应用,获取所有页面截屏,接下来根据静态分析结果,自动生成测试用例,为测试人员推荐测试用例列表,根据测试路径都概率,引导测试人员协作完成测试任务,提升待测应用覆盖率,减少测试时间成本和重复报告;该方法包括下列步骤:
1)静态分析:使用安卓静态分析工具对安卓应用源码进行分析,获取安卓应用控制流图;控制流图由若干页面,事件,页面的操作组成,由于静态工具是对应用源代码进行遍历,存在部分冗余代码,因此对控制流图进行清洗和筛选;由于安卓应用只有一个统一入口,作为应用主界面,因此将无法从主界面跳转到达的操作进行清理,清理过后,一个待测应用的控制流图可以用一个有向有环图表征;
2)动态分析:根据静态分析工具遍历得到的页面名称,使用动态分析工具模拟运行待测应用,截取页面截图;
3)测试用例生成:使用深度优先的遍历算法,遍历静态分析输出的控制流程图,并于动态分析工具获取的屏幕截图相结合,可视化展示测试任务;
4)基于反馈的测试过程引导:引导过程分为两个阶段,一是冷启动阶段,随机为测试人员分配尽可能长的测试路径,引导测试人员进行测试;二是基于反馈的测试阶段,该技术根据测试路径的覆盖率,为测试人员推荐覆盖率低的测试任务,引导测试人员执行不同的测试任务,协作完成待测应用测试工作。
2.根据权利要求1所述的一种基于人机协同的移动应用测试方法,其特征在于,在步骤1)中,静态分析;使用静态分析工具Gator遍历安卓应用源代码,将待测应用apk输入静态分析工具,输出分析结果,对输出数据进行筛选,仅保留初始页面、事件和目标页面信息,构建待测应用的控制流程图。
3.根据权利要求1所述的一种基于人机协同的移动应用测试方法,其特征在于,在步骤2)中,动态分析;使用动态分析工具Monkey,根据静态分析结果,输入截屏指令和页面名称,截取对应页面图像。
4.根据权利要求1所述的一种基于人机协同的移动应用测试方法,其特征在于,在步骤3)中,测试用例生成;首先,将静态分析工具输出的控制流程图进行筛选,以待测应用主界面作为起点,为一个应用绘制一个控制流程图,删除无法从主页面跳转到达的页面和操作;其中操作表征为页面,事件,页面,旨在表达安卓应用使用过程中,在一个页面(初始页面)中,进行某一操作,如单击、输入等,应用自动跳转至操作对应页面(目标页面);一个待测应用由一个加权有向有环图表征,此时,图中每条边的权重均为零。
5.根据权利要求1所述的一种基于人机协同的移动应用测试方法,其特征在于,在步骤4)中,基于反馈的测试过程引导;由于待测应用发布后,所有路径均为进行覆盖,测试过程引导进入冷启动阶段,该技术使用深度优先遍历算法遍历控制流程图,将操作序列作为测试用例,生成测试任务列表,随机推荐给不同的测试人员;当测试人员执行测试任务并提交测试报告后,该技术将根据时间执行次数,即路径覆盖次数,修改控制流程图权重值,用户每次提交测试报告都将出发权重值的更改和控制流程图的重新遍历,进而更新测试任务推荐列表,直至所有路径覆盖均达到阈值,测试终止,测试任务完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京慕测信息科技有限公司,未经南京慕测信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111496322.6/1.html,转载请声明来源钻瓜专利网。