手机软件测试的研究

手机软件测试的研究

  

引言 

目前,关于软件测试的研究很多,但是关于手机软件的测试研究却很少,也很散,特别是基于一个项目的完整的测试过程的研究,这是由于手机平台的特殊性导致的。而国内的市场上还没有全面自动化的测试工具来支持手机的功能测试。纷繁复杂的功能测试大多只能通过文本化测试用例的指导,由测试员手工来完成。手机这种板机的MMI(Man-Machine Interface,人一机界面)功能测试不同于基于PC上的MMI测试,后者可借助PC平台。目前市场上已有非常多功能强大且通用的自动测试工具支持其测试,如Winrunner, Robot, Loadrunner等等,但这些工具通常不能兼容到像手机这种嵌入式系统中来。所以如何做到更详尽、更周密的手机软件测试以保证质量,必然是今后的研究方向。

 

以下是我为这个研究所提出的三个基本问题:

1.什么是手机软件测试?

手机软件测试是一种比较特殊的软件测试,软件经过分析,设计,编码后只有烧入硬件环境中才可以看见。手机软件测试的目的与普通软件测试是相同的,都是为了发现软件缺陷,而后修正缺陷以提高软件质量。手机系统安全性的失效可能会导致灾难性的后果,即使非安全性失效,也可能导致较大的经济损失。因此,手机软件相对于其他的普通软件来说,对可靠性的要求比普通软件高。这就要求对手机软件进行严格的测试、确认和验证,以提高产品的可靠性。

手机软件测试与普通软件测试相比,有其自身的特点[1]:

(1).手机软件测试是在特定的硬件环境下才能运行的软件。

(2).手机软件测试除了要保证其软件在特定环境下运行的高可靠性,还要保证软件系统的实时性。

(3).手机软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏等情况发生,因此除了对软件进行性能测试、GUI测试、覆盖分析测试是同普通软件测试一样都不可或缺之外,还要对内存进行测试。

(4).手机产品不同于一般软件产品,在手机软件和硬件集成测试完成之后,并不代表测试全部完成,在第一件产品生产出来之后,还需对其进行产品测试。

    顺便介绍一下常见的测试用例分类[2]:

(1).基本功能测试

    基本功能是指手机软件向手机用户提供的最小的、可以进行的所有简单操作的集合。对基本功能的测试是指测试工程师在被测试的手机上进行实际操作,来验证操作是否可行,操作的结果是否满足设计的要求,如果不满足,就要报告错误,由开发者来改正错误。

具体的操作例如:接一个电话,打一个电话,发送一条普通短信,接收一条普通短信,发送一条彩信,接收一条彩信,播放一首静态音乐文件(mp3),播放一段视频文件,照一张像片,录制一段录像,接收电子邮件,用浏览器上网浏览网页,设置一个闹钟,使用计算器,通过蓝牙接收数据,等等。

(2).交互测试

    所谓交互测试是指当手机不同的两个或者多个功能之间有交互的时候,对手机所应

该处的状态或者行为进行测试,被测手机的状态或者行为应该与需求设计中的要求相一致。如果有错误,同样应该由开发人员来进行改正。

    具体的操作例如:打电话时接收短信息,看短信内容时候进来一个电话,听音乐时候浏览新短信,听音乐时候来一个电话,上网浏览时进来一个电话,接电话时候闹钟报警,等等

(3).临界测试

    所谓的临界测试是指当手机的某些可用资源达到或者超过理沦允许的极大值时,在手机上继续进行某种操作时候的测试。此时手机的行为应该是友好的,可被使用者接收的,应该与需求分析的要求相符合。

    具体的操作例如:内存满时候拨打电话,内存满时候启动浏览器,内存满时候启动音乐播放器,数据库满时候拨打电话,数据库满时候启动浏览器,数据库满时候启动音乐播放器,地址本满时候继续添加记录,短信收件箱满时候继续收新短信,等等。

(4).压力测试

    压力测试一般是指在比较短的一段时间内,被测手机执行比较多的任务或者操作,来检测被测手机承受压力的能力。

    具体的操作例如:在短时间内发送大量的短信,同时并接收大量的短信,发送和接

收的数量都在50条以上短信的群发(包括超长短信),查看接收和发送的成功率,接通一个电话并且保持很长一段时间(大于10个小时),等等。

我简单的理解为,手机软件测试的工作就是测试软件可以在手机上正常使用,不会产生各种异常情况!

 

2.为什么要做手机软件测试

就我看来,手机行业在最近几年可谓发展迅速,以苹果、三星、诺基亚、HTC等为代表的手机生产厂商竞争接近白热化。手机软件作为手机中一个关键部分也越来越受到各大生产厂商的注意。一款优秀的手机软件可以给用户留下深刻的印象,从而加强用户对此品牌的重视。但完成一款优秀的手机软件不是一件容易的事情,从对市场的需求分析、制定计划再到最后的研发与测试都要经历一个复杂的过程,在此过程中任何一环出问题都会给最终发布的产品带来严重的后果。在整个开发过程中,手机软件测试的重要性甚至要高于手机软件研发。所以测试的成功与否,测试的覆盖性好坏与测试质量的高低直接关系到手机软件的可用性,友好性,可靠性。这也直接影响到产品能否如期上市,关系到手机厂商的切身利益与长期的市场竞争力。所以我们得做好手机软件测试。

 

3.如何做手机软件测试

这个问题就比较重要了,我主要讲讲现在手机软件测试的流程和一些需要的测试工具。

首先,我们需要一个手机软件测试平台[3],它与PC平台是不同的,是一个软件工作空间,具有高效率、低成本等特性,在大大缩短手机软件测试周期,提升手机软件品质的同时,进一步发挥了虚拟化优势,减少物理工作站的数量和降低客户的IT系统能耗、提高了空间的使用率。按照国际手机软件测试平台的标准设计要求,该软件测试平台要确保整个测试流程能顺利完成。例如,有一个手机软件测试平台叫Brat,是一个手机自动化测试的平台,它通过手机驱动端口连接手机与PC,由Tcl 脚本语言搭载其中,完成测试化脚本的开发。Brat具有脚本可视化显示、控制脚本循环操作批量操作、判断测试用例是否通过和产生运行日志的功能。除此之外,还有一些自动测试化工具[4]。众所周知,嵌入式系统软件的测试是最为困难的。因为,它的开发是用交叉编译方式进行的。在目标机(Target)上,不可能有多余的空间记录测试的信息。必须是实时地将测试信息通过网线/串口传到宿主机(Host)上,并实时在线地显示。因此,对源代码的插装和目标机上的信息收集与回传成为问题的关键。目前国外市面上常用的工具之一:LOGISCOPE很好地解决了上面的问题,成为嵌入式领域测试工具的佼佼者。在分析手机软件测试的流程之前,先简要介绍一下LOGISCOPE,以便对嵌入式系统的自动化测试工具有个概念和对比。

   LOGISCOPE是一组嵌入式软件测试工具集。它可以支持各种实时操作系统(RTOS)上的应用程序的测试,也支持逻辑系统的测试;LOGISCOPE可以提供VxWorks, Psos, VRTX实时操作系统的测试库;它贯穿于软件开发、代码评审、单元/集成测试、系统测试以及软件维护阶段;LOGISCOPE的重点是帮助代码评审和动态覆盖测试;它可以从软件的编程规则、静态特征和动态测试覆盖等多方面来量化地定义质量模型,并检查、评估软件质量。

接着,我讲一下流程,主要参考了一些前面一些大牛的想法。由于手机软件测试是一个迭代的循环往复的过程,所以测试工作的越早介入,可提前发现错误。然而,在如今的手机供应商,手机经销商手机项目越来越多的情况下,要做到测试工作的尽早的介入,前提条件是需要在手机软件功能已经完成了开发的基础上,如果开发人员还没有完成模块的开发就开始相应的测试,对于测试人力资源无疑是以一种浪费,严重的将影响其他项目的测试工作。它主要分为以下几个阶段[5]

(1).需求分析阶段

    测试人员与设计人员一起参加需求调研,编写软件质量需求,制定测试计划,尽早发现软件设计上存在的缺陷和任务书上不合逻辑的地方。

(2).设计阶段

    与设计人员一起参加软件结构设计和详细设计,熟悉设计方案,制定测试方案。

(3).实现阶段

    即是软件编码与单元模块测试阶段,对于手机测试而言,每个功能模块即是软件测试的最小单位划分,测试人员编写测试用例对某一功能模块进行测试。

(4).回顾阶段

开发人员同测试人员一起对该阶段软件进行评估,回顾软件需求、改变或增加新的需求说明。自此,一个开发测试迭代完成。

当然,对于手机的软件测试,除了相应的工具、流程与执行外,还是远远不够的,在实际的过程中,我们经常会发现,由于缺少对于项目阶段性的review以及及时的跟踪控制,在项目后期会发现非常多的不可预计的问题,而这样的问题常常最后造成项目的delay。所以,我们还需要对具体的项目进行相应的改进[6],大体如下:

(1).在项目测试前期,对于手机软件测试项目计划以及测试策略有更好的规划,对于后期实际测试阶段的可操作性更强。

(2).在项目的过程中,对于各个里程碑阶段的review,能够随时把握当前项目的状态以及与测试计划的差距,并做出及时的调整,以减小项目风险。

(3).使项目各阶段各个状态都在可监控的情况下,减小了项目延迟的风险,对于抢占市场先机也是有很重大的意义。

    以上便是我借鉴了前人的经验和做法之后,对如何做手机软件测试的认识和看法。

 

总结和展望

    主要是我个人看法,虽然有些国产手机制造企业在手机软件开发方面下了很大的力气,但从整体来看,大多数的民族企业在手机研发过程中,注意力多集中在手机产品的款式与外形设计上,对于手机软件的研发与测试方而山于种种原因并未给子足够的重视,这也是国产手机无法打开国际市场,真正走向世界的一个主要原因。而对快速发展的信息技术,欧美等发达国家的手机制造企业已经通过提升产品的品质而拥有更多的市场份额时,我们小仅要反思:什么才是手机制造企业真正的核心竞争力。毫无疑问,答案是手机软件。所以,加大国产手机软件的科研开发力度,设计一个安全、有效地手机软件测试平台从而实现对手机软件的方便有效地测试,进一步提升手机软件的技术水平和可靠性具有非常重要的现实意义。

 

 

参考文献

[1]&[6].蔡慕宜,《手机软件测试研究与实践》,复旦大学,2012

[2].刘海鹏,《手机软件测试简介》,科技咨询导报,2007

[3].徐楠,《浅议手机软件测试平台的设计意义》,网友世界,2014

[4].林璇,《手机软件的测试过程研究》,同济大学,2010

[5].卢建军,苏宁,《浅谈手机软件测试的流程与策略》,制造业自动化,2010

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值