Android操作系统兼容性测试系统研究

2016-03-23 09:00任海鹏邓春红汪学文安徽机电职业技术学院信息工程系安徽芜湖241002
绥化学院学报 2016年3期
关键词:操作系统测试

任海鹏 邓春红 汪学文(安徽机电职业技术学院信息工程系 安徽芜湖 241002)



Android操作系统兼容性测试系统研究

任海鹏邓春红汪学文
(安徽机电职业技术学院信息工程系安徽芜湖241002)

摘要:针对Android操作系统兼容性测试耗时耗力,测试结果分析复杂的问题,对兼容性测试系统设计进行研究,分析测试系统运行环境与系统架构,设计一种含PC客户端测试、服务器端测试结果统计、服务器端测试系统管理等功能模块的测试系统,并对系统测试运行与数据库设计进行总结,为用户提供方便的测试环节和自动化测试服务,大大提升了测试效率,减少了测试经济成本,最终促进终端产品兼容性测试通过速度的提升。

关键词:Android;操作系统;兼容性;测试

智能终端生产厂家在生产各种电子产品的过程中,直接指定属于自己的Android操作系统,利用Google公司的Android系统兼容性测试工具,进行一个检测的环节,以确保标准Android应用程序可以在平台上正常使用[1][2]。所以,Android操作系统进行兼容性测试是每一款智能手机必须要经历的一个环节。然而,Android操作系统兼容性测试耗时耗力,测试结果分析也比较复杂。

一、兼容性测试系统设计

(一)运行环境。Android操作系统兼容性测试的硬件系统包括PC客户端测试模块、测试结果统计模块以及测试系统管理模块等。PC客户端使用普通安装windows7或者以上版本的电脑即可,测试结果统计软件与系统管理软件能够在Server2008或者以上版本的操作系统服务器[3]。系统结构如图1所示。

图1 安卓系统兼容性测试系统结构

(二)系统架构。Android系统兼容性测试系统在系统架构上包括测试操作系统与测试管理系统,前者的作用在于对客户端、待测终端进行测试,负责具体的测试工作;后者包括测试管理服务器[4],其作用为对已经进行测试的结果进行统计与整理,主要负责测试客户端授权等相关工作[5]。

(三)系统功能。Android系统兼容性测试系统包括PC客户端测试模块、服务器端测试结果统计软件、服务器端测试系统管理模块。本文针对以上模块进行逐个分析。

1.PC客户端测试模块。PC端测试软件是把电脑和待测智能终端连接在一起,一般是利用USB数据线,确保PC能够正常识别待测智能终端,并且可以正常地完成工作。PC端测试软件有以下几个方面的作用:显示、通信、设置、适配、终端操作和统计等。各模块负责不同的功能,具体如下:

(1)通信。该模块主要负责PC客户端和待测终端以及服务器终端之间持续通信工作。前者通信是利用ADB方式进行初始连接,然后利用通信模块把待测终端的数据信息传送到PC端解析,并且显示出来,比如,有待测终端的IMEI号码、系统版本号、具体名称等。测试时PC客户端利用通信模块完成指令下发与信息反馈;后者主要是完成端到端的连接工作,包括把测试数据上传到服务器。

(2)显示。负责PC端测试软件在电脑上显示测试实时信息,PC端测试软件可以选择windows窗体程序设计,包括菜单栏、工具栏等完成测试过程的操作,测试时利用文本显示组件对测试产生的信息进行显示,便于测试工作人员及时地获取测试进度及相关信息。

(3)适配。实现各个待测终端自动匹配,因为Android CTS测试工具针对操作系统版本不统一的情况,在测试的时候,也要按照实际情况进行区分,对测试命令、测试包结构等进行调整,所以提供适配模块实现CTS测试工具版本和待测终端操作系统版本进行匹配。匹配工作具体是利用通信模块获取待测终端的相关信息,PC客户端自动对CTS路径、命令等进行设置。

(4)设置。实现测试时有关参数的设置,测试起初及测试环节,利用设置模块对测试参数进行调整,调整即时生效,并进行存储,也就是对参数进行立即调整后,能够完成参数的保持,后续测试工作也是以此参数为默认设置。

(5)CTS命令配置。实现对版本号不同的CTS测试工具的相关命令配置,因为Google提供的测试命令不一致,所以提供CTS命令配置模块,实现不同版本工具的配置,该功能能够覆盖PC端兼容性测试软件中全部的CTS命令,包括运行测试计划、运行测试方法等。

(6)终端操作。实现终端连接控制的功能,具体分为三个小功能;第一个是终端连接断开,因为Android系统兼容性测试的持续时间非常长,而且覆盖范围比较广,所以有可能出现各端失联的问题,必须利用终端操作进行自动连接。第二个是因为一些测试是需要待测终端具有一定的测试条件,比如说确保WLAN为打开状态、屏幕解锁等,利用终端模块操作能够代替对待测终端的操作。第三个是一些个性化测试要利用APK来实现,终端操作模块能够完成对APK的安装与卸载。

(7)统计。实现对测试数据的统计功能,Android系统的兼容性测试要同时执行数个测试,测试之后生成一个压缩文件与文件夹,如果人工读取测试数据的话,不仅耗时而且任务量很大,因此可以利用统计模块实现该功能。统计信息中有测试开始时间、结束时间、数量、结果等。

(8)服务器业务。实现PC测试客户端和服务器端之间的各种业务往来,方便服务端对测试数据的操作,而且还能够实现PC测试客户端对数据的预览、编辑等。

2.测试结果统计工具。测试结果统计工具是布置在服务器端的一种统计工具,具体是针对测试结果进行整理、汇总,最后形成分析报告。该工具具体由以下几个方面组成:

(1)通信。实现PC测试客户端之间的通信功能,因为测试结果统计工具是进行各PC测试客户端的测试情况进行汇总统计,所以必须要有一个能够完成各服务器端与PC客户端的通信工具,可以实现建立通信连接、发送指令、传递数据等功能。

(2)显示。生成可视化的人机对话界面与数据统计信息,从而方便工作人员操作,而且能够完成对数据结果的汇总、分析等操作。

(3)设置。实现测试数据的统计工作,因为测试数据统计工具在使用时必须要进行各种参数的配置,从而能够更加灵活地使用工具。参数配置包括用户名、密码、存储时间、存储位置等。

(4)打印。在有打印需求时能够满足并且完成打印工作。待测终端的测试完成后,随之生成测试数据报表,此时有可能需要纸质文件报表,该模块能够实现对数据进行固定格式的排版、打印功能。

(5)统计。对每一个测试终端的测试数据进行汇总并且统计,把数据结果利用内网传输到服务器,进入到数据库之后方便进行分析与统计。

(6)数据库管理。对数据库进行管理、维护,因为各个测试端测试之后的数据量非常大,因此为了方便对数据进行查阅和管理,建立一个已测试结果数据库是十分有必要的,更加方便地完成数据维护与管理,比如建立数据库、录入数据、查看以及编辑等。

(7)分析。实现对各个测试结果进行分析的功能,因为测试结果的文件夹数量较多,必须要能够及时有效地提供相关测试数据信息,根据数据库的要求,对相关数据进行操作。

3.测试系统管理工具。测试系统管理工具是布置于服务器端的管理工具,具体是实现对整个系统进行管理,包括各个测试客户端的权限设置、测试过程实时监控等。测试系统管理工具包括以下几个方面:通信、显示、接入认证、权限管理、设置和监控等。有关通信、显示、设置的功能类似于测试结果统计工具,本文仅对接入认证、权限管理、监控三个模块进行分析。

(1)接入认证。完成对各个PC测试客户端接入服务器过程中的认证环节,以确保服务器测试数据的完整、安全,通过白名单的方式,提前在服务器端对白名单进行配置,即允许接入的PC端IP地址来保证接入认证的安全性。

(2)权限管理。对各个PC测试客户端的相关权限进行配置、管理,PC测试客户端能够实现数据的预览、编辑,为确保数据完整、安全,该模块对PC测试客户端的权限等级进行设置,0级是最高级别,也就是管理人员的权限,能够完成数据预览、删除、增添、编辑等;1级可以实现部分功能,能够完成数据的预览、编辑;2级的权限级别最低,仅可以完成数据预览。

(3)监控。测试系统对PC测试客户端进行实时监控、记录,实时显示运行情况,并且进行记录,以日志的形式存储于服务器端。

二、系统测试运行与数据库设计

(一)系统测试运行。系统测试运行的流程具体如下所示:首先,启动PC客户端测试工具,然后系统会自动开启ADB程序进行检测,然后待测终端与PC端通过USB进行连接,待测终端对APK文件进行安装,启动服务,建立连接。假如成功连接,则可以正常接收信息,同时显示出来;假如需要对参数进行配置,利用菜单进行参数的调整;最后,根据测试计划对CTS进行测试,全部测试之后把测试数据上传到服务器,完成测试。具体流程如图2所示。

图2 测试流程

(二)数据库设计。在兼容测试系统中,测试结果统计工具和管理工具的数据分别存放在不同的数据库中。数据库位于服务器中,里面存放着等待被相应工具查询、输出的数据。其中测试结果统计工具的数据库中的内容主要是PC测试客户端上传的相关数据信息,例如用户信息(用户名、密码、注册时间、等级)、存储信息(存储时间、存储位置、数据大小)等实体。而管理工具数据库中存放着各PC测试客户端的权限管理信息,这些信息主要被用来读取验证,判断客户是否具有浏览、编辑、增删等权限。例如,客户信息(客户IP地址、客户权限等)、操作记录(登录时间,操作/显示内容等)。

(三)Android操作系统兼容性测试。本文对Android操作系统兼容性系统进行研究,系统的先进性具体包括:1.系统比较全面,基本上支持全部安卓版本的CTS测试包,而且对于终端设备与运行环境配置的要求比较低;2.方便使用,和测试无关的内容不予显示,工作人员能利用统一的测试操作界面完成测试;3.效率高,交互式测试和自动化测试的方式进行结合,还有丰富的资源予以使用。所以,测试系统能够提供方便的测试环节和自动化测试服务,大大提升了测试效率,同时减少了测试经济成本,最终促进终端产品兼容性测试通过速度的提升。

三、结语

利用安卓原生CTS测试包,对Android操作系统的兼容性进行测试,同时利用人机交互界面提供的便利条件,大大提升了自动化测试的能力,对于以Android操作系统为平台的智能终端的发展,有一定的促进作用。

参考文献:

[1]张继永.浅析Android系统的软件安全设计[J].硅谷,2010(23).

[2]林瑞杰,曾晨曦,傅蓉蓉.Android操作系统兼容性测试系统设计与开发[J].现代电信科技,2014(6).

[3]高巍.Android操作系统软件自动化测试方案的设计与实施[D].北京邮电大学,2012(6) .

[4]李向东,夏冰,郑秋生.Android应用软件安全测评方法研究[J].信息安全与通信保密,2014(9).

[5]王润杰.基于X86架构的Android软件模拟测试环境[J].计算机光盘软件与应用,2014(4).

[责任编辑郑丽娟]

作者简介:任海鹏(1979-),男,安徽芜湖人,安徽机电职业技术学院信息工程系讲师,硕士,研究方向:无线网络。基金项目:安徽省质量工程项目(2014jxtd099);安徽机电职业技术学院自然科学研究项目(20151/jrr06)。

收稿日期:2015-10-25

中图分类号:TP393

文献标识码:A

文章编号:2095-0438(2016)03-0141-03

猜你喜欢
操作系统测试
幽默大测试
“摄问”测试
“摄问”测试
“摄问”测试
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究