~~点滴积累~~~

发布新日志

  • GSM和CDMA~~~~

    2008-06-24 10:02:10

    CDMA的专业术语定义
    CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的窄带信号即解扩,以实现信息通信
    gsm
    GSM全名为:Global System for Mobile Communications,中文为全球移动通讯系统,俗称"全球通",是一种起源于欧洲的移动通信技术标准,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。我国于20世纪90年代初引进采用此项技术标准,此前一直是采用蜂窝模拟移动技术,即第一代GSM技术(2001年12月31日我国关闭了模拟移动网络)。目前,中国移动、中国联通各拥有一个GSM网,为世界最大的移动通信网络。

    是指手机通讯基于的网络。

     
    就是使用两种不同的网络接收手机信号
     
    如果按这样分,应该分为三种:GSM手机、CDMA手机、双模手机
    GSM手机,就是只能插GSM卡的手机
    CDMA手机,就是只能插CDMA卡的手机
    双模手机,就是两种卡都可以插的手机
  • 手机终端软件测试方法

    2008-06-23 14:20:20

    一、软件测试综述
            完整的软件测试是评定软件性能和质量的重要手段,该测试可以用来检查软件是否满足设计和项目合同书所规定的技术要求,检验软件对误操作的处理能力,并为软件可靠性与安全性的评估提供依据。
            软件测试有许多不同的分类方法,如按测试用例设计方法可分为白盒测试和黑盒测试;按测试策略和过程可分为单元测试、集成测试、确认测试和系统测试;从是否需要执行被测软件的角度,可分为静态测试和动态测试。上述各种方法都已被证明是行之有效的,在测试中应根据测试目的适当选择。
            通信软件测试和一般的软件测试适用于同样的测试方法、流程和工具,但又具有一定的差异性,特别是针对诸如手机终端软件的测试。对于手机软件这样一个人机交互频繁、人性化要求高的应用系统的测试,电信运营商需要从两个角度考虑:一方面从开发人员的角度思考,要求测试系统提供足够证据来证明软件系统的功能是可行的;另一方面则应该从使用手机终端的用户角度出发,要求测试系统提供手机软件系统的缺陷和不足信息。
    二、手机终端软件测试难点及可行的解决方案
            恰当地评测手机软件产品并非易事,一方面,手机终端的软件和其硬件直接相关,而硬件开放的接口可能是受限的;另外,各个终端的软件千差万别,难以直接套用通用的测评工具。
            对于手机终端软件的评测很困难并不意味着手机终端软件是不可测的,手机软件包括了Protocol、MMI(人机接口)两个主要部分以及应用软件/应用系统。Protocol部分是通过了FTA(全面型号认证)才能使用的(针对GSM手机而言),其无线资源管理、移动性位置管理和通讯管理软件部分必须满足制式对应的标准,可以使用自动测试系统来对协议进行跟踪和测试。应用软件/系统则基本适用于一般的软件测试流程和工具。
            如何测试MMI部分是测试的难点,鉴于Protocol、MMI这两部分相互影响不能截然分开,MMI软件的问题也会影响Protocol部分。目前大多数公司没有自动化的测试软件,只能通过模拟用户的办法来操作手机,在出现问题的时候进行跟踪。而部分生产商其软件底层有测试代码支持,可以实现自动化测试,实现方法是开发测试代码并加入到手机原代码中去,但这对于电信运营商来说并不现实。
            对于上述问题,目前可行的解决方案之一是软件模拟,即通过软件模拟器来实施软件测试,在模拟器平台上可以对手机软件完成覆盖率测试、内存测试、性能测试和一致性测试。对MMI而言,将手机应用程序移植到模拟器平台上运行,可以模拟显示MMI菜单树,也可通过模拟网络消息来模拟短信和打电话等功能,并可对部分代码进行单元测试和集成测试。需要说明的是,利用模拟器对手机软件进行测试不能作为唯一测试途径,但往往可以通过与目标系统相同版本进行交叉测试或测试对比。 [Page]
            解决方案二是开发测试系统,提供ProtocolStack和MMI的跟踪分析以及模拟用户硬件功能。系统可通过线程调用来进行控制,包括用户界面线程、脚本解析线程、串口控制线程和设备线程。用户界面线程提供测试的人机界面;脚本解析线程响应用户界面线程发送的控件消息,负责解析脚本文件并执行解析后脚本;串口控制线程控制测试系统和被测系统之间的数据传输;设备线程实现根据测试要求自动设定设备参数的功能。
            尽管测试系统的开发可以采用模块化的方式,但仍存在开发难度较大、测试对象属性差异较大的问题,更加简单的方法是基于现有的测试平台/系统进行开发,如基于Ageresystem的Optitrace套件的开发等。
    三、3G环境中手机终端软件的测试
            鉴于3G技术更加复杂,且终端定制将成为主流,3G手机软件的测试工作值得深入研究。3G业务在国外已经开展了一段时间,在手机测试方面也已经有一定的积累,目前已经有相应的测试工具被开发出来,业界正在对业务测试平台进行论证。
            从目前的情况看,在3G环境中开展手机软件的测试过程中,一致性测试成为新的难点。一致性测试是用来确认设备是否符合对其功能要求方面的规范或协议的测试过程,一致性测试标准包括3部分:抽象测试集(ATS)、协议实现一致性说明(PICS)和协议实施附加信息(PIXIT)。可执行测试集(ETS)在以上3部分的基础上生成。
            协议一致性测试和射频一致性测试是其中最复杂也最重要的部分,协议一致性测试属于软件测试的范畴,在一定的网络环境下,对被测协议实现(IUT)进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定IUT在多大程度上与协议描述相一致,从而确立通过一致性测试的IUT在互联时成功率的高低。实际上,2G系统同样需要进行一致性测试,3G系统因相对于2G系统更加复杂,而使得一致性测试显得更加重要。
            协议一致性测试可测试手机和网络之间的信令协议是否符合TS34.123规范,3GPPTS34.123定义了约700个TTCN测试用例,对RLC层、MAC层和RRC层分别进行测试。全球认证论坛GCF也制定了测试用例/策划平台认证的流程以及终端产品认证注册的流程,按照优先级将测试用例划分为7个Batch,从高到低进行认证。
            从目前的情况来看,能提供协议一致性测试设备的厂商并不多,但这是软件测试的一个不可或缺的环节。在多个厂家进行设备互联时,通过一致性测试会提高人们对设备符合相应协议标准的置信程度,提高相同标准不同实现之间互联的概率,这对于我国自主知识产权的TD-SCDMA设备来说具有现实意义。
            对于3G手机而言,除上面提到的协议一致性测试之外,MMI以及应用软件/应用系统的测试仍将是测试中的主要工作,而且随着手机智能化程度的不断上升,这部分的测试工作会给电信运营商带来更大的挑战。
  • 手机测试方法(侧重于短信测试)

    2008-06-23 14:02:47


    系统测试方法分为:功能测试,一致性测试,性能测试,压力测试,容量测试,安全性测试,恢复性测试,备份测试,GUI测试,健壮性测试,兼容性测试,可用性测试,可安装性测试,文档测试,在线帮助测试以及数据转换测试等。
          从手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。
         由于笔者执行手机软件测试的工作中,短消息和电话测试的较多,下面就以短消息为例来阐述,手机软件测试的一般方法和测试的要求,来供大家参考。
    一.短消息[SMS]的基本功能测试
    1、短消息的基本功能:是指短消息的编辑,删除,保存,收发,显示,以及各种按钮等功能的正常实现。
    2、测试要求和执行:一般根据测试案例或软件本身的流程就可以完成短消息的基本功能测试。     
    二.短消息的交叉事件测试
    1、交叉测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题出现为Pass的标准。
    2、测试要求和执行:干扰要恰到好处,准确,否则很难发掘出深层次的软件缺陷。
    三.短消息的压力性能测试
    1、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。
    2、测试要求和执行:可以考虑进行自动化测试
    四.短消息的容量性能测试
    1、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。
    2、测试要求和执行:可以考虑进行自动充满记忆体测试,要对不同品牌和不同容量大小的SIM/PIM卡进行测试
    五. 短消息的兼容性能测试
    兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等;
  • 手机软件测试的测试内容和方法

    2008-06-23 11:14:45

    手机作为专用的消费类电子产品需要进行以下测试:可靠性测试(对于硬件则是RQT;对于软件则是field trial);标准符合性测试(FTA);互操作性测试(IOT);[url=]安全性测试[/url](安规测试);强度测试等。

        其中,有些种类的测试,例如FTA,有严格的标准(GSM、3GPP等)来明确被测的功能点,测试人员所要做的是在测试用例的编写中体现出这些功能点,并且尽量营造这些测试用例所需的运行环境来完成测试,并反馈测试结果。但是对于[url=]性能测试[/url],就没有这样的规范供测试人员来参考,因此性能测试需要进行哪些用例以及用例通过的指标的高低都有很大弹性,在很大程度上受限于测试人员的经验和项目的资源和进度压力。如何在资源、进度和质量之间找到平衡点是产品负责人需要考虑的问题,测试人员可以左右的是划定性能测试的范围、明确与性能测试相关的设计需求(提高产品的可测试性)以及通过[url=]自动化测试[/url]工具等手段来进行更加有效的性能测试,提高产品的质量。

        一、手机性能测试的范围

        性能测试强调长时间、重复或者高强度的进行某些操作,来验证产品在各种极限条件下的表现。性能测试隶属于[url=]软件测试[/url]中的系统测试,它对软件在集成系统中运行的性能行为进行测试,旨在及早确定和消除软件中与构架有关的性能瓶颈。通过对测试数据和log的分析,还可能找出被测系统隐藏的缺陷。终端作为移动通讯类电子产品,其性能测试又主要和其实现的功能相关,大致可分为以下几类:

        1.时间相关。

        时间相关的性能测试可分为长时间保持测试和限定时间反应测试。

        长时间保持测试主要是测试终端长时间稳定进行某项功能的能力。主要包括长时间待机能力、长时间CS域业务保持能力、长时间PS域业务保持能力、长时间组合业务保持能力等。长时间待机测试,就是根据手机电池的能力连续不间断待机一定时间(例如4天),之后验证手机是否还能够发起主叫和被叫业务,能够发起主叫,表示终端在长时间待机后自身还处于正常状态,能够发起被叫,说明终端在睡眠模式下可以正常接收寻呼。长时间CS域业务保持测试,就是根据手机电池的能力连续不间断进行语音通话或者视频通话一定时间(例如2小时),测试通话期间图象声音是否连续、清晰,是否有单通现象出现,是否会有手机板子过热现象。长时间PS域业务保持测试,主要是通过持续进行WWW业务、ftp业务或者流媒体业务一定时间(例如2小时),测试进行数据业务期间上下行数据传输率是否稳定,网页显示是否流畅,流媒体播放是否连续等。长时间组合业务保持测试,就是同时保持CS和PS域业务一段时间,以验证终端长时间进行组合业务的能力。

        限定时间反应测试主要是测试终端在规定时间内对用户的操作作出反应,给出操作结果的能力。主要包括开机驻留时延、关机时延、CS域业务接入时延、PS域业务接入时延、本地应用的操作时延等。开机驻留时延,是指从用户按下开机键(终端上电、系统引导、启动任务、搜索网络、完成位置更新)到终端进入待机界面,提示用户可以进行正常服务的总时间。关机时延,是指从用户按下关机键(终端完成网络detach、将RAM中修改过的数据写回flash)到终端完全下电所需的总时间。CS域业务接入时延,是指在进行语音或视频电话时从按下拨号键到听到对方回铃声所需总时间,由于该过程需要在网络侧分配资源,所以测试结果可能会受到当前网络资源可用程度的影响,例如在网络负荷高的时候申请CS 64k业务时,网络侧需要重新组织或合并无线资源来满足业务要求,所需时间相对会长一些。PS域业务接入时延,是指在进行数据业务时从开始连接到能正常进行数据业务所需总时间。本地应用的操作时延,是指完成某些本地操作维护功能所需的时间,例如打开电话薄,在电话薄里查找联系人,存储新建的联系人,存储短信,存储多媒体文件,打开浏览器,播放多媒体文件等所需时延,这些时延如果过长,也会极大地降低用户体验的满意度。

        2.次数相关。

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

        3.并发业务。

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

        4.负载测试。

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

        二、手机性能测试的方法

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

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

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

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

        1. 系统分析

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

        2. 建立虚拟用户脚本

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

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

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

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

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

        5. 性能测试的结果分析和性能评价

        结合测试结果数据,分析出系统性能行为表现的规律,并准确定位系统的性能瓶颈所在。在这个步骤里,可以利用数学手段对大批量数据进行计算和统计,使结果更加具有客观性。在性能测试中,需要注意的是,能够执行的性能测试方案并不一定是成功的,成败的关键在于其是否精确地对真实世界进行了模拟。
    在整个性能测试过程中,自动化测试工具的选择只能影响性能测试执行的复杂程度,简便一些或繁杂一些;但人的分析和思考却会直接导致性能测试的成败。所以这里着重于对性能测试思路的整理。测试工具的介绍可以参看有关自动化测试工具的资料。
  • 手机“黑幕”:频繁死机因软件出错(转载)

    2008-06-21 21:51:04

     

            手机频繁出现死机、重启等问题多是由于其自身软件错误导致;而出现按键失灵、反应迟缓等问题则主要是由于按键触点材料质量低劣,以致快速氧化接触不良造成。昨日,记者从相关渠道获悉,上周在深圳召开的电信终端测试认证论坛中,国家信息产业部电信研究院相关专家在发言中揭秘了问题手机的种种质量 “黑幕”。

      手机软件问题日益突出

      昨日,记者得到的一份会议资料显示,2007年在“信息产业部证后监督抽查”工作中,信息产业部通信软件测评中心抽查了30个厂家的30款移动电话机,检测出不同程度的软件质量问题共80项;而抽查产品的合格率仅为63%。

      专业人士进行归类后发现,手机软件出现错误主要会导致以下几种情况:手机死机、重启的现象非常严重,错误率达27%;与通讯直接相关的功能(如通话功能、信息功能等)错误,约占52%;数据功能错误所占比例约为19%。

      专家分析,手机软件错误产生的原因比较复杂,部分生产厂家技术能力不足,生产的手机部分或全部采用设计公司的方案,软件发现问题或者需要改进功能时,响应速度慢,导致软件质量难以保证;手机配套软件衔接不利也是一大原因;此外,政府相关部门的监管内容欠缺也是原因之一。

      元器件不合格通话经常掉线

      记者了解到,电信研究院泰尔实验室质量争议鉴定中心在2007年共接受手机质量争议鉴定投诉4432件,涉及到57个厂家,反映的主要质量问题有摄像、显示、待机时间、音频质量、死机重启等方面,电信研究院的专家对这些问题一一披露了其中的质量“黑幕”:

      手机待机时间短,主要原因是手机功能越来越多、越来越复杂,手机设计没得到很好地优化,导致手机功耗越来越大。另外,就是手机电池容量和质量问题。

      手机声音过大或过小、侧音太大,导致无法正常通话或通话者感觉不舒服、声音杂音大、失真明显等问题,主要原因是生产厂家不重视电声学设计,只注重外形,且结构设计不合理,采用质量不高的电声换能器件等所致。

      手机在远离基站的情况下不能正常通话、经常掉线(也即接收灵敏度较低)。其原因主要是手机产品设计不过关,元器件筛选不严格,生产工艺控制不到位所致。

      手机显示屏容易破损问题,主要原因是显示屏越来越大,手机越来越薄,显示屏的保护困难越来越大,加之生产企业在结构设计上缺乏经验、产品定型之前没有足够的试验验证。

      手机像素数、色彩等级数等指标说明与实际使用情况不符,经常出现“号称100万或200万像素手机,拍出的照片却含糊不清”的问题。

      手机在冬天气候干燥时由于人身体的静电放电原因导致被损坏(也即手机静电放电不合格)。其原因是手机设计生产过程控制对电磁兼容问题重视不够、经验不足,没有采取更可靠的设计方案。


  • 手机测试相关介绍(转载)

    2008-06-21 21:47:24

     

    手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧。
    手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为期他得测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是
    手机软件测试,以后不在重复说明。
    在说明手机测试之前,我觉得应该了解一下什么是嵌入市
    操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩。
    简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
    再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在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集线器等均是由嵌 入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
    参考资料:
    http://www.cntesting.com/bbs/?u=9224

  • 手机操作系统介绍(转载)

    2008-06-21 21:41:53

     

    一、Windows Mobile系列手机操作系统

    Windows mobile 系列操作系统是在微软计算机的Windows操作系统上变化而来的,因此,它们的操作界面非常相似,熟悉计算机Windows系列操作系统的朋友一看到Windows Mobile系列的操作系统就一般会认得它是出于微软之手。Windows Mobile系列操作系统具有功能更强大,多数具备了音频、视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能。而且,支持该操作系统的智能手机多数都采用了英特尔嵌入式处理器,主频比较高,另外,采用该操作系统的智能手机在其它硬件配置(如内存、储存卡容量等)上也较采用其它操作系统的智能手机要高出许多,因此性能比较强劲,操作起来速度会比较快。但是,此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件采用成本高等缺点。Windows Mobile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为单手智能手机提供操作系统。

    (1) SmartPhone操作系统

    Microsoft Smartphone是微软基于Microsoft Windows CE内核开发的、为智能手机提供的一种操作系统,与使用手写笔来进行操作的智能手机不同的是,基于该操作系统的手机无需借助手写笔,只需用手机提供的键盘就能完成几乎所有的操作,因此,使用该操作系统的手机用户只需一只手操作即可。基于Smartphone操作系统的智能手机与其它微软操作系统的智能手机在功能上并没有很大区别,多数具有MP3播放、MSN聊天、电子邮件收发等功能,无需借助手写笔来进行操作,携带方便。目前支持该操作系统的智能手机有神达Mio 8390和多普达565等.

    (2) Pocket PC Phone操作系统

    Pocket PC Phone 是目前我们最为常见的微软智能手机操作系统,目前市面上绝大多数基于微软操作系统的智能手机都采用了这一操作系统,例如我们熟悉的联想ET180、ET560、多普达696、大显 CU928、多普达等智能手机即采用了此操作系统。与微软Smartphone不同的是,该操作系统主要借助手写笔来完成大部分的操作。

    二、Symbian开放式操作系统

    Symbian操作系统提供了灵活的应用界面(UI)框架,不但使开发者得以快速掌握必要的技术,同时还使手机制造商能够推出不同界面的产品。Symbian系统手机可以采用多种应用界面形式:一类在设计上很类似当前最常见的手机,即主要通过键盘进行输入的手机;另一类是使用手写笔进行操作;还有一类是既有键盘又有触摸屏的手机,它具有较大的屏幕和较小的键盘。不同的输入方式和外观设计会对各款手机的主要用途产生很大的影响。应用界面在要求上是由手机和市场决定的。有了Symbian操作系统,手机制造商和第三方开发者就可以为上述各类手机开发出独具特色的应用界面,例如:

    (1) 采用数字键盘的手机(Symbian s60)

    此类手机需要灵活的应用界面,方便用户使用导航键(Joystick)、软按键或转点通键(Jogdial)操作,诺基亚3650和N-Gage也就是代表他们采用了Series 60应用界面。如诺基亚 6600;诺基亚 7610; 诺基亚 6670等;

    (2) 采用触摸式屏幕的手机(Symbian UIQ)

    这类手机主要采用了UIQ界面,其中以索尼爱立信P802、P908为代表。UIQ是一种可定制的基于手写笔输入的应用界面,很适合支持具有丰富多媒体功能的手机。

    (3) 采用完整键盘和超大彩色屏幕的手机(Symbian s80)

    此类手机为那些需要在办公室以外编辑信息和查看业务数据的用户提供了先进的移动通信功能。诺基亚9300—9500个人通讯器系列是此类应用界面的典型代表。

    三 、PALM手机操作系统

    PALM是3Com公司的Palm Computing部开发的一种32位的嵌入式操作系统,原本是一家生产掌上电脑及掌上电脑操作系统为主的公司,PALM智能手机所用的PALM操作系统又与PALM掌上电脑所用的操作系统非常相似,因此,基于该操作系统的手机拥有的第三方软件较多,以前用惯了PALM掌上电脑的用户能非常快速地掌握这类的智能手机。

      由于PALM一直遵循Less is More(少就是多)这一理念去设计,所以,与微软所推出操作系统要占有大量的系统资源和储存容量不同的是,它本身所占的内存极小,基于PALM操作系统编写的应用程序所占的空间也很小,通常只有几十KB,所以基于PALM操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。但是,这么一来,它的功能就没那么多,当然,最近PALM似乎也意识到丰富的功能对消费者的吸引力之大,因此,PALM也似乎越来越向提供丰富的功能靠拢,“少就是多”的设计理念逐步削弱。另外,对于中国用户而言,它有一个不足之处是,它的操作系统起初在中国销售的产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程度上影响了基于PALM操作系统的产品在中国市场的大面积进入。目前,基于PALM操作系统的手机有三星SPH-i330、Handspring Treo 650系列等。

    四、Linux手机操作系统

    与Windows Mobile系列操作系统一样,Linux手机操作系统是由计算机Linux操作系统“变化”而来的。简单地说,Linux是一套免费使用和自由传播的操作系统。它支持32位和64位处理器,在计算机领域中,主要用于配备Intel x86系列CPU的计算机,在手机领域中,较具代表性的产品有摩托罗拉A768。

    Linux具有稳定、可靠、安全等优点,有强大的网络功能。在相关软件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务。由于Linux具有源代码开放、这一特点非常重要,因为丰富的应用是智能手机的优越性体现和关键卖点所在。从应用开发的角度看,由于Linux的源代码是开放的,有利于独立软件开发商(ISV)开发出硬件利用效率高、功能更强大的应用软件,也方便行业用户开发自己的安全、可控认证系统。特别是当智能手机大量用作行业应用的移动终端时,Linux在手机操作系统市场中也异军突起,成为一股不容忽视的力量。目前,基于Linux手机操作系统的产品有三星mitssch-i519和摩托罗拉A768、A780、e680等。


  • 手机测试相关介绍(转载)

    2008-06-21 21:33:23

    手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧。
    手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为期他得测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是手机软件测试,以后不在重复说明。
    在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩。
    简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
    再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在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集线器等均是由嵌 入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
    参考资料:http://www.cntesting.com/bbs/?u=9224
  • 手机名片薄(黑盒)测试--转载

    2008-06-21 21:26:01

    手机名片薄(黑盒)测试

    1、参照手机:GSM制式

    2、参考标准:
       GB/T 18905.5-2002 软件工程产品评价第五部分评价者用的过程
       BG/T 16260-1996   信息技术软件产品评价质量特性及其使用指南

    3、评判依据:

    各公司的标准定制的不一样,有些公司可能更细化些,在这里仅作一个粗略依据。产品的好坏由用户说的算,一切为用户服务!
    依据:软件研制规范,软件需求说明书,用户手册(罗嗦两句,国外的说明书写的很细,比如不可以用电熨斗烧咖啡,国内的使用说明书绝对不会这么写的,但是使用说明书上具有的功能在产品上如果没有的话,可就是不符合项喽)。

    4、基本功能说明:

    添加、删除、修改、查找
    设置(各MMI不一样,在这里不进行举例)
    批量操作:SIM卡记录复制到手机,手机记录复制到SIM卡,SIM卡记录移动到手机,手机记录移动到SIM卡……

    5、功能测试

    在这里只讨论名片夹的功能性和可靠性的测试,对名片夹模块的易用性,效率,维护性以及可移植性不做考虑。

    按是否通过测试,则分为两种,顾名思意即通过测试和失败测试。通常的失败测试,也就是说要设计测试用例,迫使软件出错。通过测试则是要保证软件实现基本功能。

    5.1 基本功能测试:

    手机输入法有很多种,比如T9,拼音,字母,数字等等。在编写测试用例的时候,首先要保证各输入法是否能正常输入;能否正常保存;在进行错误输入的时候,是否有响应的提示。在这里举出几个例子:

    5.1.1、存储在SIM卡上的记录

    5.1.1.1、添加:
    1)姓名输入:
    i)是否可以使用任意输入法添加汉字、字母、数字,达到姓名允许的最大字节,并能正常保存。
    ii)是否可以使用任意输入法添加汉字、字母、数字,在没有进行输入时,是否有警告提示或是否可以正常保存(根据产品要求)。
    iii)是否可以使用任意输入法添加汉字、字母、数字,超过姓名允许的最大字节,是否有告警提?是否可以正常保存。
    iV)是否可以进行汉字、字母、数字的混合输入,并重复i~iii,是否有异常。

    2)电话号码的输入:
       i)是否可输入数字至最大值,并可正常保存。
       ii)在不输入数字时,进行保存时,是否有告警提示。
       iii)是否可以输入汉字,字母,此时是否有告警提示或异常。
       iv)是否可以输入特殊字符,如+、P、*、#,是否可以正常保存。这里给介绍个出错的案例:连续输入多个*,P或+,不按电话的号码的正常顺序进行输入,试试,比如"++139***P123",看看是个什么样的效果,是否显示正常。

    3)在输入过程中按返回键、挂机键、或翻合翻盖、电源键,是否有告警提示或异常。

    4)在各MMI界面下,各按键功能是否正常。

    5)待机界面下直接输入数字至最大值,是否可以正常保存。

    6)待机界面下直接输入数字即特殊字符(+,P),是否可以正常保存。

    7)将1),6)步骤进行一下排列组合,查看是否有异常情况。

    1对2,2对4,4对16,所以测试用例经常的几千条,几万条根本就不希奇,一个名片夹写上1K条也之是写了个小部分。呵呵,罗嗦话又一堆。继续......

    5.1.1.2 修改

    1)单条记录的修改:
    a) 是否可以对单条记录进行修改,包括姓名和数字,并重复5.1.1.1中的1), 2),3),4)各步骤。
        b) 连续将多条记录的内容(姓名或电话号码)修改成一样。
        c) 手机或SIM卡的所有记录全部一样。(此条仅作为一条测试手段,在实际的应用中无实际意义。)(05.3.19修改)

    2)连续多条记录进行修改
    此条的测试目的是对软件进行压力测试。

    5.1.1.3 删除

    1)对单条记录进行删除
    i)删除后,列表显示是否正常;数量是否正确。
    ii)SIM卡记录为空时,进行删除时,是否有告警提示。
    iii)SIM卡记录仅为一条时,删除后,是否有SIM卡内容为空的提示。
    iv)在删除过程中,各功能键是否正常。
    v)在删除过程中,进行中断操作,是否正常,比如挂机键,电源键等等。

    2)对多条记录进行删除,目的是对软件的进行压力测试。
    i)连续对SIM卡的多条记录进行删除,是否出现异常情况。
    ii)删除SIM卡记录直至为空时,是否有异常。
    iii)在删除过程中,各功能键是否正常。

    5.1.1.4 查找
    由于各手机的查找功能定制的不同,在这里不做累述。

    5.1.2 存储在手机上的记录
    存储在手机上的记录和存储在SIM卡上的记录的测试用例基本相同。在测试过程中需要留心的是SIM卡的存储容量以及手机的存储容量,由于软件的定制不同,往往在不同处易出现故障。比如SIM卡的姓名栏可存储5个汉字,或8个字母、数字,电话号码可以存20位,手机的姓名栏目可以存12个汉字,20个字母、数字,电话号码可以存30位。在这个不同点之间就容易出现故障。

    5.1.3 批量操作

    5.1.3.1 SIM卡记录复制到手机

       1) 1条SIM卡的记录复制到手机。要求:

       i)姓名为1个字母或数字或一个字,手机号码是1个数字或特殊字符(+,p);
       ii)姓名为满的字母或数字或字符,手机号码是满的数字或特殊字符(+,p)。

       2)将SIM卡的记录全部复制到手机。前提:SIM卡的容量有限,有的是70(如动感地带,易通卡),有的是大容量卡有200甚至250条的记录容量(如全球通,各地区的SIM卡容量不通,在测试过程中要考虑到对卡的兼容性),保证手机的每条记录是满记录,即姓名栏的字母,数字或汉字为满,号码栏的数字为满。将记录全部复制到手机,查看是否有异常。通产这时候问题就出来了,因为是批量性的复制,和手机的处理能力是有一定关系,此处比较容易出问题。

       3)手机记录的容量通常比SIM卡的容量要大许多,这里在谈一下该处的测试要点。
       前题条件:SIM卡的每条记录全满,即姓名和电话的容量全满。
       i)SIM卡记录全部复制到手机,直至手机记录满,是否有相关的提示,例如:手机记录满,手机空间不足,是否继续进行复制;部分记录将会丢失的字样;
       ii)手机是否可以读取大容量的SIM卡,并包括全部的手机记录,并能进行正常的查找。此处,可以连续的单条删除手机或SIM卡记录,直至删空,查看是否有异常。

    5.1.3.2 手机记录复制到SIM卡

    说明:手机的记录由于设计不同,有的手机是一个姓名对应1条记录,有的是一个姓名对应多条记录,具体根据实际情况。
        i)将1条手机记录复制到SIM卡上,是否正确复制。
    注意:手机记录中的姓名栏可能和SIM卡姓名栏的字数不相同,这时需要注意异常现象。另有的手机支持的是一个姓名下有若干条手机记录,是否可以将若干条记录全部复制到SIM,且无异常现象。
        ii) 将全部满的手机记录,即手机存储的条目数满,姓名栏的字全满,手机号码的字数全满,全部复制到SIM卡,查看是否有异常。
    注意:SIM卡的空间和手机空间容量在相等,或不相等的情况下,在复制的过程中均有提示,例如:SIM卡空间满;空间不足;空间不足,如进行复制,会有部分数据丢失等告警提示。

    5.1.3.3 SIM卡记录移动到手机
        SIM卡记录移动到手机同5.1.3.1 SIM卡记录复制到手机的测试方法基本相同。注意的是在移动后,SIM卡内容清空。

    5.1.3.4手机记录移动到SIM卡
       手机记录移动到SIM卡同5.1.3.3 SIM卡记录移动到手机的测试方法基本相同。由于各手机设计不同,有一个姓名对应一条记录和一个姓名对应若干条记录的情况,注意在移动过程中出现异常现象。

    5.1.3.5 综述
    从上面的测试方法已包含了等价测试和边界测试。下面将对测试过程中加入的其它环节进行描述。

    1)中断:短信,MMS,来电,闹钟,功能键,挂机键,翻盖等等。在进行上述操作时,在每一个界面下,均需进行中断操作,并根据软件需求说明,对异常情况进行定位。
    2)在进行每项操作时,均应有提示,确认是否进行该操作。由于各手机软件需求不同,在测试过程中可根据实际情况或根据用户反馈情况进行。
    3)在SIM卡记录或手机记录满的情况下,添加记录,查看是否有相关提示或异常。

    5.2 失败测试
    根据手机名片簿的实际情况,通过某些方式或方法迫使软件出错。在测试案例的设计中仍按重复测试,压迫测试以及重负测试这三种测试理念进行测试。


    5.2.1 重复测试

    1)添加
        a)在待机状态下连续添加电话号码,并保存至SIM卡/手机,操作次数大于40次;
    b)添加菜单内连续添加电话号码,并保存至SIM卡/手机,操作次数大于40次。

    2)删除
        a)电话簿列表下,连续逐条删除电话号码;
        b)在保证SIM卡/ 手机容量满的情况下,连续删除SIM卡/手机全部记录,在进行手机全部内容复制到SIM卡上的操作。操作次数大于20次。

    3)查找
        根据手机的实际功能,进行连续性查找。查找次数大于20次。

    4)修改
        a)连续逐条将记录修改成同一内容的记录,操作次数大于5;
        b)连续逐条修改记录,将姓名栏内的内容修改至最大,并将电话号码号码修改至最大。操作次数大于20次。

    说明:在这里涉及到操作次数的问题,操作次数过大或过小,都会失去它的实际意义。操作次数定义在40次,是根据SIM卡的容量定义的,通常SIM卡的容量是在70左右。连续删除SIM卡/手机的全部记录的20次操作,测试目的是检验内存是否溢出或不足。这项操作也可以定义成50次,甚至更多。即使检测出软件存在问题,但是进行软件更改的成本就会更高,甚至造成代码引入的BUG,总体来讲,得不偿失。

    5.2.2 压迫测试
    压迫测试是指软件再不够理想的条件下运行——内存小,磁盘空间少,CPU速度慢等等。
    从经验来看,压迫测试和重复测试相结合,测试的效果比较好。在名片夹中主要是要注意SIM卡容量和手机容量的关系。有部分SIM卡的容量比较大,在200,250条甚至更高。在测试过程中,主要主意的一个问题就是尽量在SIM卡和手机容量慢的情况下进行添加,删除,修改,查找等操作。另一点就是操作的次数不能太少,也尽量不要太大。

    5.2.3 重负测试
        举例几个例子:比如如插上充电器;在低电压时,插上充电器;电池容量满后,继续充电并测试等等。

    5.2.4 其它
        在这里,仅仅举几个测试用例。

        1)在名片簿列表下,连续按方向键,进行读取列表;
        2)在名片簿列表下,快速插拔充电器;
        3)输入非正常字符进行存储。
        上述用例的目的就是在模仿用户在使用过程中容易或非正常情况下出现的问题。

    5.3 集成测试
        根据软件需求,检查名片簿与那部分模块相关。例如呼叫(直接呼叫,IP呼叫,三方通话),MMS,短消息等等

        在这里针对名片簿的测试,采用的是增值式集成测试。通过名片簿与其它模块的相关关系,检测测试名片簿与相关模块在接口上是否存在BUG。在测试过程中,首先测试是否满足基本功能,其实是多次反复调用相关模块,检验模块接口是否有问题存在。


  • 智能手机开发语言和趋势

    2008-06-21 20:16:33

     目前在智能手机开发领域,按照操作系统来说,有三大平台:Symbian、Windows Mobile(以下简称Windows)、Linux。Palm已经完全出局了,不需要再考虑。另外还有两大阵营:J2ME阵营(跨多种操作系统,包括Windows)和.NET CF阵营(只能运行在Windows上,以下简称.NET)。

    这些平台上的开发语言包括:
    Symbian:C++、Java、Python
    Windows:C#、C++、VB、Java
    Linux:C++、Java...

    J2ME阵营:Java
    .NET阵营:C#

            以上顺序也是按照它们在不同平台上被使用人数多少的顺序。可以看出,对于只针对某个操作系统平台开发的产品,Java并未占据优势。

            J2ME相比.NET来说,优势主要在游戏开发方面,但是.NET有着更加广泛的用途。在MIDP 2.0中,核心部分所加入的主要是对于3D图形、多媒体、Game API的支持,用来支持游戏的开发。因为在制定MIDP 2.0规范时时间有限,所以将其他很多重要的功能都放入了可选包中,而不是作为MIDP 2.0的核心内容。因此尽管很多手机都声称支持MIDP 2.0,但是可能没有安装某个可选包,使得使用了这个可选包的软件在这款手机上无法运行。例如,假如没有安装PDA可选包,就无法访问手机的本地文件系统、无法读取通信录、无法读取信箱中保存的短信。而这些功能是开发个人信息备份/恢复软件所必需的。不过这种情况会随着时间的推移而逐渐好转,新推出的智能手机中都包括了越来越多的可选包,Nokia、Motorola、索爱等大厂商对于J2ME的支持力度是非常大的。除了可选包未安装这个限制之外,J2ME应用运行在严格的沙箱之中,要开发使用除系统内存、显示、声音控制之外的其他资源(例如,本地文件系统、通信录、信箱),所开发的应用必需经过签名,这个开发过程相当的繁琐。

            正是因为目前大多数Symbian手机上J2ME版本太老,功能非常有限,所以除非开发游戏类应用,大多数Symbian开发者都选择使用C++做开发,因为C++可以访问系统所有的资源。然而,Symbian C++尽管有很多优点,但是对于开发者却是很不友好的,学习门槛相当高(一大堆的清规戒律,好像是鲁提辖上了五台山),从面向对象设计的角度来看问题也很多(与MFC类似,也许有人认为面向对象在手机开发中并不是很重要)。没有半年时间想成为Symbian C++的高手相当困难,这个巨大的sink lost需要经过慎重的权衡。
            在Symbian上使用Python做开发的人还很少,优缺点目前还不大清楚。
            顺便说一下,Nokia今年上半年推出了开发工具Carbide,针对Symbian C++和J2ME分成两个版本,这两个版本都是基于Eclipse的。

            在Windows上也可以做J2ME开发,如果手机安装了MIDP 2.0的支持就可以直接使用,如果没有安装,需要开发者另外安装。Windows上比较好用的是IBM的J9 VM,但是J9 VM仅包括MIDP 2.0的核心部分,而不包括大量的可选包。如果你只是开发游戏,那应该是够用了。
            不过Windows开发者首选的还是C#,C#开发效率大大高于C++,性能也很不错。相比Java来说,可以更加容易地访问所需要的资源,因此开发效率也更高。Windows上前几年使用的Embed VC++、Embed VB两个工具已经退居二线。

            Linux上可以使用C++和Java做开发,笔者对于在Linux上如何做开发没有任何经验,在此略过。

            综上所述,目前在手机开发中占据统治地位的是三大语言:C++、Java与C#。
            J2ME与.NET两大平台相比,J2ME在游戏开发方面有优势,而.NET在游戏以外其他领域的开发(例如:移动企业应用)更有优势。但是由于J2ME得到了手机一线大厂的力捧,因此前途不可限量。目前销售Windows智能手机的厂商主要还是一些新兴的排名稍靠后的厂商(联想、多普达、夏新...)。
            移动智能应用比较发达的国家是日本和美国。在日本是以游戏类应用为主,在美国是以移动企业应用为主。中国将来走的道路,大概会与日本相同。因此在3G上马后,J2ME应用在国内的爆发是可以预期的。


  • 转-手机测试的种类

    2008-06-21 20:15:09

      1、手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。
       2、功能模块测试:首先应分析功能模块的功能项,测试每个功能项是否能够实现对应的功能。一般根据测试案例(Test Case)或软件本身的流程就可以完成基本
    功能测试。(相对简单,故障也较容易解决)
       3、交叉事件测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题。
       交叉事件测试非常重要,能发现很多应用中潜在的性能问题。另外有中英文模式的切换的手机要注意中英文模式切换后的功能实现存在的问题,通常会被测试人没忽略。
       4、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。
       压力测试用手工测试非常繁锁,可以考虑
    自动化测试,目前没有比较大量使用的工具,一般都是由开发人员配合开发出的工具,或者高级的测试人员编写出的脚本。
       5、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。
       与压力测试有些类似,也可考虑自动化测试。
       6、兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等
       另外从我测试的这几个小模块中,按与时间相关和文字两方面容易出现故障的地方总结如下:
       1、与时间相关:首先是时间的输入域,是否有输入限制,如:文字、标点符号、小时大于24或12、分钟大于60、秒大于60、月大于12、日大于31(按月情况而定)等
       特别注意日期变更分界点如23:59或12:59的变化。以及12/24小时切换模式的测试。
       2、文字输入相关:当界面过多时,注意功能按钮的点击事件能否正常完成相应功能的实现。超过文字字数限制时的系统提示等。
        先暂总结到此,有什么补充的地方,请同行指出。

Open Toolbar