终端的性能测试分析(2)

发表于:2015-12-08来源:uml.org.cn作者:不详点击数: 标签:性能测试分析
2. 次数相关。 次数相关的性能测试是测试终端重复稳定地进行某项功能的能力。包括开关机成功率、小区初搜成功率、小区重选成功率、CS域业务成功率、

  2. 次数相关。

  次数相关的性能测试是测试终端重复稳定地进行某项功能的能力。包括开关机成功率、小区初搜成功率、小区重选成功率、CS域业务成功率、PS域业务成功率、组合业务成功率、切换成功率、本地应用的成功率等。这种重复操作包括很多对象被多次创建和释放,因此可能会发现潜在的内存泄漏等问题。开关机成功率测试,主要是检验多次开机是否会有物理层不能正确收到初搜命令的情况,关机不完全也可能会导致下一次开机失败,以及在某些情况下系统死机后只能通过插拔电池板来重新开机。CS域业务成功率的测试,是指通过进行一定次数的主叫或者被叫,统计失败的次数,对失败原因进行归类,分析是否能够找到和终端相关的失败原因。PS域业务成功率、组合业务成功率、切换成功率的测试方法也类似。本地应用的成功率包括多次存储再删除文件、联系人、短信等操作,以及多次打开某个应用或执行某类操作来对该应用的稳定性进行测试,找出瓶颈。

  3. 并发业务。

  并发测试主要是测试终端同时进行多项业务时表现出的处理能力。例如同时进行CS域语音业务和PS域下载业务,或者在MP3播放的同时进行WWW上网业务,以测试协议栈、操作系统和处理器对并发业务的支持能力。

  4. 负载测试。

  负载测试主要是验证系统的负载工作能力。系统配置不变的条件下,在一定时间内,终端在高负载情况下的性能行为表现。例如同时进行多个ftp下载,使下行传输率接近极限值,观察终端是否可以正常工作。

  二、手机性能测试的方法

  手机性能测试的方法按照自动化程度不同可分为手工测试和自动测试。

  手工测试主要是通过测试人员手动操作,并借助某些监测仪器和工具,来验证手机性能。但由于手机功能众多,并且性能测试工作量大,如果单个测试工程师靠手动按键来执行所有测试用例,花费的时间少则几小时,多则需要几天的时间,这样耗费大量测试时间的同时也容易让测试工程师产生疲倦甚至是厌倦心理,很容易造成测试的遗漏。手机测试中常碰到很多重复性高的工作,如发送数条 SMS 或者 MMS 以验证其收发成功率以及稳定性、连续进行多次呼叫、多次对文件系统进行添加删除操作、多任务多进程情况下的冲突测试以及极限测试等等,都是重复性高的工作,手动执行的话费时费力,如果能有一套自动执行的机制,将能大大提高测试的效率。

  由此产生了对手机自动化测试工具的需求。手机这种板机的MMI功能测试不同于基于PC上的MMI测试,后者借助PC平台,目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如比较典型的有Winrunner, Robot, Loadrunner等等,但这些工具通常不能兼容到象手机这种嵌入式系统中来。这就要求测试人员能够基于当前平台进行二次开发,来满足自动化测试的需求。

  手机的自动化性能测试一般分为以下几个步骤进行:

  1. 系统分析

  将系统的性能指标转化为性能测试的具体目标。通常在这一步骤里,要分析被测系统结构,结合性能指标,制定具体的性能测试实施方案。这要求测试人员对被测系统结构和实施业务的全面掌握。

  2. 建立虚拟用户脚本

  将业务流程转化为测试脚本,通常指的是虚拟用户脚本或虚拟用户。虚拟用户通过驱动一个真正的客户程序来模拟真实用户。在这一步骤里,要将各类被测业务流程从头至尾进行确认和记录,弄清这些过程可以帮助分析到每步操作的细节和时间,并能精确地转化为脚本。此过程类似制造一个能够模仿人的行为和动作的机器人过程。这个步骤非常重要,在这里将现实世界中的单个用户行为比较精确地转化为计算机程序语言。如果对现实世界的行为模仿失真,不能反映真实世界,性能测试的有效性和必要性也就失去了意义。

  3. 根据用户性能指标创建测试场景

  根据真实业务场景,对生成的测试脚本进行复制和控制,转化为满足性能测试指标的测试用例集。在这个步骤里,对脚本的执行制定规则和约束关系。具体涉及到对业务类型,并发时序等参数的设置。这好比是指挥脚本运行的司令部。这个步骤十分关键,往往需要结合用户性能指标进行细致地分析。

  4. 运行测试场景,同步监测应用性能

  在性能测试运行中,实时监测能让测试人员在测试过程中的任何时刻都可以了解应用程序的性能优劣。系统的每一部件都需要监测:协议栈,MMI应用程序,内存占用情况,驱动程序运行状态等。实时监测可以在测试执行中及早发现性能瓶颈。

原文转自:http://www.uml.org.cn/Test/200605173.htm