[发明专利]基于应用程序状态转换图的智能辅助引导测试方法及装置有效
申请号: | 202110570661.8 | 申请日: | 2021-05-25 |
公开(公告)号: | CN113238952B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 刘哲;王俊杰;黄悦凯;王青 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 应用程序 状态 转换 智能 辅助 引导 测试 方法 装置 | ||
本发明公开了一种基于应用程序状态转换图的智能辅助引导测试方法及装置,包括:分别对应用程序进行静态分析与动态分析,获取静态状态转换图与动态状态转换图;将静态状态转换图与动态状态转换图合并,得到状态转换图;根据状态转换图,规划探索路径;基于探索路径,指导测试人员测试所述应用程序。本发明通过自动化提取应用程序的界面转换图,获得应用程序较为完整的状态转换图,并在该状态转换图的基础上使用动态规划的算法,为测试人员推荐探索路径,以帮助测试人员覆盖未浏览的页面并减少复制探索,从而保证检测的准确度、降低检测成本及减少重复探索的过程。
技术领域
本发明属于计算机技术领域,涉及软件测试技术,尤其是一种基于应用程序状态转换图的智能辅助引导测试方法及装置,用于辅助并引导测试人员对应用程序进行探索性测试。
背景技术
由于手机的便携性和方便性,在当今世界越来越流行。鉴于有300万个Android应用程序可用于阅读、购物、银行和聊天等不同的任务,手机和应用程序现在已经成为我们日常生活中不可或缺的一部分。移动应用的重要性使得开发团队必须进行彻底的测试,以确保移动应用的质量。然而,要保证应用程序的质量是一个挑战,特别是考虑到移动应用程序是以事件为中心的程序,具有丰富的图形用户界面与复杂的环境(如用户、设备和其他应用程序)交互。
为了保证应用程序的质量,GUI测试主要有两种,即自动GUI测试和手动GUI测试。尽管这种自动化测试具有方便性和可伸缩性,但它可能没有很高的活动覆盖率,特别是对于那些只能通过复杂的输入或长时间的操作序列来实现的功能。此外,可用性、可访问性问题(例如,颜色模式、字体大小、交互)不能通过自动化GUI测试检测。
因此,除了自动化的GUI测试外,大公司还采用手工测试作为最后一道防线。研究还表明,由于自动化工具的可用性和学习曲线,手工测试是许多软件开发人员的首选。在手动测试中,多个测试人员模仿用户的行为来探索应用程序中的不同功能,以发现更多的bug。为了利用众包的多样性,众包测试最近出现在软件测试中,它利用了众包和云平台的好处、有效性和效率,取代了限制测试人员固定数量的传统手工测试。
综上所述,自动GUI测试和手动GUI测试总是有利有弊的,将它们分成两个不相关的过程可能会进一步加深它们的缺点。
发明内容
为了解决以上问题,本发明公开了一种基于应用程序状态转换图的智能辅助引导测试方法及装置,通过构造了一个丰富的状态转换图,利用动态规划算法来规划探索路径,并在运行时GUI中添加可视化提示,以供测试人员快速探索未测试的活动,避免重复探索,既保证检测准确性,又降低检测成本。
本发明的技术方案为:
一种基于应用程序状态转换图的智能辅助引导测试方法,其步骤包括:
1)分别对应用程序进行静态分析与动态分析,获取静态状态转换图与动态状态转换图;
2)将静态状态转换图与动态状态转换图合并,得到状态转换图;
3)根据状态转换图,规划探索路径;
4)基于探索路径,指导测试人员测试所述应用程序。
进一步地,通过以下步骤进行静态分析:
1)获取应用程序的源代码,遍历源代码中的Intent()方法,找出所有两状态之间的静态转换关系;
2)以状态作为节点,静态转换关系作为边,构建静态状态转换图。
进一步地,通过以下步骤进行动态分析:
1)通过Android调试桥动态执行应用程序,自动化点击应用程序界面上的组件,对应用程序进行探索;
2)记录探索过程中每个页面发生改变时状态的动态转换关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110570661.8/2.html,转载请声明来源钻瓜专利网。