终端业务测试及评估系统
扫描二维码
随时随地手机看文章
关键字: 3G 移动 互联网
随着3G诱发的移动互联网时代的到来,移动终端将深入社会生活的方方面面。在这种时代背景下形形色色的手机软件疯狂问世,每个程序都期望成为QQ/Fetion。软件所有者为了抢占广阔的市场,在更短的时间内提供更为优质的手机软件产品,因而在这种形势下拥有高效、便捷、快速等特点的自动化测试将成为软件测试中不可缺少的重要部分。
1 引言
近年来,随着国内IT行业的迅猛发展与日益规范,手机软件产品的质量越来越成为企业竞争制胜的关键,企业领导者亦日趋理性并愈发重视软件产品的质量。在市场格局变化的今天,各运营商亦纷纷推出自己独特的定制终端和定制业务,为了捍卫自主品牌保证产品质量,几乎每个运营商的产品在发布前都需要进行大量的质量控制、回归测试和压力测试工作,然而这些工作必须投入大量的资金依靠具备娴熟技能的专业测试人才来完成。那么是否有这样一种革新的自动化测试工具,它不但能够降低测试难度、降低测试成本、缩短测试周期,而且能够达到测试的预期效果呢?
2 手机软件手工测试的缺陷
据统计资料表明,测试的工作量约占整个项目开发工作量的40%左右,测试的工作量往往是其他阶段的3~5倍。
就目前国内的软件开发行业来看,几乎所有的测试还是来自最原始的手工测试,对于自动化测试的应用还不普及。手工测试,顾名思义就是需要由人来动手进行测试。测试人员需要手脑并用,充分发挥聪明才智,才能设计出那些可以导致软件失效或是符合软件设计效果的真实场景。由测试人员来进行手工测试,可以最大程度地发挥人的主观能动积极性,设计出真实的用户情况,在真实的用户环境中使用真实的用户数据,同时可以识别出显而易见的缺陷和难以察觉的缺陷。但以往的经验告诉我们,单独的手工测试无法保证软件的质量,因为手工测试存在效率低,人力、时间投入大,压力测试难以进行,隐形问题难以发现的缺点,在这种背景下应运而生了自动测试。
3 Pilot AutoTest系列介绍
随着移动业务突飞猛进地发展,传统的手工测试已经难以满足业务增长的需要,在业务高速扩张的同时又要保证业务的质量今天,珠海世纪鼎利通信科技股份有限公司针对手机软件开发出一套自动化移动业务测试及评估系统——Pilot AutoTest产品,它结合了测试工程师多年的经验和最新研究成果。Pilot AutoTest系列产品包括Pilot AutoTest Enterprise,Pilot AutoTest Handse,Pilot AutoTest Web和Pilot AutoTest Cloud。
Pilot AutoTest系列是一套基于图像识别原理开发的自动化业务测试及评估系统。目前已实现Android,Windows Mobile,Symbian等主流系统的终端测试。该系统通过终端模拟器进行设备模拟,允许用户通过系统模拟真实操作,程序自动记录用户操作的所有过程。同时,引入图像识别技术及文字识别技术,提供测试参考及判断标准,可以更好地帮助加强操作的可执行性,提高自动化测试的可靠度及易用度。Pilot AutoTest提供了灵活的脚步编辑功能,包括:异常分支编辑、数据采集、自定义变量、元素修改等,便于用户进行快捷的脚步移植操作,最大限度的减少额外工作量。允许用户任意指定执行中的图像对比元素(见图1)。
图1 手机屏幕图和对象图
3.1 Pilot AutoTest Enterprise
企业级终端自动测试系统,提供高效、专业、准确的本地测试,自动录制命令,用户自定义测试脚本,实现自动化回归测试。允许用户连接任意终端、定制测试计划、自动运行,并对运行中的错误进行自动截屏,帮助用户更快发现程序异常,同时,压力测试后的测试报告能更好地帮助用户评估业务程序或终端的稳定性。
Pilot AutoTest使用分布式系统部署,允许用户进行远程调度、数据集中管理,无论身处何地,都能实现自动化测试(见图2)。
图2 Pilot AutoTest Enterprise版拓扑图
3.2 Pilot AutoTest Handset
便携设备独立自动测试可以提供灵活、方便、终端独立运行的测试。终端内置脚本执行模块,通过本地导入或远程Web端调度的方式获取测试脚本,完成自动化测试。终端界面的日志记录、结果统计能帮助用户更便捷地获取第一时间的测试信息(见图3)。
图3 Pilot AutoTest Handset版界面
3.3 Pilot AutoTest Web
中心调度及控制服务器,客户端录制测试脚本通过网络上传到服务器,并存储到脚本用例库中,用户可通过Web接入中心调度及控制服务器进行任务配置、调度、监控,及结果汇总统计等。用户通过Pilot AutoTest Enterprise或Pilot AutoTest Handset均可连接到Web端实现远程控制(见图4)。
图4 Pilot AutoTest web版界面
3.4 Pilot AutoTest Cloud
终端云资源共享自动测试,提供后端虚拟设备资源池。实现“不见其人,但闻其声”的意境。用户并不实际接触终端,但通过Web访问可以控制终端实现任意模拟操作,包括开/关机、程序安装/卸载、业务测试等等,与真实操作完成一致。
AutoTest Cloud为程序开发者提供了更便捷的测试方案,不仅成本节省了,而且也效率却提高了,更为产品的上线缩短了周期。
4 Pilot AutoTest Enterprise的用途和优点
4.1 Pilot auto Test Enterprise的用途(见图5)
图5 Pilot AutoTest的应用
(1)Pilot AutoTest是一套针对手机软件的自动化测试工具,它能够自动加载设备并根据脚本实现业务回顾测试。脚本执行完毕后会自动生成一份统计报表,此报表包括执行测脚本的次数、每个动作的执行次数、脚本的成功率、每个动作的成功率等相关参数。若由于某种原因导致操作失败还可以提供相应的信息日志以供查看。对于网络交互的相关动作,AutoTest结合世纪鼎利Walktour产品,还可以在日志中显示与网络交互的相关信令、参数、时延等信息。
(2)可运用于手机软件开发商,帮助其提高测试效率、缩短测试周期。
(3)可运用于电信运营商的入网检测、大会战、定制业务等方面,能够准确、高效、直观的呈现测试结果。
4.2 Pilot auto Test Enterprise的优点
(1)测试更便捷。由于回归测试的动作和用例是完全设计好的,期望的结果也是可以预料的,自动运行可以提高测试的效率,缩短测试的时间。
(2)可以运行更多更繁琐的测试执行一些手工测试不能进行或者困难的测试,比如,对于大量用户的压力测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的并降低项目投资成本。
(3)更好地利用资源。将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员解脱出来投入更多精力设计更好的测试用例。有些测试不适合自动测试,仅适合于手工测试,将可自动测试的测试自动化后,可以让测试人员专注于手工测试部分,提高手工测试的效率。
(4)重复测试,每一个测试脚本都可重复利用,几次、几十次、几百次都由用户指定。
(5)测试的复用性。Pilot AutoTest进行了专业的脚本编辑设计,具有良好的移植性,从一个终端到另一个终端的测试,用户只需要修改部分脚本或部分图片元素就可以进行测试。
(6)增加软件信任度。由于测试是自动执行的,所以不存在执行过程中人为的主观判断或疏忽,杜绝了测试中人为错误。一旦软件通过了压力测试后,软件的信任度就会增加。
5 结束语
本文分析了当前手机软件手动测试的缺陷,介绍新一代自动测产品——Pilot AutoTest。目的是为了使手机软件开发商、电信运营商等厂商能够通过此产品提高测试的效率、缩短测试的周期、解放测试人员和降低测试的投资。诚然,Pilot AutoTest也不是一款全能的自动化测试系统,在比如声音、震动、流媒体、游戏等需要主观判断或人机交互上的测试还很有局限,但最大限度的实现功能性自动化测试是Pilot AutoTest的努力方向。