一种应用软件云测试系统的制作方法

文档序号:6524361阅读:127来源:国知局
一种应用软件云测试系统的制作方法
【专利摘要】本发明适用于信息【技术领域】,提供了一种应用软件云测试系统,所述系统包括:任务提交子系统,用于检测测试人员提交的测试任务,所述测试任务指示了测试任务类型,且所述测试任务类型包括应用软件的兼容性测试、性能测试、功能测试或者质量测试;任务调度子系统,用于根据所述任务提交子系统提交的测试任务进行任务调度;任务执行子系统,用于根据所述任务调度子系统的任务调度情况执行所述测试任务,并根据所述测试任务类型采集并生成对应的测试报告。本发明提供的应用软件云测试系统基于移动终端应用软件的特点,能够同时支持四种不同类型的测试内容,从而保证了应用软件云测试结果的全面性。
【专利说明】一种应用软件云测试系统
【技术领域】
[0001]本发明属于信息【技术领域】,尤其涉及一种应用软件云测试系统。
【背景技术】
[0002]当前,移动操作系统的碎片化现象日趋严重,使得基于移动操作系统的应用软件测试工作困难重重,基于上述背景,应用软件的云测试平台应运而生,其为测试人员提供了一个自动化的云测试环境,同时提供测试报告和优化建议,以此来提高应用软件的测试效率。
[0003]针对移动终端应用软件的测试内容大概涵盖了以下三个方面:(1)兼容性测试,测试应用软件能否在移动终端上安装、卸载及稳定运行;(2)性能测试,测试应用软件运行时对移动终端产生的影响;(3)功能测试,测试应用软件对自定义脚本的运行情况,并对运行结果进行判定。
[0004]然而,目前比较主流的应用软件云测试平台的测试内容单一,无法保证应用软件云测试结果的全面性。

【发明内容】

[0005]本发明实施例的目的在于提供一种应用软件云测试系统,旨在解决目前的应用软件云测试系统无法保证应用软件云测试结果的全面性的问题。
[0006]本发明实施例是这样实现的,一种应用软件云测试系统,所述系统包括:
[0007]任务提交子系统,用于检测测试人员提交的测试任务,所述测试任务指示了测试任务类型,且所述测试任务类型包括应用软件的兼容性测试、性能测试、功能测试或者质量测试;
[0008]任务调度子系统,用于根据所述任务提交子系统提交的测试任务进行任务调度;
[0009]任务执行子系统,用于根据所述任务调度子系统的任务调度情况执行所述测试任务,并根据所述测试任务类型采集并生成对应的测试报告。
[0010]本发明实施例提供的应用软件云测试系统基于移动终端应用软件的特点,能够同时支持四种不同类型的测试内容,从而保证了应用软件云测试结果的全面性。
【专利附图】

【附图说明】
[0011]图1是本发明实施例提供的应用软件云测试系统的结构框图;
[0012]图2是本发明实施例提供的应用软件云测试系统任务执行子系统的架构图。
【具体实施方式】
[0013]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0014]图1示出了本发明实施例提供的云测试系统的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
[0015]参照图1,该云测试系统主要包括了任务提交子系统11、任务调度子系统12和任务执行子系统13。其中:
[0016]任务提交子系统11用于检测测试人员提交测试任务,所述测试任务指示了测试任务类型,且所述测试任务类型包括但不限于应用软件的兼容性测试、性能测试、功能测试或者质量测试;
[0017]任务调度子系统12主要根据任务提交子系统11提交的测试任务进行任务调度;
[0018]任务执行子系统13用于根据任务调度子系统的任务调度情况执行所述测试任务,并根据所述测试任务类型采集并生成对应的测试报告。
[0019]以下,对本发明实施例提供的用于应用软件云测试系统的架构进行详细阐述:
[0020]在本实施例中,应用软件云测试系统的运行可以依托于超级计算机中心,以提高整个系统的运行速率。
[0021]首先,针对任务提交子系统11:
[0022]在本实施例中,应用软件云测试系统面向用户提供网站页面的访问方式,建立用于进行测试任务提交的网站,以使测试人员能够通过网页访问的方式来进行测试任务的远程提交。具体地,该网站可以对应用云测试系统提供的测试类型进行介绍,并提供相应的用户菜单,便于测试人员在该菜单中进行操作,进行测试任务提交。测试人员在网站的用户菜单中可以提交的测试任务包括以下四种类型,以保证应用软件云测试系统的全面性:
[0023]1、兼容性测试:主要测试应用软件能否在移动终端上安装、卸载及稳定运行;
[0024]2、性能测试:主要测试应用软件在移动终端的运行性能;
[0025]3、功能测试:主要测试应用软件的设计成果是否达到了设计要求;
[0026]4、质量测试:主要测试应用软件在移动终端实际运行时的综合运行效果。
[0027]在本实施例中,针对上述四种测试任务类型,需要任务执行子系统13采集并生成与测试任务类型对应的测试报告,以使应用软件云测试系统能够根据正确的测试报告来分析出与测试任务的类型相符合的测试结果。具体地,每一类型的测试任务所需要的测试报告内容如下:
[0028]1、兼容性测试:在应用软件自动安装运行之后,需要截取不同时间段的运行界面截图,来判断应用软件与移动终端的兼容性;
[0029]2、性能测试:需要反馈应用软件在移动终端运行的各方面状态,来分析应用软件的性能。其中,应用软件在移动终端运行的状态包括但不限于应用软件的安装或者卸载时间、中央处理器(Central Processing Unit,CPU)占用率、物理内存占用率,等等,上述数据可以通过自动化脚本从应用软件的软件开发工具包(software development kit, SKD)中获取;
[0030]3、功能测试:需要反馈测试脚本在运行时,应用软件所表现出的反应,例如,按键反应的灵敏度、界面的盲点,等等;
[0031]4、质量测试:需要上报全页面元素加载、事务流程检测、故障告警系统等环节的参数,以方便测试人员根据这些参数来进行评定,最后根据各方面的评定结果来对应用软件的质量进行综合打分。[0032]在确定了测试任务类型之后,应用软件云测试系统接收测试人员上传的需要进行测试的应用软件的安装包。
[0033]在本实施例中,当应用软件的安装包上传完毕之后,应用软件云测试系统会自动将该安装包保存至其数据库中,并提取安装包的基本信息以存入相应的任务列表。
[0034]作为本发明的一个实施例,应用软件测试平台可以将其所有的用于测试的移动终端进行展示,以检测测试人员根据测试需要所选择的移动终端,将测试人员选择的移动终端作为进行应用软件测试的移动终端。在本实施例中,展示用于测试的移动终端的同时,也对每个用于测试的移动终端的型号、采用的移动操作系统版本、屏蔽分辨率等各项参数进行展示,以便于测试人员进行选择。
[0035]进一步地,作为本发明的一个实施例,应用软件云测试系统还可以为应用软件提供模拟的测试环境,具体地,模拟的测试环境的创建过程如下:
[0036]首先,检测测试人员通过网页访问的方式输入的移动终端的软硬件参数;其次,根据所述软硬件参数创建虚拟移动终端用以进行应用软件测试。
[0037]由此,任务提交子系统11通过提供网站页面的方式,收集测试人员提交的测试任务,当测试任务提交完成后,任务提交子系统11阶段的工作完成,应用软件云测试系统后台自动开始运行任务调度子系统12。
[0038]其次,针对任务调度子系统12:
[0039]在本实施例中,任务提交子系统11接收的测试任务会被传送到任务调度子系统12中,任务调度子系统12根据应用软件云测试平台中的测试设备的运行状况进行任务调度,向正常运行的、测试任务中指定类型的移动终端派发测试任务。
[0040]具体地,在本实施例中,任务调度子系统的相关功能可以基于免费开源的Quartz来实现。Quartz提供了丰富的任务调度功能,其不但可以制定周期性运行的任务调度方案,还可以按照日历相关的方式来进行任务调度。Quartz拥有一个线程池,通过该线程池来为测试任务提供执行线程,且应用软件云测试系统可以通过配置文件来对该线程池进行参数设置。Quartz的另一个重要功能是将生成的任务调度信息持久地保存到数据库中,以便应用软件云测试系统在重启时能够及时恢复当前的测试任务。此外,Quartz还拥有完善的事件体系,允许注册各种事件的监听器,以实时监听任务调度过程。Quartz的系统框架的重要组件包括Job、JobDetail> Trigger、Scheduler以及辅助性的JobDataMap和SchedulerContext ο
[0041]当测试任务调度完成后,任务调度子系统12阶段的工作完成,调度信息被传递到任务执行子系统13进行任务执行。
[0042]再次,针对任务执行子系统13:
[0043]在本实施例中,任务执行子系统13部署在测试服务器集群,如图2所示,该测试服务器集群中的每个测试服务器都与多台用于测试的移动终端(包括手机、平板等)连接,且每个测试服务器都部署一个用于控制测试任务执行的控制进程,具体地,该进程可以基于bottle来进行编写,其中,bottle是一个轻量级的http服务器,其会将http请求与相应的操作绑定起来,以便任务执行。由于python具有很好的移植性,无论是在windows系统还是Iinux系统之中都能良好运行,因此,在本实施例中,采用python来进行控制进程的程序编写,使得本发明实施例提供的应用软件云测试平台能够同时支持不同系统(例如windows系统、Iinux系统)下的测试任务。
[0044]此外,作为本发明的一个实施例,任务执行子系统13还具备一定的容错机制,当用于测试的移动终端无法满足某个测试任务的测试要求时,该测试任务会作为执行失败的测试任务进行处理,由任务执行子系统13将该测试任务反馈给任务提交子系统11,以便在后续过程中再由任务调度子系统12进行再次调度分配。
[0045]在本实施例中,任务执行子系统13会根据任务调度子系统12的任务调度信息,将应用软件的安装包发送至相应的用于测试的移动终端,并由测试脚本自动地控制测试进程,同时根据应用软件的SDK中的日志数据进行自动分析,自动制图,以生成与测试任务类型对应的测试报告。在本实施你还中,测试脚本的自动运行能够避免人工操作所导致的测
试误差。
[0046]在本实施例中,由于执行测试任务的是独立的服务器,因此,能够进一步保证应用软件云测试系统的测试效率。
[0047]本发明实施例提供的应用软件云测试系统以独立服务器作为后台支撑,能够同时支持不同操作系统下的测试任务,提供了各种类型的移动终端进行测试,以确保测试结果的准确性;同时提供了四种类型的测试,以确保测试结果的全面性。
[0048]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种应用软件云测试系统,其特征在于,所述系统包括: 任务提交子系统,用于检测测试人员提交的测试任务,所述测试任务指示了测试任务类型,且所述测试任务类型包括应用软件的兼容性测试、性能测试、功能测试或者质量测试; 任务调度子系统,用于根据所述任务提交子系统提交的测试任务进行任务调度; 任务执行子系统,用于根据所述任务调度子系统的任务调度情况执行所述测试任务,并根据所述测试任务类型采集并生成对应的测试报告。
2.如权利要求1所述的系统,其特征在于,所述任务提交子系统具体用于通过提供网站页面,检测测试人员通过网页访问的方式提交的所述测试任务。
3.如权利要求2所述的系统,其特征在于,所述任务提交子系统具体用于: 检测测试人员通过网页访问的方式指定的测试任务类型; 接收上传至所述网站的应用软件的安装包; 在所述网站展示用于所有测试的移动终端类型,并检测测试人员通过网页访问的方式指定的用于进行应用软件测试的移动终端。
4.如权利要求3所述的系统,其特征在于,所述检测测试人员通过网页访问的方式指定的用于进行应用软件测试的移动终端包括: 检测测试人员通过网页访问的方式输入的移动终端的软硬件参数; 根据所述软硬件参数创建虚拟移动终端用以进行应用软件测试。
5.如权利要求1所述的系统,其特征在于,所述任务调度子系统还用于将所述任务提交子系统提交的测试任务持久保存到数据库中。
6.如权利要求5所述的系统,其特征在于,当所述应用软件云测试系统重启时,从所述数据库中恢复所述任务提交子系统提交的测试任务。
7.如权利要求1所述的系统,其特征在于,所述任务执行子系统部署在测试服务器集群,所述测试服务器集群中的每个测试服务器均与多台用于测试的移动终端保持通信,且每个所述测试服务器均部署一个控制进程,用以控制测试任务的执行。
8.如权利要求7所述的系统,其特征在于,所述控制进程基于python语言编写。
9.如权利要求1所述的系统,其特征在于,所述任务执行子系统还用于将执行失败的测试任务反馈给所述任务提交子系统,以便所述任务调度子系统对该测试任务进行再次调度。
10.如权利要求1所述的系统,其特征在于,所述任务执行子系统通过测试脚本自动控制测试进程。
【文档编号】G06F11/36GK103678132SQ201310698997
【公开日】2014年3月26日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】徐文星, 曾经纬, 贝振东, 喻之斌, 须成忠 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1