APP下载

浅谈手机软件测试的流程与策略

2010-08-24卢建军

制造业自动化 2010年15期
关键词:手机软件测试人员用例

卢建军,苏 宁

LU Jian-jun1, SU Ning2

(1.西安邮电学院 通信学院,西安 710061;2.西安科技大学 通信学院,西安 710054)

0 引 言

随着科技的进步,手机与我们的关系已经到了密不可分的地步,手机扮演着通讯工具、多媒体、网络等多方面的角色。同时,用户对手机软件的质量、性能也提出了更高的要求。在商业模式的驱动下,手机的开发周期不断的缩短,更要确保手机软件质量。产品的软件质量与手机厂商的切身利益、市场竞争力和信誉度息息相关[1]。目前我国的手机软件测试的发展还处于刚刚起步的阶段。国内的手机厂商对手机软件测试的理解不够,在软件测试上投入的精力不够,因此不能制定出详尽的手机软件测试流程及测试策略来完成手机的软件测试工作。本文针对这一现象结合作者的实际工作经验,对手机软件测试的流程和策略进行的初步的探讨。

1 手机软件测试流程

1.1 手机软件测试是迭代的过程

手机软件测试是一个迭代的循环往复的过程。事实证明,测试工作的早期介入,可提早发现错误,避免不必要的生产花费和资源投入,因此手机软件测试将会从开发初期开始伴随整个手机软件开发的生命周期。手机软件开发采用的是面向对象的开发方法,它的生命周期模型是迭代生命周期模型(Iterative Lifecycle Model)。

1.2 一个循环迭代

1.2.1 需求分析阶段

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

1.2.2 设计阶段

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

1.2.3 实现阶段

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

1.2.4 回顾阶段

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

1.3 循环迭代至系统稳定

在完成两到三个模块的迭代及单元测试以后,将开始集成测试。把各模块集成在一起时,测试它们是否正常运行。集成测试介于单元测试和系统测试之间,起到“桥梁作用”[3]。迭代次数增加,软件逐步成熟的时候,测试将转入系统测试。系统测试一般由独立测试人员执行,通常采用黑盒测试方式。粒度最大,主要测试系统是否符合“需求规格说明书”[4]。循环到当在一段时间内测试出来的缺陷稳定维持在一个较少的水平线上,且出现的问题足以忽略时,可认为系统已初步稳定,即交付验收测试[5]。

2 手机软件测试策略

2.1 测试用例设计、测试策略

在测试一款产品的时候编写的测试用例要紧扣需求上描述的基本功能,少量的涉及到使用频率较高的功能交互,不涉及界面布局等GUI元素。这样做的好处是测试用例没有跟某一款产品的关联太紧,支持在同一个系统平台衍生出不同的很多款手机,完成同一系列的用例可以完全或部分复用于整个平台的其他产品,从而减少劳动力,缩短开发周期,降低商业成本[6]。当然,不同的硬件产品一定要有不同的测试侧重点,由于硬件不同引起的问题不同的例子也不在少数。

设计的所有用例将形成一个测试用例库,在每个迭代开始的时候,测试组长都会选取一部分用例组成测试用例集进行测试,选取的用例通常分两部分:一部分是基本功能的用例,保证这次迭代的软件能够实现最基本的功能;还有一部分是上次迭代时发现错误比较多的模块,在开发人员修改以后做一次比较集中的回归测试。

2.2 交互测试策略

手机软件是一个比较复杂的系统,仅仅靠测试用例里针对基本功能的测试是远远不够的,用户经常会在不知情或有需要的情况下打开很多个应用程序,或正在运行某个应用程序的时候有其他的手机跟他进行交互,这就产生了交互测试。这部分测试主要是通过测试人员常年积累的测试经验和对错误的敏感度来发现错误的。

2.3 错误报告、追踪策略

在测试中发现问题固然重要,但是在发现之后编写错误报告同样不可忽视。一个好的错误报告可以引导开发人员找到问题根源,及时解决问题。编写错误报告时一定要做到客观,真实,详细。详细描述问题发生的环境,步骤,版本,重现率,等等,并且只做到客观的描述问题现象,不做任何没有根据的猜测,以免误导开发人员。在有能力的情况下,提供错误记录,协助开发人员重现问题,确定问题本质。

报告错误以后要定期追踪所报错误状态,与开发人员沟通,确定错误修改进程。若错误修正,及时在新版本上对错误进行回归测试。

2.4 灰盒测试策略

在白盒测试中交叉使用黑盒测试,在黑盒测试中交叉使用白盒测试的方法称为灰盒测试。灰盒测试就是介于白盒测试和黑盒测试之间的测试,最常见的灰盒测试是集成测试[7]。测试人员可以在既通过用户界面测试又了解软件功能的源代码程序怎样设计的情况下,有的放矢的进行某种确定的条件/功能测试[8,9]。

2.5 临界测试策略

当手机的某些可用资源达到或者超过理论允许的极大值时,在手机上继续进行某种操作时候的测试,此时手机的行为应该是友好的,可被用户接受的。

2.6 自动化测试策略

手机功能众多,回归测试工作量大,且测试中常碰到很多重复性高的工作,手动执行的话费时费力,也容易让测试人员产生疲倦甚至是厌倦心理,很容易造成测试的遗漏。如果能有一套自动执行的机制,将能大大提高测试的效率。

2.7 性能测试策略

性能测试主要测试手机的反应速度是否达到标准。它通过计算手机在完成一个操作所用的时间来衡量[10]。

3 手机软件自动化测试应用举例

3.1 自动化测试工具简介

手机软件自动化测试工具Brat是一个手机自动化测试的平台,它通过手机驱动端口连接手机与PC,由Tcl脚本语言搭载其中,完成测试化脚本的开发。Brat具有脚本可视化显示、控制脚本循环操作批量操作、判断测试用例是否通过和产生运行日志的功能。

3.2 例子

3.2.1 测试用例的编写、执行

如表1测试用例。

表1 测试用例

3.2.2 测试结果

Brat运行完发送短信500遍以后的结果如图1所示,可见测试Pass。Brat还可提供运行的日志记录,以便在运行Fail的时候查找问题原因。

图1 自动化用例执行结果

4 结论

本文通过对在实际工作中总结的手机软件测试的流程和策略的探讨,给予我国手机软件测试流程和策略一定的参考,说明了规范流程和拓展策略的重要性。并采用自动化测试方法进行了实测应用,实践证明基于自动化测试工具的平台,搭载开发的测试脚本,并结合一定的测试经验进行的自动化测试,完全可以达到软件压力测试标准,保证压力测试质量,缩短测试周期,提高测试效率。

[1] 秦烨,康伟,韩佳.浅谈黑盒测试技术在手机软件测试中的应用[J].今日科苑, 2008.

[2] 赵会群.通信软件测试技术基础[M].人民邮电出版社,2004.

[3] 丰彦.软件测试的系统测试方法[J].引进与咨询,2005.

[4] Grenford J.Myers The Art of Software Testing[M].机械工业出版社,2005.

[5] 林宁,孟庆余.软件测试实用指南[M].清华大学出版社,2004.

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

[7] 古乐,史九林.软件测试技术概论[M].清华大学出版社,2004.

[8] 路金良.手机软件开发的质量控制[J].中国科技信息,2009.

[9] 叶振宇.智能手机软件开发中的质量控制策略[J].绍兴文理学院学报,2005.

[10] William E.Perry Effective Methods for Software Testing[M].清华大学出版社,2008.

猜你喜欢

手机软件测试人员用例
UML用例间包含关系与泛化关系的比较与分析
UML用例模型中依赖关系的比较与分析
告诉你猫开不开心的手机软件
浅析手机软件侵害个人信息的合同法保护
联锁软件详细设计的测试需求分析和用例编写
從出土文獻用例看王氏父子校讀古書的得失
软件测试误区分析
浅析软件测试中的心理学应用
学习类手机软件岂能“藏污纳垢”
业务员手机软件如何用 更能提升效率