[发明专利]一种软件测试用例生成方法及系统在审
申请号: | 201910806802.4 | 申请日: | 2019-08-29 |
公开(公告)号: | CN110580222A | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 任谦;姜宇;杨镒箫;顾明;孙家广 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/53;G06F8/41 |
代理公司: | 11002 北京路浩知识产权代理有限公司 | 代理人: | 马英迪 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 历史状态 安装包 测试 软件测试 设备执行 事件发送 随机方式 系统事件 信息对应 应用程序 应用执行 用例生成 | ||
本发明实施例提供一种软件测试用例生成方法及系统,所提供的方法包括:获取待测试安装包,将所述测试安装包安装在安卓设备中,获取所述测试安装包对应的应用程序在任一页面的历史状态信息;根据所述历史状态信息,生成所述历史状态信息对应的特定类型的事件并将所述事件发送至安卓设备执行;执行所述事件,获取所述事件的执行结果。本发明实施例提供的方法及系统,以安卓应用执行过程中的历史状态信息,通过随机方式生成事件,在生成UI事件的同时兼顾系统事件,最终生成更有价值的测试用例。
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试用例生成方法及系统。
背景技术
移动通信技术的不断完善推动了移动设备的迅速发展,其灵活、方便、易携带的特点,使人们对移动设备依赖程度日益提高。智能手机成为当下最重要的移动平台。
相较传统功能手机,移动操作系统及良好的用户界面赋予了智能手机非同一般用户体验和应用扩展性。智能手机基于高清触摸屏,能随时进行触控、输入、多任务等操作,并拥有强大的多媒体、邮件、网络功能,为软件开发商开发功能各异,便捷实用的移动应用提供了无限可能。庞大的用户数量和需求吸引着越来越多的IT企业涉足移动应用领域,移动应用市场规模迅速扩大,已经渗透到社交、购物、资讯等社会活动的各个方面。当下,移动应用数量庞大,每天都有大量的新应用进入市场。截至2017年,安卓手机以87.7%的市场占有量成为最受欢迎的智能手机操作系统,而作为安卓平台最大的移动应用商店,Google Play用户可下载的应用数量已达350万个。
然而,无限商机中也伴随着巨大风险。一方面,应用来源驳杂,既有知名企业推出的明星应用,也充斥着大量由未知开发者发布的应用汇,这给鉴别应用是否恶意,是否安全带来很大挑战。此外,已发布应用的质量参差不齐,由功能出错、运行不流畅、响应速度慢、经常崩溃闪退等带来的用户体验和安全问题也屡见不鲜。这些潜在风险促使开发者愈发重视应用的测试,而采用高效的移动应用测试方法确保其应用的正确性和可靠性成为企业的必然选择。
移动应用的用户界面逻辑与业务逻辑耦合十分紧密,这些移动应用来源迥异,除需考虑各种复杂的硬件和软件运行环境外,企业开发者更面临着缩短开发周期,快速投入市场的压力。因而安卓应用的测试和传统测试相比,技术和理论层面都需要面临新的挑战。
传统的移动应用测试方法主要依靠大量专业测试人员手动测试,人工方法能有效利用测试人员的专业知识,短时间内快速提升被测应用的代码覆盖率。然而,随着应用复杂度和多样化的快速提升,测试人员的培训成本更高,成长周期更长,过度依赖专业测试员的传统方法不得不面对人力成本增长,测试周期长,测试方法难通用等问题。因此,考虑到移动应用在兼容性、移动性(对网络状况的影响)、耐用性(节省电量)以及稳定性等多方面的新需求,移动应用自动化测试,尤其是面向安卓系统的应用自动化测试应运成为测试研究的新方向。
相关企业和研究人员提出了多种应用测试用例生成方法,同时,设计并实现了相应的应用自动化测试工具,这些工具已经能适应数千个应用程序的规模。现有算法按照事件选择的方式可划分为三个类别:模糊测试,基于搜索的测试以及基于模型的测试。
模糊测试(Fuzz testing)是一种有效的软件测试技术,模糊测试通常将随机,意外或无效数据用作目标的输入,因而常用于测试软件和操作系统的安全问题。在其他测试对象或场景中,研究人员已经使用模糊测试工具成功发现了大量的错误和漏洞,证明了模糊测试的有效性,而针对安卓应用进行模糊测试则刚刚开始。
模糊测试思想首先应用在事件选择算法中。Monkey是最早的,已经在工业界广泛使用的安卓应用模糊测试工具。Monkey工具由Google推出,并内置于安卓系统中。Monkey既可以运行在安卓平台,也可以运行在PC上,通过adb与应用交互。用户可以以命令行方式启动Monkey,设置事件生成数量、速度、概率等参数后启动被测应用程序开始测试。过程中,Monkey持续发送事件给被测应用,模拟点击按钮,输入文本等用户操作,若监听到崩溃数,未响应数或事件数量达到停止条件,则停止测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910806802.4/2.html,转载请声明来源钻瓜专利网。