手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧。
手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为期他得测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是手机软件测试,以后不在重复说明。
在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩。
简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在90秒内接听,那么对方会挂掉。而你的操作系统还没反映过来,那么这个操作系统无疑是失败的,这是对嵌如操作系统实时性的要求。
作为一个测试人员,你必须了解这些,可能对一些软件开发人员,他不必很在意这些方面,因为他只要了解自己模块的入口说明和 出口说明就可以。但是测试人员不行。高级测试人员应该了解嵌入操作系统的特点,这个系统不象WINDOWS,有图形界面可以输入输出,也不象D OS用命令行模式,所有这些,都需要自己编写一个编辑器,编写一个交互界面,编写一个输入输出界面,在WINDOWS中,利用一些API和一些M FC,不用考虑硬件的问题,因为系统已经完成,而WINDOWS是讲究和硬件分离的,因为这样可以保护系统不受侵入。而在嵌入市系统里面。这一些都要求和硬件息戏相关。手机测试中,软件出现的故障不一定是由于软件的错误,也可能是由于没有考虑到硬件和软件没有完美的结合。
因此我们在了解操作系统同时,也要了解一下其他的手机硬件性能,比如CPU ,比如存储器。
CPU的处理运算能力是以MIPS来衡量的,当然越快越好,但是也是和成本相关的,我不知道现在MOTOROLA T39的CPU,但是,因为是PDA,又是手写屏幕,所以菜单特别的慢。关于存储器需要专门做出说明,因为这里 的存储器很特别,不象PC,手机没有硬盘!
嵌入时系统的编程语言一般有C,而且也是最多的,也有其他语言。比如C++在最开始时候是用 汇编的,但是汇编难懂,而且也不容易移植,渐渐的被C代替,不过即使如此,在启动程序时候,要启动板子,也就是电路板时候,还是需要用一些汇编语言完成。
作为一个嵌入市系统的程序,和在PC上运行着的程序没有任何不同,唯一不同可能是在PC上运行的程序,你可以看到结果——如果你用输出语句的话,而在这里,你是看布道结果的。除非你加上L CD硬件,然后编写了LCD驱动程序,然后再编写显示 程序。编写嵌入市程序,一切都要自己解决。
我们的手机如果不是认为把电源切断的话,或者在电源消耗到一定程度的话,是会一直在使用的,所以,手机程序是一直在运转的,就是说一直在循环,这个,对于了解嵌入市程序,应该是个好材料——嵌入式程序就是一个无限循环的程序,除非关掉电源和电源因素,这里也有一个测试点:硬件中断是最高级的,它会终止你的程序,即使你现在的程序级别很高,比如通话,如果没电了,一切会o ver.
手机程序就是在一个无限循环的程序,什么时候跳出这个无限循环?你关机吧,如果感到不高兴,把电池卸下来,因为有可能进入死循环,而关机键失效了,——只好通过取下电池了。
这里要专门说明一下存储器,因为很多手机毛病都和存储有关,而且很多问题都和存储相关,计算机的存储是关键,而手机更是关键,因为计算机有硬盘作为存储,而手机所有的都在存储器里
存储器分为几类,RAM 随机存储器,ROM随机只读存储器还有现在出现一些的闪存,以及电子可编程存储和非易失存储起。一个一个到来 。RAM 随机存储器,其中又有SRAM(静态RAM)DRAM(动态RAM),
SRAM,只要只要电源开着,就会保存,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不会立刻写入通话记录。只有正常关机,才会写入,如果取电池的话,是不会写入手机的通话记录的,如果在通话记录中出现了已经拨打电话,但是没有记录的情况,那么有可能和这个存储器有关,可能是你的软件上错误,也可能是硬件。DRAM在手机上用的不多,因为保留数据时间很短。从价格上看,SRAM是非常昂贵的,而DRAM相比很便宜。
ROM也有几种,PROM可编程ROM 和EPROM可擦除可编程ROM。两者区别是,PROM是一次性的,也就是软件灌入后,这个就完蛋了,这种是早期的产品,现在已经不可能使用了,而E PROM则是通用的存储器,这些存储器不符和手机软件产品,一般使用ROM少。
其他FLASH。这是近来手机采用最多的存储器,这种存储起结合了ROM和RAM的长处,但是不属RAM也不属于ROM。手机大量采用的NVRAM 非易失存储器。 和SRAM属性差不多,EEPROM 电子可擦出可编程存储器 。闪存,ROM的后代。手机软件一般放在EEPROM中,EPROM是通过紫外光的照射,擦除原先的程序,而EEPROM是通过电子擦出,当然价格也是很高的,而且写入时间很长,写入很慢,所以前面提到的电话号码,一般先放在S RAM中,不是马上写入EEPROM,因为当时有很重要工作要做——通话,如果写入,漫长的等待是让用户忍无可忍的。 NVRAM 是一个很特别的存储器,它和SRAM相类似,但是价格却高很多,由于一些数据实在重要,断电后必须保持这些数据,所以只能存放在这里,一般和个人信息有关的数据会放在这里,比如和S IM卡相关数据。容量大小也只有几百字节。
闪寸存储器是所有手机的首选,综合了前面的所有优点,不会断电丢失数据(NVRAM)快速读取,电子可擦出可编程(EEPROM)所以现在手机大量采用。
说了这么多存储器,可能比较糊涂了,这么多存储器,究竟采用哪中呢,在手机发展中,各种存储器都用过,至于现在,各种手机采用的存储器是不同的,这个和成本相关,各种存储器价格不一样,本着性价比最优组合,由设计者决定,有些是可选的,有些是必须的,是手机方案决定的,我们了解只是各种存储性能,特点,在测试中判断错误原因。
-----------------------------------------------
手机协议站软件的白盒测试
手机软件测试单从测试的内容来看,包括上面的MMI和底下的PROTOCOL。由于MMI的灵活性,和各个厂家的个性化,以及手机本身的用户不同。MMI的侧重点也就不同,在基本通话、短消息、数据功能完成的基础上可以五花八门,所以测试的重点不同。测试方法各不相同。 但是协议就不同了,协议是统一的,虽然你实现方法可以不同,但是完成的功能必须相同,和MMI不同,虽然都是聊天,但是有些用短消息
聊天,有些用PUSH聊天,而协议软件有一个遵守的规范——ETSI指定的协议规范,有统一的命令规范和统一的标准。消息(术语,不是软件编程里的消息,是通信术语)是固定的嘛。 针对协议的测试,因为有标准可循,有规范可仪,所以软件测试就很多工具,公司也多,自动化测试要自动话,否则,按照人的测试能力,谁也无法保证其绝对可靠性,也没有这么大的人力去仔细做测试。
一般对于白盒测试是比较严格的,而且也是耗费人力的,所以常采用自动化测试工具。这样节省人力、缩短测试时间。至于谁家的工具比较好,涉及各取所需吧,也涉及到成本问题。你如果想购买某产品,会给你一个DEMO版本,给你一个月的评价时期,这个评估版本让你熟悉其产品的优劣也让你熟悉其操作。测试工具一般都有二次开发功能,也就是可以自己编写脚本,针对不同的软件平台做一些改动,这样可以根据自己的需要编写测试CASE测试用列。当然即使是全部用自动化测试,你心理还是没底,你还是要仔细去看代码。分析流程,读懂其含义,一个很小的问题,出错保护没有作好,一般这个问题最多,出错保护机制没有作好,会造成崩溃这样严重的问题。 这是针对协议代码的白盒测试 。如果你是对购买来的协议进行测试,一般有仪器,模拟一个网络基站,进行测试,不过这样的仪器非常昂贵,而且测试人员要对ETSI协议比较熟悉。 我没有直接参加针对协议的白盒测试,不过对评估般的测试软件曾经PRACTISE,可测试覆盖率,我很奇怪的是,一般打点(跟踪)也是需要消耗CPU时间的这样程序效率就降低了,而我要测试程序的效率等项目就要考虑CPU,而且程序的工作运转必须和CPU息息相关,而现在CPU 在保证程序RUN同时,还要进行打点,是否测试出的指数和实际不符和呢,是否没有达到真实的水平呢?而它这个产品(水牛)介绍说,一般不占用CPU时间,我想了很长时间没有想通后想咨询,告之这是他们的专利,无可奉告。由于这种测试工具是针对平台,所以如果你平台不支持的,也就没有办法使用了。还有集成测试等等,在软件的介绍中有详细说明,不再详细说明。 对协议进行白合测试,我想对你的要求就是:熟悉相关的协议,否则白扯;熟悉开发的语言,否则免谈。
--------------------------------------------
1 计算机工业的分类
以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为 大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这 种分类沿袭了约40年。近10年来随着计算机技术的迅速发展,实际情况产生了 根本性的变化,例如70年代末定义的微计算机演变出来的个人计算机(PC),如
今已经占据了全球计算机工业的90%市场,其处理速度也超过了当年大、中型计 算机的定义。随着计算机技术和产品对其它行业的广泛渗透,以应用为中心的 分类方法变得更为切合实际,也就是按计算机的嵌入式应用和非嵌入式应用将 其分为嵌入式计算机和通用计算机。 通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出 现并应用在社会的各个方面,其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中。
2 嵌入式系统(Embedded Systems)
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部 设备中就包含了5-10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显 示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌 入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
B. 计算机云计算是什么
云计算(cloudcomputing)是基于互联网相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
美国国家标准与技术研究院(NIST)定义:
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池,这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
XenSystem,以及在国外已经非常成熟的Intel 和IBM,各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量。
由于云计算应用的不断深入,以及对大数据处理需求的不断扩大,用户对性能强大、可用性高的4路、8路服务器需求出现明显提速,这一细分产品同比增速超过200%。
特点:
1、超大规模
“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。
2、虚拟化
云计算支持用户在任意位置、使用各种终端获取应用服务。
所请求的资源来自“云”,而不是固定的有形的实体。
应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。
3、通用性
云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。
4、高可扩展性
“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。
5、按需服务
“云”是一个庞大的资源池,你按需购买;云可以像自来水,电,煤气那样计费。
6、极其廉价
由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。