手机软件测试中的MMI测试.docx
《手机软件测试中的MMI测试.docx》由会员分享,可在线阅读,更多相关《手机软件测试中的MMI测试.docx(46页珍藏版)》请在冰豆网上搜索。
手机软件测试中的MMI测试
软件测试中的MMI测试
摘要
当前我国的软件测试技术从总体上说属于刚刚起步的阶段,近几年正处于快速起步的过程,但是同发达国家的差距还是很大的,从而软件测试技术我国行业中面临着更加激烈的竞争和挑战。
本文主要围绕MMI测试的各个方面来介绍测试技术,并从实际应用的角度出发,以智能终端和2G、3G业务规划为基础,系统地介绍了软件测试的各个方面,尤其是的MMI测试,是本文讨论的重中之重。
文章中系统地介绍了MMI测试在整个软件测试中的地位和作用,并通过本人的实际项目来介绍MMI测试,以及在实际项目中的测试经验和测试技术。
文章的侧重点则是MMI测试的测试用例的编写,并且举例介绍具体的测试用例的编写细节和常用方法,也包括具体测试故障(Bug)的提交等方法。
关键字人机界面;终端;测试用例;
TheMMITestInMobileTestTechnology
Abstract
Currently,generallyspeaking,China’sMobilephonesoftwaretestingtechniquesarejustatthebeginningstages.Inrecentyears,ithasenjoyedrapidgrowth.Butcomparedwiththedevelopedcountries,westillhavealongwaytogo.Mobilephoneindustryisfacedwithfiercecompetitionsandchallenges.Fromtheperspectiveofpracticalapplication,andwiththeintelligentterminalsand2G,3Gmobilephonebusinessplanningasthefoundation,especiallytheMMItest.ThispassagewillsystematicallyintroducethetestingtechnologyaroundallaspectsofMMItest.TogetherwithMyexperiencefromactualproject,itpointsoutthestatusandroleofMMItestintheprocessofMobilephonesoftwaretesting.TheemphasisofthepassageisthecompileoftheexamplesoftheMMItest,andgivesexamplesofwritingdetailsandcommonmethods,includingsubmissionofthespecifictestfailure(Bug)
KeywordsMMI;MobileStation;TestCase
1绪论
近几年来,随着产业在世界范围内向中国大陆的转移,我国已逐步成为全球最大的制造基地和最大的出口基地。
2008年中国的产量、内销量和外销量继续延续两位数的增长势头,产业规模持续扩大。
2008年上半年中国市场生产量达到亿部,与2007年同期相比实现了%的增长,继续维持良好的发展势头,国内与出口两个市场双重驱动了中国制造规模再创新高。
2009年1月7日,工业和信息化部为中国移动、中国电信和中国联通三家公司发放了第三代移动通信(3G)牌照,标志着我国已经正式进入3G时代。
与前两代系统相比,3G系统的主要特征是提供丰富多彩的移动多媒体业务,提供更大的系统容量、更好的通信质量,而且在全球范围内更好地实现无缝漫游及为用户提供包括话音、数据及多媒体等在内的多种业务。
在市场和用户潜在需求的推动下,相关技术的发展日新月异,技术、应用已经成为3G产品的关键词,介绍各种设计实现技术的出版物也如雨后春笋般地不断涌现。
当3G兴起时PC软件在人们的心中占据大头已经多年,先入为主的优势很难被扭转过来,当然也不能排除软件后来居上的可能。
个人认为,无论智能终端发展有多么强大终究不能取代PC在办公方面的优势,软件大多挑战的只是娱乐、生活资讯方面一块。
软件开发商们大多是一些诸如苹果、谷歌、中国移动应用商店的第三方公司,利润上的限制也导致了软件很难做大做强,至少目前是这种情形。
依上所述,当软件还处于大规模化的前期阶段,目前的测试技术只是属于低端级别的手工操作,很少有公司能自己单独开发出自动测试工具进行功能和性能的测试,而且软件“上线”不是一个简单的网络技术问题,移动运营商们在这个网络中支配和垄断地位是导致软件公司低利润化的罪魁祸首。
但是测试环节在软件的开发过程中起着“中枢神经”的作用,它伴随在整个软件开发的各个阶段中,测试的成功与否,测试覆盖性的好坏和测试质量的高低直接关系到软件的可用性、友好性、可靠性,也直接影响到产品能否如期上市,关系到厂商的切身利益与长期的市场竞争力。
在软件测试中最重要的就是MMI(ManMachineInterface)测试,主要依靠UserManual所描述的情况来测试、编写测试用例和提交Bug。
本文着重介绍的就是MMI测试,下文会做详细的介绍。
2软件测试简介
的发展
1)无线步话机
二战前,美国军方已经认识到无线电通信的重要性,开始研制便携式无线通信工具,并且自己研制出一款报话机(WalkieTalkie)SCR-194。
但是非常笨重,不很适用。
1940年,摩托罗拉研制出真正用于战场的报话机SCR300,它是一个可调谐的高频调频通信设备,重十六公斤,有效通讯距离十六公里左右,被美军广泛应用于通信。
1942年,摩托罗拉公司再接再厉,研制出“手提式”的对讲机(HandyTalkie)SCR-536。
这个超级“大哥大”重四公斤,在开阔地带通信范围一公里半,在树林中只有三百米。
从这一系列军用设备可以看出,摩托罗拉在无线电通信方面的实力很强,它的调频技术和天线技术都是领先于世界的。
2)蜂窝网络概念
蜂窝通信概念最早是由贝尔实验室在20世纪70年代提出,它是一种使用频率复用的智能方法,以使有限的带宽可以容纳巨大数量的用户。
无线蜂窝系统在传输中使用大量低功率的基站,每个基站只覆盖有限的区域。
用这种方式,每次建立一个新基站时,容量就会增加,因为同样的频谱在指定的区域内可以被复用几次。
蜂窝的基本原理是把覆盖区域分为大量相连的小区域,每个小区域都使用自己的无线基站。
对这些小区域以智能的方式分配信道,这样可以减小干扰、提供充分的性能以满足这些区域的通信量。
3)1G
1973年,摩托罗拉(Motorola)第一个向公众展示了可行的便携式原形。
第一个研制成功并提供一微处理器为核心的,为未来的蜂窝树立了标准。
第一个实用世界上第一个实用诞生于1973年美国纽约。
当时它引起世界轰动,因为它实现了人类进行无线通讯的梦想。
它的体积大,重公斤,是名副其实的“大哥大”。
不过在当时,它是一种身份的象征。
4)2G
◆GSM
1982年,北欧国家向CEPT(欧洲邮电行政大会)提交了一份建议书,要求制定900MHz频段的公共欧洲电信业务规范。
在这次大会上就成立了一个在欧洲电信标准学会(ETSI)技术委员会下的“移动特别小组(GroupSpecialMobile)”,简称“GSM”,来制定有关的标准和建议书。
目前的GSM也指,GlobeSystemforMobileCommunications。
GSM系列主要有GSM900、DCS1800和PCS1900三部分,三者之间的主要区别是工作频段的差异。
早期来看,GSM900发展的时间较早,使用的较多,反之GSM1800发展的时间较晚。
物理特性方面,前者频谱较低,波长较长,穿透力较差,但传送的距离较远,而发射功率较强,耗电量较大,因此待机时间较短;而后者的频谱较高,波长较短,穿透力佳。
但传送的距离短,其的发射功率较小,待机时间则相应地较长。
◆CDMA
CDMA技术的出现源自于人类对更高质量无线通信的需求。
第二次世界大战期间因战争的需要而研究开发出CDMA技术,其思想初衷是防止敌方对己方通讯的干扰,在战争期间广泛应用于军事抗干扰通信,后来由美国高通公司更新成为商用蜂窝电信技术。
1995年,第一个CDMA商用系统(被称为IS-95)运行之后,CDMA技术理论上的诸多优势在实践中得到了检验,从而在北美、南美和亚洲等地得到了迅速推广和应用。
全球许多国家和地区,包括中国大陆、中国香港、韩国、日本、美国都已建有CDMA商用网络。
在美国和日本,CDMA成为国内的主要移动通信技术。
在美国,10个移动通信运营公司中有7家选用CDMA。
到2006年4月,韩国有60%的人口成为CDMA用户。
在澳大利亚主办的第27届奥运会中,CDMA技术更是发挥了重要作用。
中国联通于2002年1月8日正式开通了CDMA网络并投入商用,2008年10月1日后转由中国电信经营,号段为133、153、189及尚未放号的180号段。
5)铱星计划
Motorola公司,由于在一代的极大成功,野心被极大的膨胀起来,于是提出了铱星计划。
铱星解决方案——由77颗近地卫星组成的星群,让用户从世界上任何地方都可以打。
由于金属元素铱有77个电子,这项计划就被称为了铱星计划,虽然后来卫星的总数降到了66个。
铱星计划是摩托罗拉技术高超的显示,具有巨大潜力,令人振奋,决不可放弃。
对于摩托罗拉的工程师们来说,建立铱星群的挑战是一次经典的“技术拉锯战”——50多亿美元的代价终于让他们在1998年将铱星首次投入使用。
1998年11月1日,在进行了耗资1.8亿美元的广告宣传之后铱星公司展开了它的通信卫星服务。
开幕式上,副总统阿尔•戈尔用铱星打了第一通。
机的价格是每部3,000美元,每分钟话费3-8美元。
结果却令人不无沮丧。
到1999年4月,公司还只有1万个用户。
面对着微乎其微的收入和每月四千万美元的贷款利息,公司陷入了巨大的压力之中。
2000年3月18日,铱星公司正式破产。
铱星成了美丽的流星。
66颗卫星在天上自己飞了几年,终于于2001年被一家私募基金公司(PrivateEquity)以两千五百万美元的低价买下。
铱星计划是通信史上一个流星,一个美丽的故事。
6)3G
◆3G标准
●W-CDMA
也称为WCDMA,全称为WidebandCDMA,也称为CDMADirect
Spread,意为宽频分码多重存取,这是基于GSM网发展出来的3G技术规范。
●CDMA2000
CDMA2000是由窄带CDMA(CDMAIS95)技术发展而来的宽带CDMA技术,也称为CDMAMulti-Carrier,它是由美国高通北美公司为主导提出,摩托罗拉、Lucent和后来加入的韩国三星都有参与,韩国现在成为该标准的主导者。
●TD-SCDMA
全称为TimeDivision-SynchronousCDMA(时分同步CDMA),该标准是由中国大陆独自制定的3G标准。
●WiMAX
WiMAX的全名是微波存取全球互通(WorldwideInteroperabilityforMicrowaveAccess),又称为802·16无线城域网,是又一种为企业和家庭用户提供“最后一英里”的宽带无线连接方案。
◆3G在中国的推广
1)2000年5月,国际电信联盟正式公布第三代移动通信标准,我国提交的TD-SCDMA正式成为国际标准,与欧洲WCDMA、美国CDMA2000成为3G时代最主流的三大技术之一。
2)2008年5月24日,工业和信息化部、国家发改委、财政部联合发布《关于深化电信体制改革的通告》,鼓励中国电信收购中国联通(600050,股吧)CDMA网(包括资产和用户),中国联通与中国网通合并,中国网通的基础电信业务并入中国联通,中国铁通并入中国移动,国内电信运营商由6家变为3家。
3)2008年7月29日,中国电信集团宣布未来三年投资800亿元发展CDMA业务,并提出在三年内把CDMA用户数由目前约4300万增至1亿,届时在中国移动通信市场的占有率将达15%。
4)2008年10月1日,中国电信开始与中国联通进行C网交割,并于60天内完成。
2008年10月15日,新联通公司正式成立,此次电信重组改革在资本市场层面的工作全部结束。
5)2008年12月22日,中国电信发布移动业务品牌"天翼",189号段在部分省市投入试商用,全面转型为全业务运营商。
6)2008年12月31日,国务院常务会议通过决议,同意启动3G牌照发放工作。
7)根据电信业重组方案,3G牌照的发放方式是:
新中国移动获得TD-SCDMA牌照,新中国电信获得CDMA2000牌照,中国联通获得WCDMA牌照。
7)4G
4G是第四代移动通信及其技术的简称,是集3G与WLAN于一体并能够传输高质量视频图像以及图像传输质量与高清晰度电视不相上下的技术产品。
4G系统能够以100Mbps的速度下载,比拨号上网快2000倍,上传的速度也能达到20Mbps,并能够满足几乎所有用户对于无线服务的要求。
而在用户最为关注的价格方面,4G与固定宽带网络在价格方面不相上下,而且计费方式更加灵活机动,用户完全可以根据自身的需求确定所需的服务。
此外,4G可以在DSL和有线电视调制解调器没有覆盖的地方部署,然后再扩展到整个地区。
很明显,4G有着不可比拟的优越性。
正当长期演进技术Long-TermEvolution(LTE)和WiMax在全球电信业大力推进时,前者(LTE)也是最强大的4G移动通讯主导技术,正异军突起,迅速占领中国市场。
虽然Qualcomm和Yota两家公司的TD-LTE尚未成熟,但很多国内外的无线运营公司都相继转向TD-LTE。
主要开发平台
1)2G/2.5G–GSM/GPRS
主要有MTK,Infineon,Mstar,展讯
2)3G-TD-SCDMA
主要有展讯,联芯,T3G,重邮
3)3G-CDMA2000/WCDMA
主要有Qualcom,
2.2测试
测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等。
硬件测试一般都有严格的物理电气指标,也有专门的仪器。
测试,一般是指软件测试,这个一方面也说明了软件在上的重要性。
一方面也说明测试的难度。
因为其它的软件测试都有明确的指标,严格的操作规程,还有各种仪器。
在说明软件测试之前,我觉得应该简单介绍一下什么是嵌入式操作系统,这是个时髦的名词,虽然我们已经被嵌入式操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,简单的说,一个嵌入式操作系统就是为完成某中特定功能而专门开发的操作系统。
这个操作系统的功能很明确,不像大型操作系统,范围广泛,大千世界,尽在其中,而嵌入式操作系统只为完成某一项或者几项功能。
2.3软件测试
1.软件测试的内容
软件测试就是在软件投入运行前,对软件需求分析、概要设计规格说明和详细编码设计的最终复审,是软件质量保证的关键步骤。
软件测试是为了发现错误而执行程序的过程。
软件测试在软件生存期中横跨两个阶段:
通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。
编码和单元测试属于软件生存期中的同一个阶段。
在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,即测试阶段。
(图1是软件测试生命周期的相关模型)
图1:
软件测试生命周期
2.软件测试的目的
1)为了寻找错误,并尽可能地为修正错误提供更多的信息
2)为了证明软件有错误,而不证明软件没有错误
3.软件测试的作用
1)发现并管理缺陷
2)度量质量
●评价工作效率和效果
●预期项目风险
4.衡量标准
1)多
●能够找到尽可能多的、以至于所有的BUG
2)快
●能够尽可能早地发现最严重的BUG
3)好
●找到的BUG是关键的、用户最关心的
●找到BUG后能够重现找到的BUG,并为修正BUG提供尽可能多的信息
4)省
●能够用最少的时间、人力和资源发现BUG
●测试的过程和数据可以重用
5.发展方向
1)验证技术
●形式化数学方法,用于关键应用小程序
2)静态测试
●WALKTHROUGH/INSPECTION/REVIEW
●走查/审查/评审
3)动态测试
●选择测试策略
●设计测试方式和测试用例
●执行测试并评估和跟踪测试结果
4)自动测试
●测试管理和测试执行中都有可以自动测试的地方
●选择需要自动测试的地方
●注重ROI
6.原则
1)测试应该基于用户需求。
2)测试设计是关键
●测试时间和资源是有限的
●测试到所有情况是不可能的
●避免冗余的测试
3)应该尽早开始测试
●尽早制定测试计划
●测试从模块级开始
7.软件测试分类
软件测试主要包含MMI,FT,UT三方面,验证目的略有不同:
1)MMI测试重点在于软件功能方面之测试,确保软件各项功能达到产品设计之规格要求。
2)FT测试主要关注产品通信协议方面是否达到设计要求,确保产品在不同网络条件下正常工作。
3)UT测试是面向终端用户使用之全面验证。
(图2是软件测试重要性截图)
图2:
软件测试重要性截图
3MMI测试
3.1MMI测试简介
1)相关的名词解释:
●TA:
TypeApproval,产品型号认证
●MP:
MassProduction,量产
●MPA:
MassProductionApproval,试产
●QA:
QualityAssurance,品保
●ReleaseNotes:
R&D发布新版软件时需提供的说明档,须包含本版软件所有修改项目及使用描述
●MMI:
ManMachineInterface,人机接口,即通常所指的软件接口
●Protocol:
底层协议,由底层厂商发行新Protocol,R&D整合进新的软件版本
●TestCase:
测试用例
●GPRS:
GeneralPackageRadioService,通用无线分组业务
●CDMA:
CodeDivisionMultipleAccess,码分多址
●SW:
Software,软件
●HW:
Hardware,硬件
●SMS:
ShortMessageService,短消息业务
●EMS:
EnhanceMessageService,增强型消息业务
●MMS:
MultimediaMessageService,多媒体信息业务
2)MMI测试的目的:
测试被测机在各种操作下是否符合UserManual所描述,并且通过测试发现软件中隐藏的错误和缺陷,确保软件各项功能达到产品设计之规格要求。
3.2MMI测试时机
MMI测试尽早开始执行,及早发现产品隐藏缺陷或错误,以确保所发现的问题有充足的解决时间;从R&D发行第一版软件后,QA的MMI测试会一直持续进行,直到产品量产,无任何回馈问题及变更。
(图3是软件测试时机表)
图3:
测试时机表
3.3MMI测试流程
3.3.1编写测试用例
1)Testcase目的
◆测试用例是为了考察程序路径或验证是否符合需求而设计的测试数据及相关的测试规程的一个特定集合,称为有效发现软件缺陷的最小测试执行单元。
◆测试用例在测试中具有重要的作用,是为了实现测试有效性的常用工具。
2)测试用例设计标准
设计测试用例需包含如下元素:
●用例编号------每个用例ID唯
●测试项目------本用例测试重点
●测试条件------前提条件
●输入步骤------输入详细步骤
●期望结果------期望输出结果
3)黑盒测试用例设计方法
◆等价类划分:
等价类的划分有两种不同的情况,在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
●有效等价类:
是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。
●无效等价类:
是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。
◆边界值:
边界值测试法是一种补充等价划分的测试用例设计技术,实践证明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常常可以取得良好的测试效果。
●边界值设计测试遵循的五条原则,分别是:
a)如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围边界外的值作为测试用例。
如以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值;
b)若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测试用例;
c)针对每个输出条件使用上述1、2条原则;
d)如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用例;
e)分析规格说明,找出其他的可能边界条件。
◆错误推测:
●错误推测就是靠经验和直觉来推测程序种可能存在的各种错误,从而有针对性的编写测试用列。
●错误推测法的基本想法是:
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。
●测试中执行的并发交叉测试也遵循了错误推测法的原则。
◆因果图
◆状态转移
4)测试用例执行与反馈
◆测试过程中严格执行每项TC,并针对测试结果做记录,以便后续追溯查询。
◆发现TC测试方法与功能需求发生冲突需记录并做讨论。
5)测试用例的管理与维护
如图4
图4:
测试用例的管理和维护
3.3.2全面功能验证
全面功能验证测试是在规定的一段时间内运行软件系统的所有功能,以验
证这个软件系统有无严重错误
3.3.3性能测试
性能测试常常需要与强度测试结合起来进行,并常常要求同时进
行硬件和软件检测。
通常对软件性能的检测表现在以下几个方面:
响应时间、吞吐量、辅助存储区等等
3.3.4常用功能压力测试
常用功能测试是要检查在系统运行环境不正常乃至发生故障的情况下,
还是否能進行任何程度的测试;把输入数据速率提高一个数量级,
确定输入功能将如何响应。
设计需要占用最大存储量或其它资源
的测试用例进行测试
3.3.5UserFriendly测试、
以一定量一定时间模拟User正常使用的方式进行功能测试.此项测试是继MMI验证上的一个补充,更符合User使用的习惯,从而增加客户
的满意度.
此项测试又称Beta测试,也是软件测试中很重要的一个环节。
4MMI实际应用
备注:
以下MMI流程是以公司负责的Motorola公司的MTK平台的AVON为例。
编写AVON测试用例
灵活运用各种测试用例设计方法,首先熟悉AVON各项功能,各位参加编写测试用例的工程师分配好各自的模块,然后首先编写的主要功能,以AVON信息模块为例,信息主要包括写信息,收件箱,发件箱,草稿箱,已发信息,短信设置几个模块,具体以写信息为例,首先,写信息里面的各个UI界面显示正常,符合软件需求说明,然后写功能性问题,以输入字符分类,只输入中文,只输入英文,只输入数字;然后再按一页短信