手机测试 软件测试
一、手机软件测试
手机作为专用的消费类电子产品需要进行以下测试:可靠性测试(对于硬件则是RQT;对于软件则是field trial);标准符合性测试(FTA);互操作性测试(IOT);安全性测试(安规测试);强度测试等。
其中,有些种类的测试,例如FTA,有严格的标准(GSM、3GPP等)来明确被测的功能点,测试人员所要做的是在测试用例的编写中体现出这些功能点,并且尽量营造这些测试用例所需的运行环境来完成测试,并反馈测试结果。但是对于性能测试,就没有这样的规范供测试人员来参考,因此性能测试需要进行哪些用例以及用例通过的指标的高低都有很大弹性,在很大程度上受限于测试人员的经验和项目的资源和进度压力。如何在资源、进度和质量之间找到平衡点是产品负责人需要考虑的问题,测试人员可以左右的是划定性能测试的范围、明确与性能测试相关的设计需求(提高产品的可测试性)以及通过自动化测试工具等手段来进行更加有效的性能测试,提高产品的质量。
二、手机软件测试方法
从手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。由于笔者执行手机软件测试的工作中,短消息和电话测试的较多,下面就以短消息为例来阐述,手机软件测试的一般方法和测试的要求,来供大家参考。
(一).短消息[SMS]的基本功能测试
1、短消息的基本功能:是指短消息的编辑,删除,保存,收发,显示,以及各种按钮等功能的正常实现。
2、测试要求和执行:一般根据测试案例或软件本身的流程就可以完成短消息的基本功能测试。
(二).短消息的交叉事件测试
1、交叉测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题出现为Pass的标准。
2、测试要求和执行:干扰要恰到好处,准确,否则很难发掘出深层次的软件缺陷。
(三).短消息的压力性能测试
1、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。
2、测试要求和执行:可以考虑进行自动化测试
(四).短消息的容量性能测试
1、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。
2、测试要求和执行:可以考虑进行自动充满记忆体测试,要对不同品牌和不同容量大小的SIM/PIM卡进行测试
(五). 短消息的兼容性能测试
兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等;
三、手机性能测试的方法
手机性能测试的方法按照自动化程度不同可分为手工测试和自动测试。
手工测试主要是通过测试人员手动操作,并借助某些监测仪器和工具,来验证手机性能。但由于手机功能众多,并且性能测试工作量大,如果单个测试工程师靠手动按键来执行所有测试用例,花费的时间少则几小时,多则需要几天的时间,这样耗费大量测试时间的同时也容易让测试工程师产生疲倦甚至是厌倦心理,很容易造成测试的遗漏。手机测试中常碰到很多重复性高的工作,如发送数条 SMS 或者 MMS 以验证其收发成功率以及稳定性、连续进行多次呼叫、多次对文件系统进行添加删除操作、多任务多进程情况下的冲突测试以及极限测试等等,都是重复性高的工作,手动执行的话费时费力,如果能有一套自动执行的机制,将能大大提高测试的效率。
由此产生了对手机自动化测试工具的需求。手机这种板机的MMI功能测试不同于基于PC上的MMI测试,后者借助PC平台,目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如比较典型的有Winrunner, Robot, Loadrunner等等,但这些工具通常不能兼容到象手机这种嵌入式系统中来。这就要求测试人员能够基于当前平台进行二次开发,来满足自动化测试的需求。
手机的自动化性能测试一般分为以下几个步骤进行:
1. 系统分析
将系统的性能指标转化为性能测试的具体目标。通常在这一步骤里,要分析被测系统结构,结合性能指标,制定具体的性能测试实施方案。这要求测试人员对被测系统结构和实施业务的全面掌握。
2. 建立虚拟用户脚本
将业务流程转化为测试脚本,通常指的是虚拟用户脚本或虚拟用户。虚拟用户通过驱动一个真正的客户程序来模拟真实用户。在这一步骤里,要将各类被测业务流程从头至尾进行确认和记录,弄清这些过程可以帮助分析到每步操作的细节和时间,并能精确地转化为脚本。此过程类似制造一个能够模仿人的行为和动作的机器人过程。这个步骤非常重要,在这里将现实世界中的单个用户行为比较精确地转化为计算机程序语言。如果对现实世界的行为模仿失真,不能反映真实世界,性能测试的有效性和必要性也就失去了意义。
3. 根据用户性能指标创建测试场景
根据真实业务场景,对生成的测试脚本进行复制和控制,转化为满足性能测试指标的测试用例集。在这个步骤里,对脚本的执行制定规则和约束关系。具体涉及到对业务类型,并发时序等参数的设置。这好比是指挥脚本运行的司令部。这个步骤十分关键,往往需要结合用户性能指标进行细致地分析。
4. 运行测试场景,同步监测应用性能
在性能测试运行中,实时监测能让测试人员在测试过程中的任何时刻都可以了解应用程序的性能优劣。系统的每一部件都需要监测:协议栈,MMI应用程序,内存占用情况,驱动程序运行状态等。实时监测可以在测试执行中及早发现性能瓶颈。
5. 性能测试的结果分析和性能评价
结合测试结果数据,分析出系统性能行为表现的规律,并准确定位系统的性能瓶颈所在。在这个步骤里,可以利用数学手段对大批量数据进行计算和统计,使结果更加具有客观性。在性能测试中,需要注意的是,能够执行的性能测试方案并不一定是成功的,成败的关键在于其是否精确地对真实世界进行了模拟。
在整个性能测试过程中,自动化测试工具的选择只能影响性能测试执行的复杂程度,简便一些或繁杂一些;但人的分析和思考却会直接导致性能测试的成败。所以这里着重于对性能测试思路的整理。测试工具的介绍可以参看有关自动化测试工具的资料。
四、手机测试具体流程内容标准
目前,绝大多数国内定点的CDMA手机生产企业都选择采用SKD(sack knock down)散件组装的方式来生产手机,这是因为与OEM(orignal equipment manufacture)贴牌或CKD(completed knock down)的方式相比较,采用SKD方式具有投资少、见效快、技术风险低、项目启动快、容易组织规模生产、可在一定程度上降低成本、产品上市时间迅速的优势。
在SKD生产方式条件下,如何进行CDMA手机的测试和性能评估中,保证产品质量和测试速度,这是国内许多CDMA手机生产企业面临的一个技术问题。如何解决好该问题对于生产厂家来说具有重要的工程意义和现实意义。笔者现把一些经验和想法与同行作一交流。
1 SKD测试方案的指导思想
(1)满足相关的技术规范和测试标准
(2)具有足够的测试速度和精度
(3)在满足生产线产能要求的前提下,设备投入要经济,这包括购买CDMA手机综合测试仪、传输带设备、测试夹具、其他的测试设备,生产线统计管理设备等。
(4)拟购买测试仪器的技术指标、型号、规格、数据等项要求,既要能满足现阶段的综合要求、也要考虑到未来的可扩充性、可升级性、可维修性。
(5)尽量少占用公司的各类资源,包括人力、物力、财力、生产场地、空调、电力、压缩空气等。
(6)尽可能地充分利用现有的GSM手机生产线条件(若有的话)来对生产线进行改进、调整和优化,以进一步降低生产手机的成本。
2 CDMA手机功能测试项分类、测试规模和相关的标准
(1)RF收发信机指标测试(测试发射功率、发射频谱、接收灵敏度等等):测试标准为中华人民共和国通信行业标准YD/T1050-2000;美国TIAIS-98双模移动台最低性能标准;800MHzCDMA数字蜂窝移动通信网空中接口技术要求。
(2)音频指标测试:检查或测试发送音频灵敏度、振铃响度、受话器响度、失真度、侧音、免提功能等等。
(3)LCD和菜单功能的检查:看是否与说明书中所述内容相一致。
(4)各按键触觉和力度的检查。
(5)电池质量的检查:检查电池与主板的电气连接质量是否可靠,测量电池容量、输出电压、短路保护等指标。
(6)充电器质量检查:检查充电器与主板的电气连接质量是否可靠,测试输入特性、输出特性、充电特性、充电时来电、充电时去电、对地泄漏电流等指标。
(7)可靠性测试:通过对手机施加一定的外界环境应力(高温、低温、振动),来检查产品的可靠性指标。这一点很重要,它可以发现不少产品质量问题。测试标准为GB/T2423.8-1995:电工电子产品环境试验。
(8)在实际CDMA通信网络中的外场测试:该项测试需在不同的时间、不同的地点/地貌、与不同网络中的用户进行互连互通等环境条件下进行测试和检查。测试标准为CDMA(IS-95A)数字移动电话机进网检验实施细则2001年5月信息产业部。
(9)手机壳体质量的检查
(10)软件、MMI操作可靠性与稳定性检查。
(11)DC功耗指标:关机电流、待机电流、通话电流、待机时间的测试。