[发明专利]应用程序测试方法及装置有效
申请号: | 201310117742.8 | 申请日: | 2013-04-07 |
公开(公告)号: | CN104102574B | 公开(公告)日: | 2017-12-26 |
发明(设计)人: | 宁京 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 测试 方法 装置 | ||
技术领域
本发明涉及移动互联网技术领域,尤其涉及一种应用程序测试方法及装置。
背景技术
目前,在测试Android应用软件时,通常会需要测试人员手工在被测应用程序代码中插入一段测试代码,在被测应用程序运行时,借助测试代码输出调试信息或相关性能指标,以定位应用软件缺陷,度量应用软件的质量。
但是,现有的这种测试方法中,通过人工插入的桩代码难以维护,因为提交与测试有关而与产品功能无关的代码势必会造成产品缺陷和性能风险。
发明内容
本发明的主要目的在于提供一种应用程序测试方法及装置,旨在实现应用程序的有效测试,提高被测试代码的可维护性。
为了达到上述目的,本发明提出一种应用程序测试方法,包括:
获取被测应用程序源代码,基于预先编写的测试脚本,对所述被测应用程序源代码进行预编译;
对预编译后的被测应用程序源代码进行编译,生成应用程序;
运行所述应用程序,输出测试信息。
本发明还提出一种应用程序测试装置,包括:
预编译模块,用于获取被测应用程序源代码,基于预先编写的测试脚本,对所述被测应用程序源代码进行预编译;
编译模块,用于对预编译后的被测应用程序源代码进行编译,生成应用程序;
输出模块,用于运行所述应用程序,输出测试信息。
本发明提出的一种应用程序测试方法及装置,通过在预编译时,根据面向切面编程的测试脚本,动态的将测试用的调试代码插入被测应用程序的源代码中,在运行应用程序时,基于调试代码输出测试信息,从而可根据测试信息对应用程序缺陷进行定位和质量度量,由于不需要修改被测应用程序源代码,因此不会造成应用程序产品缺陷和性能风险,在实现应用程序的有效测试的同时,提高了被测试代码的可维护性。
附图说明
图1是本发明应用程序测试方法第一实施例的流程示意图;
图2是本发明应用程序测试方法第二实施例的流程示意图;
图3是本发明应用程序测试方法第三实施例的流程示意图;
图4是本发明应用程序测试装置第一实施例的结构示意图;
图5是本发明应用程序测试装置第一实施例中预编译模块的结构示意图;
图6是本发明应用程序测试装置第二实施例的结构示意图;
图7是本发明应用程序测试装置第三实施例的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例解决方案主要是:基于面向切面编程的测试脚本对待测试应用程序进行预编译,动态的将测试用的调试代码插入被测应用程序的源代码中,在运行应用程序时,基于调试代码输出测试信息,从而可根据测试信息对应用程序缺陷进行定位和质量度量,由于不需要修改被测应用程序源代码,因此不会造成应用程序产品缺陷和性能风险,提高被测试代码的可维护性。
如图1所示,本发明第一实施例提出一种应用程序测试方法,包括:
步骤S101,获取被测应用程序源代码,基于预先编写的测试脚本,对所述被测应用程序源代码进行预编译;
本实施例中被测应用程序包括但不限于Android系统应用程序,本实施例以Android系统应用程序举例说明。
其中,对被测应用程序源代码进行预编译及后续的编译过程均可以通过编译器来完成,该编译器可以是支持AOP(Aspect Oriented Programming,面向切面编程)预编译的编译器,例如ASM和Aspectj编译器等。
为了实现对应用程序的测试,本实施例预先根据面向切面编程编写有测试脚本,该测试脚本中包含有作为测试用的调试代码在被测应用程序源代码中的切入位置信息。
然后基于预先编写的测试脚本,对所述被测应用程序源代码进行预编译。预编译是指在编译器编译应用程序的源代码前进行一些相关操作。
具体地,在对所述被测应用程序源代码进行预编译时,首先解析该测试脚本,从测试脚本中获取调试代码在被测应用程序源代码中的切入位置信息,进而将调试代码按照所述切入位置插入被测应用程序源代码中。
上述调试代码为一段程序代码,其可以包括用于测试应用程序的性能指标或相关功能数据,比如:安装该被测应用程序的系统当前时间、内存大小、CPU状况、当前应用程序运行进程以及占用的内存大小等。
步骤S102,对预编译后的被测应用程序源代码进行编译,生成应用程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310117742.8/2.html,转载请声明来源钻瓜专利网。