应用程序测试方法及装置的制作方法

文档序号:6424725阅读:312来源:国知局
专利名称:应用程序测试方法及装置的制作方法
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种应用程序测试方法、以及一种对应该测试方法的应用程序测试装置。
背景技术
持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,整个团队每天可能会发生多次集成。在每次集成过程中,通常伴随着源代码的更新处理,每个成员都将更新后的源代码上传到服务器中。在每次集成完成之后,需要对更新的源代码进行测试。
现有技术中的一种对更新后的源代码进行测试的方法为在测试开始后,人工从服务器下载更新后的最新版本的源代码,根据上述最新版本的源代码,人工生成最新版本的测试用例。然后,执行上述最新版本的测试用例,通过拷贝粘贴的办法获取测试结果。然而,现有对更新后的源代码进行测试的方法存在如下缺陷每次测试都要执行相同的操作,并需要以人工方式获取最新版本的源代码和测试用例,消耗时间较长;测试环境配置相对繁琐,不能保证每次的测试结果都能够得到有效的归档。

发明内容
本发明的实施例提供了一种更新源代码后的应用程序的测试方法及其测装置,该测试方法及装置可高效地对更新源代码后的应用程序进行测试。一种更新源代码后的应用程序的测试方法,包括通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码;根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例;在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果。一种更新源代码后的应用程序的测试装置,包括源代码获取模块,用于通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码;测试用例生成模块,用于根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例;测试结果获取模块,用于在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果。相对于现有技术,所述应用程序的测试方法及测试装置中,管理服务器可通过程序构建脚本自动从代码服务器获取最新版本的源代码,并自动生成最新版本的应用程序和测试用例,进而自动在所述最新版本的应用程序上执行所述最新版本的测试用例,从而达到高效获取应用程序测试结果的目的。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例所对应的附图作简单的介绍图I为本发明第一实施例提供的一种应用程序的测试方法的工作流程图;图2为本发明第二实施例提供的一种应用程序的测试装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整的具体描述。需要指明的是,基于本发明中的实施例, 本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他等同实施例或变更实施例,都应属于本发明权利要求的保护范围。实施例一如图I所示,本发明第一实施例提供一种应用程序测试方法,所述测试方法包括步骤11 17 :步骤11、管理服务器自动从代码服务器获取最新版本的源代码。具体地,在一次持续集成完成之后立即或者按照设定的时间间隔,管理服务器在程序构建脚本中配置代码服务器的地址和代码服务器的更新权限,并通过程序构建脚本编写代码服务器提供的代码检查更新命令,并将所述程序构建脚本发送给代码服务器。进一步地,所述代码服务器运行所述程序构建脚本,检查代码服务器中保存的源代码是否进行了更新,如果是,将最新版本的源代码发送给所述管理服务器;否则,流程结束。步骤12、管理服务器通过任务流程控制脚本生成测试任务。具体地,所述管理服务器接收到所述代码服务器发送的最新版本的源代码后,通过任务流程控制脚本在管理服务器中生成一个测试任务。在实际应用中,可以在任务流程控制脚本中指定管理服务器的地址,按照模板组织任务的格式和任务内容参数生成任务配置文件。然后,管理服务器根据上述任务配置文件来生成测试任务。上述测试任务中可以包括多个子任务,比如,可以包括下述5个子任务子任务I :生成最新版本的应用程序和测试用例子任务;子任务2 :部署测试环境子任务;子任务3 :测试执行子任务;子任务4 :上传测试结果子任务;子任务5 :管理测试结果子任务。上述管理服务器通过任务流程控制脚本将各个子任务联结在一起,管理各个子任务的执行流程,在每个子任务中还可以使用其他的脚本语言。上述任务流程控制脚本可以为python (派森)脚本等。步骤13、管理服务器通过程序构建脚本根据最新版本的源代码,生成待测试的最新版本的应用程序和测试用例。
管理服务器执行上述子任务I :生成最新版本的应用程序和测试用例子任务。在管理服务器上,通过开发工具集中提供的编译器命令,利用上述程序构建脚本对上述最新版本的源代码进行编译,生成未签名的待测试的最新版本的应用程序和测试用例。通过签名工具对上述未签名的待测试的最新版本的应用程序和测试用例进行签名认证,以保证上述最新版本的应用程序和测试用例被安装在客户端中之后可以有执行和被测试的权限。步骤14、管理服务器选择合适的客户端,在客户端部署上述测试任务所对应的测试环境。管理服务器执行上述子任务2 :部署测试环境子任务。
管理服务器端调用任务流程控制脚本选择合适的客户端,在客户端部署上述测试任务所对应的测试环境,该测试环境主要包括在客户端执行上述测试任务所需要的SDK (Software Development Kit,即软件开发工具包),上述SDK为用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。上述步骤14可以在上述步骤13之前、之后或者同时执行。步骤15、管理服务器将上述最新版本的应用程序和测试用例发送到客户端,客户端在上述最新版本的应用程序上执行上述最新版本的测试用例,获取测试结果数据。管理服务器和客户端执行上述子任务3 :测试执行子任务。管理服务器调用上述任务流程控制脚本将上述最新版本的应用程序和测试用例发送到客户端,该客户端可以为移动终端或模拟器等。
在上述客户端上,调用上述任务流程控制脚本和程序构建脚本,利用测试工具在上述最新版本的应用程序上编译和执行上述最新版本的测试用例。然后,利用测试工具收集上述最新版本的测试用例的测试执行数据,将收集的测试执行数据进行综合获取测试结果数据。然后,利用测试工具将上述测试结果数据转换成xml (Extensible MarkupLanguage,可扩展标记语言)文件。上述测试工具可以为TestRunner (测试程序执行控制器)。在实际应用中,也可以直接在管理服务器上,在上述最新版本的应用程序上编译和执行上述最新版本的测试用例,获取测试结果数据。步骤16、客户端将测试结果数据上传到管理服务器。客户端执行上述子任务4 :上传测试结果子任务。客户端调用上述任务流程控制脚本,将上述测试结果数据转换而成的xml文件上传到管理服务器。步骤17、管理服务器对上述测试结果数据进行综合管理。管理服务器执行上述子任务5 :管理测试结果子任务。管理服务器接收到上述客户端发送的上述测试结果数据转换而成的xml文件后,将上述xml文件按照一定的规则归档,将上述最新版本的源代码、测试用例和上述测试结果数据进行关联保存。上述管理服务器还将上述最新版本的源代码、测试用例和上述测试结果数据之间的关联关系发送给相关关注人。实施例二如图2所示,本发明第二实施例提供了一种对应上述测试方法的应用程序测试装置,所述测试装置具体包括源代码获取模块21,用于通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码;测试用例生成模块22,用于根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例;测试结果获取模块23,用于在所述最新版本的应用程序上执行所述最新版本的测 试用例,根据执行结果获取所述最新版本的应用程序的测试结果。本实施例中,所述测试装置还可以包括测试任务处理模块24,用于在任务流程控制脚本中指定管理服务器的地址,按照模板组织任务的格式和任务内容参数生成任务配置文件,所述管理服务器根据所述任务配置文件生成测试任务。所述测试任务中包括多个子任务,所述管理服务器通过任务流程控制脚本将各个子任务联结在一起,管理各个子任务的执行流程。具体而言,所述的源代码获取模块21可以包括程序构建脚本处理模块211,用于在一次集成完成之后立即或者按照设定的时间间隔,在程序构建脚本中配置代码服务器的地址和代码服务器的更新权限,并通过程序构建脚本编写代码服务器提供的代码检查更新命令,将所述程序构建脚本发送给所述代码服务器;源代码接收模块212,用于接收所述代码服务器发送的最新版本的源代码,该最新版本的源代码为所述代码服务器运行所述程序构建脚本,检查代码服务器中保存的源代码进行了更新后发送的。具体而言,所述的测试用例生成模块22可以包括编译处理模块221,用于通过开发工具集中提供的编译器命令,利用程序构建脚本对所述最新版本的源代码进行编译,生成未签名的待测试的最新版本的应用程序和测试用例;签名处理模块222,用于通过签名工具对所述未签名的待测试的最新版本的应用程序和测试用例进行签名认证,以保证所述最新版本的应用程序和测试用例被安装在客户端中之后有执行和被测试的权限。具体而言,所述的测试结果获取模块23可以包括测试环境部署模块231,用于调用任务流程控制脚本选择合适的客户端,在所述客户端部署相应的测试环境;测试用例发送模块232,用于调用所述任务流程控制脚本将所述最新版本的应用程序和测试用例发送到所述客户端;测试结果接收模块233,用于接收所述客户端发送的测试结果数据,所述测试结果数据为在所述客户端上调用所述任务流程控制脚本和程序构建脚本,利用测试工具在所述最新版本的应用程序上编译和执行所述最新版本的测试用例,利用测试工具收集所述最新版本的测试用例的测试执行数据,将收集的测试执行数据进行综合而获取的。
所述的测试结果接收模块233接收到所述测试结果数据后,将所述最新版本的源代码、测试用例和测试结果数据进行关联保存。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。综上所述,本发明实施例可以实现管理服务器通过程序构建脚本自动从代码服务器获取最新版本的源代码,并自动生成最新版本的应用程序和测试用例,自动在所述最新版本的应用程序上执行所述最新版本的测试用例,快速地获取应用程序的测试结果,从而达到高效地对更新源代码后的应用程序进行测试的目的。
本发明实施例可以实现管理服务器通过任务流程控制脚本自动生成测试任务,管理各个子任务的执行流程;调用任务流程控制脚本在客户端上自动部署测试任务所对应的测试环境;对测试结果数据进行有效的管理。本发明实施例解决了现有技术需要人工来获取源代码,人工构建测试用例,并且测试需要消耗较长时间等缺点。以上所述仅为本发明的较佳实施方式,对于本领域的技术人员来说,可以根据本发明的技术方案和技术构思做出其它相应的改变和变形,而所有这些改变和变形都应涵盖在本发明的保护范围之内。
权利要求
1.一种应用程序测试方法,其特征在于,包括 通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码; 根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例; 在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果。
2.根据权利要求I所述的应用程序测试方法,其特征在于,所述的通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码,包括 在一次集成完成之后立即或者按照设定的时间间隔,管理服务器在程序构建脚本中配置代码服务器的地址和代码服务器的更新权限,并通过程序构建脚本编写代码服务器提供的代码检查更新命令,将所述程序构建脚本发送给所述代码服务器; 所述代码服务器运行所述程序构建脚本,检查代码服务器中保存的源代码是否进行了更新,如果是,将最新版本的源代码发送给所述管理服务器; 所述管理服务器接收到所述最新版本的源代码后,通过任务流程控制脚本生成测试任务。
3.根据权利要求2所述的应用程序测试方法,其特征在于,所述的通过任务流程控制脚本生成测试任务,包括 在任务流程控制脚本中指定管理服务器的地址,按照模板组织任务的格式和任务内容参数生成任务配置文件,所述管理服务器根据所述任务配置文件生成测试任务,所述测试任务中包括多个子任务; 所述管理服务器通过任务流程控制脚本将所述测试任务中的各个子任务联结在一起,管理各个子任务的执行流程。
4.根据权利要求2所述的应用程序测试方法,其特征在于,所述的根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例,包括 所述管理服务器通过开发工具集中提供的编译器命令,利用所述程序构建脚本对所述最新版本的源代码进行编译,生成未签名的待测试的最新版本的应用程序和测试用例;通过签名工具对所述未签名的待测试的最新版本的应用程序和测试用例进行签名认证,以保证所述最新版本的应用程序和测试用例被安装在客户端中之后有执行和被测试的权限。
5.根据权利要求2至4任意一项所述的应用程序测试方法,其特征在于,所述的在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果,包括 管理服务器端调用任务流程控制脚本选择合适的客户端,在所述客户端部署所述测试任务所对应的测试环境; 所述管理服务器调用所述任务流程控制脚本将所述最新版本的应用程序和测试用例发送到所述客户端; 在所述客户端上,调用所述任务流程控制脚本和程序构建脚本,利用测试工具在所述最新版本的应用程序上编译和执行所述最新版本的测试用例,利用测试工具收集所述最新版本的测试用例的测试执行数据,将收集的测试执行数据进行综合获取测试结果数据。
6.根据权利要求5所述的应用程序测试方法,其特征在于,所述测试方法还包括 所述客户端调用所述任务流程控制脚本将所述测试结果数据上传到管理服务器; 所述管理服务器接收到所述测试结果数据后,将所述最新版本的源代码、测试用例和测试结果数据进行关联保存。
7.一种应用程序测试装置,其特征在于,包括 源代码获取模块,用于通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码; 测试用例生成模块,用于根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例; 测试结果获取模块,用于在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果。
8.根据权利要求7所述的应用程序测试装置,其特征在于,所述的源代码获取模块包括 程序构建脚本处理模块,用于在一次集成完成之后立即或者按照设定的时间间隔,在程序构建脚本中配置代码服务器的地址和代码服务器的更新权限,并通过程序构建脚本编写代码服务器提供的代码检查更新命令,将所述程序构建脚本发送给所述代码服务器; 源代码接收模块,用于接收所述代码服务器发送的最新版本的源代码,该最新版本的源代码为所述代码服务器运行所述程序构建脚本,检查代码服务器中保存的源代码进行了更新后发送的。
9.根据权利要求7所述的应用程序测试装置,其特征在于,所述的测试用例生成模块包括 编译处理模块,用于通过开发工具集中提供的编译器命令,利用程序构建脚本对所述最新版本的源代码进行编译,生成未签名的待测试的最新版本的应用程序和测试用例; 签名处理模块,用于通过签名工具对所述未签名的待测试的最新版本的应用程序和测试用例进行签名认证,以保证所述最新版本的应用程序和测试用例被安装在客户端中之后有执行和被测试的权限。
10.根据权利要求7至9中任意一项所述的应用程序测试装置,其特征在于,所述的测试结果获取模块包括 测试环境部署模块,用于调用任务流程控制脚本选择合适的客户端,在所述客户端部署相应的测试环境; 测试用例发送模块,用于调用所述任务流程控制脚本将所述最新版本的应用程序和测试用例发送到所述客户端; 测试结果接收模块,用于接收所述客户端发送的测试结果数据,所述测试结果数据为在所述客户端上调用所述任务流程控制脚本和程序构建脚本,利用测试工具在所述最新版本的应用程序上编译和执行所述最新版本的测试用例,利用测试工具收集所述最新版本的测试用例的测试执行数据,将收集的测试执行数据进行综合而获取的。
全文摘要
本发明提供一种应用程序测试方法。该测试方法主要包括通过程序构建脚本对代码服务器中保存的源代码进行检查,并从所述代码服务器获取最新版本的源代码;根据所述最新版本的源代码,通过程序构建脚本生成最新版本的应用程序和测试用例;在所述最新版本的应用程序上执行所述最新版本的测试用例,根据执行结果获取所述最新版本的应用程序的测试结果。本发明还提供一种对应该测试方法的应用程序测试装置。所述方法及装置可自动获取最新版本的源代码、应用程序和测试用例,并在最新版本的应用程序上执行最新版本的测试用例,快速地获取应用程序的测试结果,从而达到高效地对更新源代码后的应用程序进行测试的目的。
文档编号G06F11/36GK102799515SQ20111013544
公开日2012年11月28日 申请日期2011年5月24日 优先权日2011年5月24日
发明者傅学君, 徐铮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1