故意学习,故意生活,故意活的像个人!

发布新日志

  • [转载]关于手机测试

    2007-03-06 10:43:53Top 2



    偶没进行过手机测试,不过我收集了一篇关于手机测试相当不错的贴子,你可以看一下。
    手机测试
    来自“测试管理中心”DISCOVERY
    http://www.testmanager.com.cn/
    我从事手机测试。比较忙,作为这里斑竹,是不合适的,其一,本人经验不是很丰富,其次,本人的水平也不是很高,最重要一点,因为精力有限,不能很好照顾这里。但是我很愿意把一些心得体会,和大家分享。
    由于手机测试涉及公司机密,所以在不泄露公司机密前提下,我尽量让大家一起学习,分享我知道的知识和技能。
    手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形,对于翻盖手机,盖子失效,还有其他严重问题。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧。
    因为我们人员编制问题,所以我对于各项测试,都或多或少了解一点,甚至从事过。。
    但是手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行。一方面也说明手机测试的难度。因为期他得测试都有明确的指标,严格的操作规程,还有各种仪器。下面说的手机测试一般都是手机软件测试,以后不在重复说明。
    因为工作原因,没有及时回复大家要求,这里先回答一点,希望大家一起参与,毕竟我一个人精力有限,知道也少。
    这里就作为前言部分吧
    在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌如实操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩。
    简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统。这个操作系统的功能很明确,不象大型操作系统,范围广泛,大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能。
    再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围。也就是所谓的实时操作系统,如果一个电话不能在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集线器等均是由嵌
    入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、
    航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。


  • 手机测试-转贴

    2007-03-06 10:42:07Top 1



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



  • 一年了,我又回来了

    2009-07-17 16:44:05

        一年多过去了,发生了很多事情,但是,我又回来了

        继续我的BLOG,继续我的TEST……

        明天会更好!

  • 自动化测试技术的训练

    2008-02-28 18:06:30

    (转)

      首先我想说的是:自动化测试的思想是训练出来的,自动化测试工具是可以培训和使用出来的,如何将两者结合,需要很长时间的训练和锻炼的。这个是一个系统工程。

      关于如何上手自动化测试,个人感觉可以分成以下几个步骤走:

      第一步,手工测试用例设计,达到任何时候,任何软件,都可以通过软件测试的方法,编写出比较好的测试用例,这个过程是一个训练的过程,要花很长的时间去做。

      第二步,学习语言,一门语言就可以,可以经常编写一些大大小小的应用,理解程序开发过程,适当的时候可以写写简单的测试程序(自己理解的测试程序),这个也要花很长的时间去做。

      第三步,学习一些测试脚本语言,有了前面的基础,这个过程就很快了。

      第四步,在测试工作中总结哪些手工测试类型你认为需要有自动化,提升自己在这个过程中的锻炼。这个是在锻炼思想。

      第五步,以手工测试中的某些点,编写测试代码来进行测试,目的覆盖某些功能点即可。

      第六步,可以加入某些测试工具,学习工具的脚本语言,使用测试工具完成某些功能。这个过程是理解工具提倡的自动化测试思想,和工具提倡的自动化测试方法和方式。

      第七步,自己开发测试代码和使用测试工具开发这两种方式交替使用,目的是覆盖更多的测试类型和更多的功能。

      以上的步骤基本上是以训练你的测试技术为目的,并没有考虑到你公司的具体的情况,也没有考虑公司花费的成本,脚本的可维护性等等方面

      第八步,综合运用测试技术(包括管理、维护等等),在一个统一的平台上完成更多的自动化测试,在这个过程中要体会和解决测试工具的成本、测试脚本开发成本、脚本如果管理、脚本如何维护等等相关的问题。一般来讲这类问题都不是很容易解决的。是一个系统的问题,值得讨论和研究的。对于前面的技术是可以训练出来的。

  • WEB性能测试(转贴)

    2007-08-13 14:33:28

     

                     成功的WEB应用系统性能测试

    性能测试 Web 应用系统的一项重要质量保证措施。在现实中,很多 Web 性能测试项目由于性能测试需求定义不合理或不明确,导致性能测试项目不能达到预期目标或进度超期。本文针对 Web 应用系统的技术架构和系统使用特点,探讨如何有效实施性能测试过程,并重点介绍如何分析获得合理的性能测试需求,最终对 Web 应用系统性能进行科学、准确的评估。

        1 引言

            基于Web服务器的应用系统由于提供浏览器界面而无须安装,大大降低了系统部署和升级成本,得以普遍应用。目前,很多企业的核心业务系统均是Web应用,但当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是Web应用系统的开发商或最终用户,都要求在上线前对系统进行性能,科学评价系统的性能,从而降低系统上线后的性能风险。

            在很多性能测试项目中,由于不能合理定义系统的性能测试需求,不能建立和真实环境相符的负载模型,不能科学分析性能测试结果,导致性能测试项目持续时间很长或不能真正评价系统性能并提出性能改进措施。

            本文在总结许多Web应用系统性能测试实践经验和教训的基础上,从与性能测试工具无关的角度介绍Web应用系统性能测试的方法和实施过程,以及如何定义合理的性能测试需求。

        1.1 术语定义

            性能测试:通过模拟大量浏览器客户端同时访问Web服务器,获得系统的性能数据。

            虚拟用户:模拟浏览器向Web服务器发送请求并接收响应的一个进程或线程。

            响应时间:浏览器向Web服务器提交一个请求到收到响应之间的间隔时间。

            思考时间:浏览器在收到响应后到提交下一个请求之间的间隔时间。

            请求成功率:Web服务器正确处理的请求数量和接收到的请求数量的比。

            吞吐量:单位时间内Web服务器成功处理的HTTP页面或HTTP请求数量。

            在线用户:用户通过浏览器访问登录Web应用系统后,并不退出该应用系统。通常一个Web应用服务器的在线用户对应Web应用服务器的一个Session

            并发用户数:Web服务器在一段时间内为处理浏览器请求而建立的HTTP连接数或生成的处理线程数。当所有在线用户发送HTTP请求的思考时间为零时,Web服务器的并发用户数等于在线用户数。

       图一:在线用户数和响应时间时间的趋势图
                    

            针对基于吞吐量的性能测试需求,可通过下图的曲线来描述性能测试结果。以网上购物系统为例,下图描述下定单的并发用户、下定单响应时间以及吞吐量(服务器每秒处理定单笔数)之间的关系,从而快速判断系统是否能满足性能测试需求。从下图中可看出,并发用户增加,请求的响应时间也增加。服务器的吞吐量是先随并发用户数增加而增加,当吞吐量到达一定峰值后,再增加并发用户数,吞吐量会减少。原因在于当并发用户数少时,向Web服务器提交的请求量不大,服务器处理能力还有富余,所以吞吐量逐步增大;但当并发用户数超过某一值时,由于向服务器提交的请求太多,造成服务器阻塞,反而导致吞吐量减少。

                                  图二:响应时间、吞吐量和并发用户数的趋势图

                     

       1.2 Web应用系统技术架构

            Web应用系统的前端为浏览器,后台为Web服务器(如ApacheMicrosoft Internet Information Server),浏览器和Web服务器之间的交互基于HTTP协议。HTTP协议本身是无连接的,Web服务器通过Session机制来建立一个浏览器所发出的先后连接之间的关联。通过实验证明,当浏览器客户端在首次访问Web服务器后,如果该浏览器客户端不发送后续请求,服务器维持该浏览器客户端的Session变量所消耗的系统资源非常小。

            2 Web应用系统性能测试过程

            标准的Web应用系统性能测试过程包括确定性能测试需求,开发性能测试脚本,定义性能测试负载模型,执行性能测试和形成性能测试报告。本章将分别介绍上述过程,并通过举例说明如何完成每一环节。

            2.1 确定性能测试需求

            科学定义Web应用系统性能测试需求对一个成功的性能测试非常重要。通常,Web应用系统的性能测试需求有如下两种描述方法。

            2.1.1 基于在线用户的性能测试需求

            该需求描述方法主要基于Web应用系统的在线用户和响应时间来度量系统性能。当Web应用系统在上线后所支持的在线用户数以及操作习惯(包括操作和请求之间的延迟)很容易获得,如企业的内部应用系统,通常采用基于在线用户的方式来描述性能测试需求。以提供网上购物的Web应用系统为例,基于在线用户的性能测试需求可描述为:10个在线用户按正常操作速度访问网上购物系统的下定单功能,下定单交易的成功率是100%,而且90%的下定单请求响应时间不大于8秒;当90%的请求响应时间不大于用户的最大容忍时间20秒时,系统能支持50个在线用户。

            2.1.2 基于吞吐量的性能测试需求

            该需求描述方法主要基于Web应用系统的吞吐量和响应时间来度量系统性能。当Web应用在上线后所支持的在线用户无法确定,如基于Internet的网上购物系统,可通过每天下定单的业务量直接计算其吞吐量,从而采取基于吞吐量的方式来描述性能测试需求。以网上购物系统为例,基于吞吐量的性能测试需求可描述为:网上购物系统在每分钟内需处理10笔下定单操作,交易成功率为100%,而且90%的请求响应时间不大于8秒。

            2.2 开发性能测试脚本

            在确定Web应用系统性能测试需求后,就要根据性能测试需求中确定的功能开发性能测试脚本。比如,针对前面定义的网上购物系统的性能测试需求,将开发下定单功能的性能测试脚本。

            性能测试脚本是描述单个浏览器向Web服务器发送的HTTP请求序列。每个性能测试工具(如IBM  Rational Performance Tester LoadRunner)所提供的测试脚本语法是不同的。测试人员利用性能测试工具可从头手工编写测试脚本,也可以通过录制浏览器和Web服务器之间的网络通信数据而自动形成测试脚本。

            任何性能测试工具都不能保证录制形成的性能测试脚本的正确性,测试人员应通过在单用户下运行性能测试脚本对其正确性进行验证。测试脚本不正确的一个重要原因就是脚本的数据关联不正确,也就是并没完全建立一个测试请求和前面的响应内容之间的关联。测试脚本HTTP请求和响应之间的数据关联是否正确的一个重要标准是单用户运行脚本,脚本能完成期望的功能。

            在完成性能测试脚本的数据关联后,需要对脚本进行参数化,也就是把脚本中的某些请求数据替换成变量,变量的值来于一个独立的数据文件,从而保证在多虚拟用户运行脚本的情况下,每个虚拟用户所提交的数据是不同的。

            此外,为了测试Web应用的可靠性,还需要对请求所收到的响应进行验证(比如验证响应的HTTP返回码或验证响应的内容),便于性能测试完成后统计请求成功率。

    2.3 建立性能测试负载模型

            性能测试负载模型定义了测试工具如何向Web应用系统提交请求,包括向Web应用系统发送请求的虚拟用户数,每个虚拟用户发送请求的速度和频率。针对前面介绍的网上购物系统的性能测试需求,在性能测试工具中定义的性能测试负载模型应包括如下信息:

            虚拟用户数:性能测试不仅仅是执行一次,而且每次执行时虚拟用户数也不固定,因此在性能测试负载模型中定义的虚拟用户数将在测试执行时进行设置。

            虚拟用户发送请求的思考时间和迭代次数:虚拟用户发送请求的思考时间长短是决定Web应用系统负载量的重要因素之一,而迭代次数将决定性能测试的执行持续时间。对基于在线用户的性能测试需求,将基于录制脚本时记录的思考时间,而且由于现实中不同用户访问系统的思考时间不同,可把思考时间设置为在一定范围内的随机值。对于基于吞吐量的性能测试需求,将把思考时间设置为零,此时Web应用系统的在线用户数量将等于并发用户数。同时,为了避免性能测试压力的随机性,将增加请求的迭代次数来增加测试执行持续时间,从而获得系统在稳定压力下的性能数据。

            虚拟用户启动模式:在现实中,Web应用系统的用户不太可能同时做相同的操作,因此为了让Web应用系统所承担的压力随时间均匀分布,建议虚拟用户依次启动,同时也避免大量用户同时登录造成系统阻塞。以10个虚拟用户模拟下定单为例,可设置每个虚拟用户间隔30秒启动,这样10个虚拟用户可在5分钟后完成启动,并保证10个虚拟用户不会在同一时刻下定单,从而更符合实际情况。

            2.4 执行性能测试

            执行性能测试是指通过多次运行性能测试负载模型,获得系统的性能数据。在执行过程中,需利用测试工具、操作系统、系统软件(如Web ServerDB Server)提供的资源监控手段对资源进行监控和分析,帮助发现资源瓶颈,并在系统层面进行优化。同时,还需对应用进行性能分析,帮助定位应用代码中的性能问题,切实解决系统的性能问题。

            2.5 形成性能测试报告

            性能测试项目的最后阶段就是向相关人员提交性能测试报告,汇报性能测试结果。在向相关人员汇报性能测试结果时,并不是性能测试报告越丰富、性能数据越多越好。好的性能测试报告是能准确、简单地传递性能测试结论,而不需太多的技术细节。

            针对基于在线用户数的性能测试需求,可通过下图总结性能测试结论。其中横轴是在线用户数,纵轴是响应时间,如40在线用户访问网上购物系统时,90%的下定单请求响应时间不超过10秒。

     

            3 如何获取合理的性能测试需求

            前一章介绍了Web应用系统的性能测试过程,确定性能测试需求是整个性能测试的起点和成功的重要因素。性能测试需求定义得过高,虽然确保系统上线后能满足性能需求,但可能会造成硬件资源的浪费;性能测试需求定义得过低,系统上线后可能会出现性能问题。如何通过分析系统上线后可能的用户访问行为,来获得合理的性能测试需求指标呢?

            假设现有一个基于Web的办公自动化系统(简称OA系统),该系统提供公文收发和查询功能。在部署该系统前,将对该系统进行性能测试。下面将详细介绍如何分析该OA系统的使用情况,定义合理的性能测试需求。

            3.1 如何获得OA系统的在线用户数量

            在线用户数量是指在特定时间区间内,有多少用户访问Web应用系统(对应到Web服务器的Session数),根据系统可能访问用户数以及每个用户访问系统的时间长短来确定。

            对于将要部署的OA系统,通过分析获得该系统有8000个注册用户,基本上所有的用户每天(8小时工作时间)都会访问OA系统,平均在线时间(从登录OA系统到退出OA系统之间的时间间隔,也可以是多次在线时间的合计)为12分钟,那么该OA系统的平均在线数(也就是Web应用Session变量数)为200个(8000 * 0.2 / 8),假设峰值在线用户数是平均在线用户数的3倍(该倍数可根据实际情况调整),则性能测试需求的在线用户数为600

    3.2 如何确定OA系统的性能测试用例 
           
    由于时间和资源限制,不可能对Web应用系统的所有功能进行性能测试,而是从业务的角度(如某一功能操作的用户多)和技术的角度(如某一功能虽然访问用户不多,但内部处理逻辑复杂或处理数据量大)来选择Web应用系统的特定功能作为性能测试用例。

            OA系统为例,由于所有用户都经常公文查询功能,因此确定的性能测试用例为公文查询。

            3.3 如何确定OA系统的响应时间

            响应时间的快慢直接影响了系统使用用户的满意度,采用平均响应时间来描述系统系统性能测试需求是不科学的,因为无法直接和客户的满意度挂钩。而且,在做性能测试,如果某一请求的响应时间过长或过短,将导致平均响应时间和实际情况偏离。

            OA系统为例,定义的响应时间需求为:90%(该百分比和要求的系统用户满意度相关)的查询请求响应时间不超过8秒(该时间可根据实际情况确定)。

            3.4 如何确定OA系统的交易吞吐量

            单位时间内Web应用系统需处理多少笔特定的交易可通过统计获得。以OA系统为例,假设每个用户每天(一天按8小时计算)平均会查询公文4次,那OA应用的Web服务器平均每分钟要能处理8000 * 4 / ( 60 * 8 ) = 66.67笔查询公文交易,考虑到峰值因素,要求每分钟能处理66.7 * 3=200笔查询公文交易。

            3.5 OA系统性能测试需求描述

            通过前面的分析,能明确定义合理的性能测试需求。OA系统性能测试需求定义如下:

            基于在线用户数的性能测试需求:600个在线用户按正常操作速度访问OA系统的查询公文功能,所有查询请求的成功率是100%,而且90%的查询请求响应时间不大于8秒。

            基于吞吐量的性能测试需求:OA系统在每分钟内需处理200笔查询公文操作,交易成功率为100%,而且90%的请求响应时间不大于8秒。

            4 总结

            Web应用性能测试项目成功的关键不在于性能测试工具,而在于有效的性能测试分析方法和实践。只有切实掌握性能测试需求分析方法,性能测试实践经验,才能保证一个Web应用性能测试的成功。

     

     

  • 冒烟测试与随机测试(摘贴51)

    2007-08-08 12:09:52

    软件测试的种类何其多也,每种测试都有其要达到的目的和实现手段。本文将介绍两种不太普遍的测试类型-冒烟测试与随机测试。

    冒烟测试

    冒烟测试(smoke testing),据说是微软起的名字。在《微软项目求生法则》一书第14章“构建过程”关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。

    冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板功基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

    冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。

    在一般软件公司,软件在编写过程中,内部需要编译多个版本(Builds),但是只有有限的几个版本需要执行正式测试(根据项目开发计划),这些需要执行的中间测试版本,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现,是否存在严重死机或数据严重丢失等Bug。如果通过了该测试,则可以根据正式测试文档进行正式测试。否则,就需要重新编译版本,再次执行版本可接收确认测试,直到成功。

    新版本的基本功能确认检查的测试,有的公司成为版本健康检查(Build Sanity Check)。对于编译的本地化软件新版本,除了进行上面提到的各种测试检查,还要检查是否在新的本地化版本中正确包含了全部应该本地化的文件。可以通过采用文件和目录结构比较工具,首先比较源语言版本和本地化版本的文件和目录中的文件数目、文件名称和文件日期等,这个过程称为版本镜像检查(Build Image Check)。其次,分别安装源语言版本和本地化版本,比较安装后的文件和目录结构中的文件数目、文件名称和文件日期等,这个过程称为版本安装检查(Build Installing Check)。

    随机测试

    在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoc testing),主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。

    随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。

    理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于被测试的软件越熟悉,执行随机测试越容易。只有不断的积累测试经验,包括具体的测试执行和对缺陷跟踪记录的分析,不断总结,才能提高。
  • Linux新手系列之二

    2007-05-23 12:06:29

     你从来只用过Windows,从来没接触过UNIX,只知道把一个文件拽来拽去,只知道硬盘就是C:\ D:\ E:\却从来没有研究过分区表,也许会用VC编个程序,很习惯它的集成环境....

      有一天,不管什么原因了,也许是看报纸上那些把内存和硬盘都分不清楚的记者的吹嘘,或者是老板要求你用它作个项目,或者是同学们都有了你没有觉得很土,或者你听说找工作有这个的经验就有更大希望....不管怎样,你想在自己的机器上安装一个Linux。OK,这个文章就是给你写的,因为从现在开始,你会有成堆的问题你会觉得从前在windows那里得来的有关计算机的经验好像完全用不上。你会觉得"Linux怎么这样麻烦"。你会有种从来没有开过汽车但是得把汽车拆开修理一样觉得无处下手。OK,这个文章就是为你写的。

      为什么要学Linux。其实你不必学习Linux,如果你就是想使用计算机让它使你的工作,比如打字,排版,统计数据等更有效率,Linux不行。Windows,或者我推荐windows 2000是你最好的选择,它对中文的支持很好,非常稳定,上面有无数应用程序,而且如果你自己承担风险,还可以使用盗版,免费。Linux将会给你造成很多麻烦,安装时会造成系统数据丢失,无法驱动网卡/声卡/显示卡/显示器,无法配置中文,图形界面速度慢,等等。从前在windows上很容易做到的比如修改显示频率或者安装新的网卡驱动在Linux下都变得好像要你自己重新上一次大一计算机原理课那么讨厌。呵呵,那Linux有什么好处呢?你会问。其实Linux没什么好处,从使用角度,它唯一的好处是它是我们自己的,而windows再好,是Microsoft的。“又能怎么样?”你也许又问。区别是,Linux可以让你来研究它,通过使用Linux你可以获得更深一步对计算机的了解……而不只是一个全自动的盒子。计算机是一个很神奇的东西,你也许对那些写出windows的程序员很崇拜(我是的),或者对那些能发明更好的算法更安全的操作系统的hacker(对不起,远程攻击系统的不是hacker)很崇拜,那么你应当知道,坐在一个windows的机器前面整天就会用鼠标拖拽也许能给你一个很好的打字员的薪水,但是永远无法让你进入真正计算机的世界--成为一个自由思想的Hacker,或者说,你只能永远是个windows的用户 …… 也没什么不好,很多领导还不会计算机呢 -- 而不可能有机会自己写一个windows。

      一个不太妙的结果是,当世界上充满了windows的奴隶时,我们就得花更大的价钱从Microsoft那里获得这样的技术,某些社会里,我们管这个叫做剥削。

      讲这么多,无非是说,萝卜不能两头切,至少现在是这样。要想什么别人都给你做好,系统安装一路回车,硬件配置点两下鼠标,对不起,请用windows 2000。如果你准备好了这一切,那么接着看吧。   
  • 学会在Linux下对硬盘分区

    2007-05-23 12:04:12

      第一点也是最重要的一点,要知道当前安装LILO的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即8G的空间以外,LILO就无法启动。 但一些BIOS较老的机器,LINUX仍然无法突破1024磁道的限制,因此这些BIOS无法认出大于1024的硬盘空间。

      1. 还需要考虑的问题有:
      2. 是否限制用户可使用的磁盘空间大小?
      3. 在系统中需要安装哪些软件?
      4. 交换分区需要多大?
      5. 系统是否有多个硬盘?

      下面,我们按系统工作性质的不同对分区的划分提出了一些建议。当然,根据实际情况,在满足系统工作需求的前提下,下面的分区大小也可以灵活的变动。

      一. 基本工作站的分区方案

      假设系统的硬盘大小是10G。

        /boot 20M
        Swap 128M
        /root 9.85G

      建立一个20M的/boot分区是为了避免将系统内核文件放到1024磁道以外,如果将/boot做为root分区的一个子目录,内核文件就会安装在root分区的任何地方,因为硬盘的大小超过了8G,所以在启动时就有可能出现问题。建议将交换分区的大小设置为内存的两倍,在这里我们假设系统的内存为64M。最后我们将硬盘的剩余空间全部分给了root分区。

      二. Red Hat Linux 6.2 及其早期版本上的基本服务器硬盘分区方案

      这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。

        /boot 20M
        Swap 128M
        / 10G
        /home 13G
        /var 2G
     在硬盘的最前面创建20M大小的/boot分区,原因同上。交换分区的大小也是128M,因为内存的大小为64M。

      / ,即root分区设为10G这么大是因为其中有一个/usr目录,这个目录可能会占用很多硬盘空间,特别是在安装了X Server,运行图形界面的应用程序的时候。

      /home分区是硬盘中最大的分区,这似乎与我们假设系统用户数不多有些矛盾。实际上在/home目录下确实没有几个用户目录,但在Red Hat6.2及更早的版本中,Apache服务器和wu-ftpd FTP服务器被放在了/home/httpd及/home/ftp目录中。所以这个分区这么大也是有原因的。

      最后,/var目录独自占用了一个分区,因为系统的所有日志都写到了/var/log目录下,这将会占用很大的硬盘空间。如果系统日志记录得非常详细,整个目录很快会被写满,导致系统工作呆滞。当然,可以通过系统日志后台守护程序syslogd来修改日志配置,避免发生这种情况。

      三. Red Hat 7及以上版本的基本服务器分区方案

      这种情况同前一个方案的情况相同,不同的是LINUX版本为Red Hat 7.0及其以上版本。

      /boot 20M
      Swap 128M
      / 10G
      /var 15G

      与RedHat6不同,在RedHat7中HTTP服务和FTP服务的目录现在位于 /var/www/ 和/var/ftp/,因此/var分区有15G之大也就不难理解了。
      四. 多用户服务器分区方案

      在这种服务器系统中,同时有多个用户通过telnet, ssh, rlogin或其方式在远程访问系统。系统中有三个35G的硬盘驱动器,总共有105G的磁盘空间 。系统中用到了RAID 5技术做数据冗余。这种情况下,管理员必须为每个用户分配磁盘空间。对RedHat 6.2及更早的版本,分区如下:

      Disk 1:
        /boot 20M
        / 4G
        /var 3GB
        /home 27.98G
      Disk 2:
        swap 20MB
        / 4GB
        /var 3GB
        /home 27.98GB
      Disk 3:
        swap 20MB
        / 4GB
        /var 3GB
        /home 27.98GB

      这样分区的原因:首先,Disk1上的20M /boot分区不属于任何RAID阵列,否则如果你将/boot放至RAID阵列中,以后就不能系统内核升级了。

      为了方便管理,在其它两个硬盘中建立了20M的交换分区。这种服务器一般配有1G以上的内存,因此交换分区的大小不成问题。如果增大交换分区,就会减少RAID分区空间,所以20M是足够的。RAID分区的分组如下:

      1-A, 2-A, and 3-A 一起组成一个8G的 RAID 5 驱动器,做为/根目录打开。
      1-B, 2-B, and 3-B 组成 6GB的 RAID 5 驱动器,做为 /var目录。
      1-C, 2-C, and 3-C 组成 55.96GB RAID 5 驱动器, 做为 /home.目录。

      这种分配方案总共有55.96G的空间分配给所有用户及Apache和FTP服务,在/var下用6G空间用做记录日志、邮件,这么大的空间是足够的。

      如果安装Red Hat7或以上版本,应给/var分区更大的空间,因为它同时还存放着WEB和FTP服务的两个目录。
  • linux 安装过程全功略

    2007-05-23 11:57:16

    安装LINUX其实和安装WIN98一样容易,不相信,咱走着瞧。

      (一)安装前准备  

      1、由于初次安装RedHat,为了避免与WIN98冲突,我特地找个闲置的640M的硬盘,并把它设置为从盘,打算把RedHalt安装到该硬盘上。进入WIN98后,系统自动识别为D盘。(如何在同一硬盘上安装LINUX与WIN98,请参阅主页上中文HOW文档)

      (二)开始安装Linux:

       开机进入COMS设置,把引导顺序改为CDROM、A、C。把RedHat6.0光盘放入光驱,系统自动进入安装状态。初次安装,还是执行默认值为妙,由于各自硬件不同,我谈谈我的几个主要步骤吧。 

        1、为Linux添加一个分区,用Tab选择Add钮,按回车,屏幕上将出现一个题为“Edit New Partition”的对话框。首先我们在Mount Point项中,输入这个分区(hdb)所对应的系统目录/(根目录);接着在Size(Megs)项中,输入分区的大小600(单位兆);在Type这一项中用光标上、下键选择适当的分区类型,我们选中Linux的文件分区Linux native;最后按OK确认。这样我们就成功地建立起一个为Linux所用的分区了。如果你的硬盘空间允许,你完全可以再建立一个或几个分区给Linux使用。接着用同样的方法给Linux增加一个交换分区,不同的仅是Mount Point项让它空着,在Type项目中选择Linux Swap。输入分区大小(如64),注意,交换分区的大小不能低于物理内存的实际大小。为Linux分好了区,按OK将分区信息写入硬盘。接着就是进行格式化了,执行默认值吧,  

        2、定制安装Linux软件了,硬盘空间有限,使用默认值算了,哦,我需要KDE,我加上KDE项!好了,现在可以安装了。

        3、设置显示器。我的显示器可不是名牌的,,找个替代吧,我选Viewsonic 14ES,显示器才能上到真彩 否则是丑陋的256色(告诉你,这是我多次配置XWindows才得到的答案喔)。

        5、设置显示卡。到显卡列表找吧,找呀找,终于找到了我的SIS6326,要不然就有点麻烦了。

        6、设置系统管理员密码,密码至少六个以上,它不会出现如WIN下的***,千万不要乱打呀,没有正确的密码可进不了Linux系统的哦。  

        7、系统提示制作启动盘,我可要用它启动我的RedHalt的啊,插入软盘后YES。

        8、安装LILO(Linux多操作系统启动管理器)。我想我大多数的时间还是用Win98吧,选SKIP跳过这一步。用Linux时插入启动盘啦。 

  • Linux命令

    2007-05-23 11:55:42

     Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面,作为一个典型的DOS 和WINDOWS用户,让我们一起来学习Linux的一些主要命令,希望大家能尽快进入到Linux的世界里。

      一、启动

      Linux的启动操作过程和DOS相似(尽管如此,但作为操作系统本身,Linux在启动和退出时所作的工作要比DOS多得多),也可以通过按下Ctrl+Alt+Del三键进行热启动。不同的是Linux启动到最后时,需要进行登录。下面是一个典型的登录过程:

      ……

      RedHat Linux release 5.1

      Kernel 2.0.32 on an i686

      login:

      你键入:root后,计算机显示输口令(password:),输入你的口令(如果是第一次启动,则是你在安装时所输入的口令)即可。当计算机出现一个“#”提示 符时,表明你登录成功!

      [root@localhost root]#_    Linux提示符 (现在的版本都更新了,默认启动到KDE环境,所以看到的是已经类似WINDOWS的桌面了,而root@localhost root仅只是一个终端)

      C:\>_         DOS提示符

     二、常用的一些命令:

      1.显示文件目录命令ls(DOS下为DIR)

      在Linux中用ls命令显示文件及目录(当然,你仍然也可用DIR命令,只不过在这里的参数不同)。例如:#ls

      root mnt boot dev bin usr xiong tmp etc games

      看起来似乎简单(就相当于DOS中的“DIR/W”),但你会发现你看到的有些难懂,连哪些是目录哪些是文件都不清楚,哪些又是可执行文件呢?不要紧,请输入:#ls -F+root/ mnt/ boot/ dev/ bin/ usr/ xiong* tmp/ etc/ games / readme

      看清楚了吧,带*为可执行文件(相当于DOS中的EXE和COM文件),带/为子目录,其它的为通用文件。另外,我们可用ls -l显示文件目录的详细情况(相当于DOS中的DIR命令)。千万注意区分大小写!!如LS -f;Ls等都是错误的。另外,ls命令还有许多参数,你可以用man ls或ls--help去进一步了解。

      2.改变当前目录命令cd(DOS下为CD)

      在DOS中,我们可以用C:\>CD\MNT\cdrom或cd\mnt\cdrom

      C:\mnt\cdrom>cd ..或cd..或CD..

      C:\mnt>cd\或C:\mnt>cd \

      而在Linux中为cd /mnt/cdrom,目录名的大小写必须与实际相同,cd后必须有空格。

      pwd 显示当前目录

      cd .. 必须为小写,必须有空格

      cd / 总目录为/,cd与/必须有空格

      3.建立子目录mkdir(DOS下为MD或MKDIR)

      在Linux中只能用mkdir,可用相对路径和绝对路径,请比较:

      C:\>md xiong或md \xiong或md\xiong

      DOS系统

      [root@localhost /]#mkdir xiong或mkdir /xiong

      Linux系统

      4.删除子目录命令rmdir(DOS下为RD)

      在Linux中用rmdir命令删除子目录,例如:

      rmdir /mnt/cdrom 相当于rd \mnt\cdrom

      注意:同DOS一样,要删除的子目录必须是空的,而且必须在上一级目录中才能删除下一级 子目录。

      5.删除文件命令RM(DOS下为DEL或EARSE)

      在Linux中用RM命令删除文件,例:

      rm /ucdos.bat 相当于del \ucdos.bat

      6.文件改名命令MV(DOS下为REN或RENAME)在Linux中用mv命令给文件改名,例:

      mv /mnt\floppy p相当于 ren \mnt\floppy p

      说明:在Linux中的mv命令除了文件改名外,还有文件移动的功能,请看例子:

      mv /mnt/floppy /bin 相当于DOS中的命令 move \mnt\floppy \bin

      7.文件复制命令cp(DOS下为COPY)

      在Linux中用cp命令进行文件复制,例:

      cp /ucdos/* /fox 相当于copy \ucdos\*.* \fox

      注意:DOS中的*.*在Linux中用*代替。

     二、常用的一些命令:

      1.显示文件目录命令ls(DOS下为DIR)

      在Linux中用ls命令显示文件及目录(当然,你仍然也可用DIR命令,只不过在这里的参数不同)。例如:#ls

      root mnt boot dev bin usr xiong tmp etc games

      看起来似乎简单(就相当于DOS中的“DIR/W”),但你会发现你看到的有些难懂,连哪些是目录哪些是文件都不清楚,哪些又是可执行文件呢?不要紧,请输入:#ls -F+root/ mnt/ boot/ dev/ bin/ usr/ xiong* tmp/ etc/ games / readme

      看清楚了吧,带*为可执行文件(相当于DOS中的EXE和COM文件),带/为子目录,其它的为通用文件。另外,我们可用ls -l显示文件目录的详细情况(相当于DOS中的DIR命令)。千万注意区分大小写!!如LS -f;Ls等都是错误的。另外,ls命令还有许多参数,你可以用man ls或ls--help去进一步了解。

      2.改变当前目录命令cd(DOS下为CD)

      在DOS中,我们可以用C:\>CD\MNT\cdrom或cd\mnt\cdrom

      C:\mnt\cdrom>cd ..或cd..或CD..

      C:\mnt>cd\或C:\mnt>cd \

      而在Linux中为cd /mnt/cdrom,目录名的大小写必须与实际相同,cd后必须有空格。

      pwd 显示当前目录

      cd .. 必须为小写,必须有空格

      cd / 总目录为/,cd与/必须有空格

      3.建立子目录mkdir(DOS下为MD或MKDIR)

      在Linux中只能用mkdir,可用相对路径和绝对路径,请比较:

      C:\>md xiong或md \xiong或md\xiong

      DOS系统

      [root@localhost /]#mkdir xiong或mkdir /xiong

      Linux系统

      4.删除子目录命令rmdir(DOS下为RD)

      在Linux中用rmdir命令删除子目录,例如:

      rmdir /mnt/cdrom 相当于rd \mnt\cdrom

      注意:同DOS一样,要删除的子目录必须是空的,而且必须在上一级目录中才能删除下一级 子目录。

      5.删除文件命令RM(DOS下为DEL或EARSE)

      在Linux中用RM命令删除文件,例:

      rm /ucdos.bat 相当于del \ucdos.bat

      6.文件改名命令MV(DOS下为REN或RENAME)在Linux中用mv命令给文件改名,例:

      mv /mnt\floppy p相当于 ren \mnt\floppy p

      说明:在Linux中的mv命令除了文件改名外,还有文件移动的功能,请看例子:

      mv /mnt/floppy /bin 相当于DOS中的命令 move \mnt\floppy \bin

      7.文件复制命令cp(DOS下为COPY)

      在Linux中用cp命令进行文件复制,例:

      cp /ucdos/* /fox 相当于copy \ucdos\*.* \fox

      注意:DOS中的*.*在Linux中用*代替。

  • Linux命令使用技巧集锦

    2007-05-23 11:50:54

    初用Linux时可能有处处不方便的感觉, 可是等使用一段 时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我 使用Linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的.

      1. 使用虚拟控制台   

      登录后按Alt+F2键这时又可以看到"login:"提示符, 这 个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控 制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有用的时 候是当一个程序出错锁住输入时可以切换到其他虚拟控制台 ?

      2. 拷贝与粘贴  

      字符界面: 不管是Slackware 还是RedHat 安装后每次启 动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用 鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了. X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话 按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置XF86 时在鼠标的设置里选择 Emulate 3 Button).

      3. 快速进入某些目录

      键入 cd ~ 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录.

      4. 软驱的使用

      如果是Linux 的ext2文件系统用如下命令: #mount -t ext2 /dev/fd0 /mnt dos格式的软盘则用命令: #mount -t msdos /dev/fd0 /mnt 然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之 前要先卸掉软盘上的文件系统, #umount /mnt 否则会导致信息丢失. 在软盘上建立文件系统可用如下命令: #mke2fs /dev/fd0 1440

      5. RedHat下显示彩色目录列表   

      打开/etc/bashrc, 加入如下一行: alias ls="ls --color" 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: 蓝色-->目录 绿色-->可执行文件红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

      6. 显示文件的类型   

      用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell scrīpt文件或是其他的什么格式 例如: #file startx

    初用Linux时可能有处处不方便的感觉, 可是等使用一段 时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我 使用Linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的.

      1. 使用虚拟控制台   

      登录后按Alt+F2键这时又可以看到"login:"提示符, 这 个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控 制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有用的时 候是当一个程序出错锁住输入时可以切换到其他虚拟控制台 ?

      2. 拷贝与粘贴  

      字符界面: 不管是Slackware 还是RedHat 安装后每次启 动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用 鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了. X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话 按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置XF86 时在鼠标的设置里选择 Emulate 3 Button).

      3. 快速进入某些目录

      键入 cd ~ 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录.

      4. 软驱的使用

      如果是Linux 的ext2文件系统用如下命令: #mount -t ext2 /dev/fd0 /mnt dos格式的软盘则用命令: #mount -t msdos /dev/fd0 /mnt 然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之 前要先卸掉软盘上的文件系统, #umount /mnt 否则会导致信息丢失. 在软盘上建立文件系统可用如下命令: #mke2fs /dev/fd0 1440

      5. RedHat下显示彩色目录列表   

      打开/etc/bashrc, 加入如下一行: alias ls="ls --color" 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: 蓝色-->目录 绿色-->可执行文件红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

      6. 显示文件的类型   

      用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell scrīpt文件或是其他的什么格式 例如: #file startx

    初用Linux时可能有处处不方便的感觉, 可是等使用一段 时间掌握了一些技巧后就会感到越来越顺手了. 以下就是我 使用Linux以来积累的一些经验与技巧, 相信对初学者会有所帮助的.

      1. 使用虚拟控制台   

      登录后按Alt+F2键这时又可以看到"login:"提示符, 这 个就是第二个虚拟控制台. 一般新安装的Linux有四个虚拟控 制台, 可以用Alt+F1~Alt+F4来访问. 虚拟控制台最有用的时 候是当一个程序出错锁住输入时可以切换到其他虚拟控制台 ?

      2. 拷贝与粘贴  

      字符界面: 不管是Slackware 还是RedHat 安装后每次启 动时都会自动运行一个叫gpm的程序, 该程序运行后就可以用 鼠标来拷贝与粘贴了. 具体做法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了. X-Window下: 拷贝的操作与字符界面下一样, 三键鼠标的话 按中键粘贴, 两键鼠标的话同时按左右键粘贴(须在配置XF86 时在鼠标的设置里选择 Emulate 3 Button).

      3. 快速进入某些目录

      键入 cd ~ 可进入用户的home目录. 键入 cd - 可进入上一个进入的目录.

      4. 软驱的使用

      如果是Linux 的ext2文件系统用如下命令: #mount -t ext2 /dev/fd0 /mnt dos格式的软盘则用命令: #mount -t msdos /dev/fd0 /mnt 然后就可以在/mnt里访问软盘的内容了, 注意在取出软盘之 前要先卸掉软盘上的文件系统, #umount /mnt 否则会导致信息丢失. 在软盘上建立文件系统可用如下命令: #mke2fs /dev/fd0 1440

      5. RedHat下显示彩色目录列表   

      打开/etc/bashrc, 加入如下一行: alias ls="ls --color" 下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下: 蓝色-->目录 绿色-->可执行文件红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件

      6. 显示文件的类型   

      用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件, 还是shell scrīpt文件或是其他的什么格式 例如: #file startx

     7 .命令文件的路径   

      当你键入一些命令如find, shutdown, mount, startx时是否 想过要知道这些文件究竟放在哪个目录里? 用命令 whereis 可以实现,如 #whereis startx

      8. 查找文件

      find 命令要加一些参数才能查到文件, 如: #find /usr -name XF86Setup -print 在/usr里查找文件XF86Setup.

      9. 删除无用的core文件

      程序运行出后有时候会产生一个名为core的文件, 这个文件一般很大而且没什么用, 可以删除掉以释放空间.

      10. 一次解开.tar.gz文件

      解开.tar.gz文件一般要先用gunzip解压再用tar解包, 在Linux下可以一次完成, 如: #tar zxpvf sample.tar.gz

      11. 显示win95分区里的长文件名   

      如果你发现win95分区里的长文件命不能显示, 可以重新 用vfat方式来mount. 对于启动时就mount的分区可以修改文 件/etc/fstab, 将里面的msdos字样改为vfat. 如果无法用 vfat mount, 则要重新编译一下核心, 加入对vfat的支持.

      12. Linux 里的Norton Commander   

      在提示符下键入命令mc后你就会看到一个与Norton Commander很相似的界面, 实际上功能也很相似甚至更强大, 比如可以直接对.tar.gz 压缩包里的文件进行操作(有点像 ZipMagic).

      13. 启动后直接进入X

      编辑/etc/inittab文件, 把id:3:initdefautl改为 id:4:initdefautl. 不过搜索路径可能会有些问题, 关机时 你得直接进入/sbin 里去执行 shutdown.

      14. 后台运行 X 程序

      执行一个X程序时别忘了在后面加一个&号,如 #netscape & 否则的话在你推出执行的程序之前再无法在那个终端窗口里输入命盍?

      15. 强行退出 X

      有时候在 X 里由于程序出错鼠标键盘都不起作用, 这时 候不用着急, 因为在Linux下几乎不会像在Win95里那样恶性 死机, 你只须键入Ctrl+Alt+BackSpace键就可以回到字符界 面下了.

     16. 重装Win9x后lilo失效无法启动Linux  

      只须先用软盘启动Linux然后运行一次lilo即可。对于 RedHat可以用命令mkbootdisk来制作启动盘,例如: mkbootdisk --devices /dev/fd0 2.0.34-1 其中2.0.34-1是 /lib/modules下的一个目录。

      17. 把dos/windows改为缺省启动的OS  

      RedHat把Linux作为lilo缺省启动的OS,即出现 boot: 提示符后直接回车启动Linux。如果想改为dos/Windows,修 改文件/etc/lilo.conf,把有关启动dos的部分放在前面,再 运行一次lilo即可。例如把lilo.conf从: boot=/dev/hda

      map=/boot/map

      install=/boot/boot.b

      prompt

      timeout=50

      image=/boot/vmlinuz-2.0.34-1

      label=linux

      root=/dev/hdc5

      read-only

      other=/dev/hda1

      label=dos

      table=/dev/hda

      改为:

      boot=/dev/hda

      map=/boot/map

      install=/boot/boot.b

      prompt

      timeout=50

      other=/dev/hda1

      label=dos

      table=/dev/hda

      image=/boot/vmlinuz-2.0.34-1

      label=linux

      root=/dev/hdc5

      read-only

      18. 去掉引导区内的lilo信息

      安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只须用软盘启动dos再运行 fdisk/mbr 即可。(这个方法还可清除任何引导区病毒)

      19. 让 X 支持 AGP 显卡

      下载一个 AX 4.1 即 AcceleratedX 4.1 , 一个商业版 的 X Server 。除 AGP 显卡外 AX 还支持很多牌号的显卡。 另外还可以用AX 带的设置程序 Xsetup 方便的对分辨率,刷 新率等参数进行设置。不过我也不知道用AGP卡效果如何,因 为我现在还在用老掉牙的 S3 765 。

     20. 把 man 或 info 的信息存为文本文件

      以 tcsh 为例: man tcsh   col -b > tcsh.txt info tcsh -o tcsh.txt -s

      21. 用当前路径作提示符

      对 bash 来说,在 .bashrc 里加一行: PS1="\$PWD\\$" 对 tcsh 来说,在 .tcshrc 里加一行: set prompt="%/>"

      22. 压缩可执行文件

      Linux 下有一个类似 dos 里的 pklite 和 lzexe 的命 令 -- gzexe 。而且压缩率一般都可以超过 50% ,在空间紧 张时很有用。比如:

      /dosc/temp# ls -al

      total 148

      -rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk

      /dosc/temp# gzexe

      gawk gawk: 54.5%

      /dosc/temp# ls -al

      total 216

      -rwxr-xr-x 1 root root 68710 Dec 8 15:36 gawk

      -rwxr-xr-x 1 root root 149564 Dec 8 15:33 gawk

      /dosc/temp#

      23. 查看 Linux 启动时的信息  

      Linux 启动时屏幕显示的信息来不及看清就一闪而过, 如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看。

      24. 处理文件名内含有特殊字符的文件  

      如果有一个文件名叫 -file 如果想删除它,键入 rm -file 会显示 invalid option ,原来由于文件名的第一个字符为 - , Linux 把文件名当作选项了,可以加 -- 解决 这个问题, 如 rm -- -file 。如果是其他特殊字符的话可 以在特殊字符前加一个 \ ,或者用双引号把整个文件名括起来。

      25. 一次处理一整个目录

      Linux/UNIX 的很多常用命令如 rm , cp 等都有一个参 数---- -r , 是递归的意思, 命令里加了参数 -r 就可以对目标目录及其下所有子目录进行操作,如: rm -rf /test (f 是 force 意为强行) , 该命令完全删除 根目录下的子目录 test ,作用类似于 dos 下的 deltree ,当然使用这个命令时要特别小心。再如: cp -r /test /test1 有类似 dos 下 xcopy /s 的作用。

      26. 修改登录画面

      对本机: 先修改文件 /etc/issue 改为相要显示的内容, 再修改文件 /etc/rc.d/rc.local(RedHat) 或 /etc/rc.d/rc.S(Slackware) 把下面几句注释掉:

      # This will overwrite /etc/issue at every boot. So, make any changes you

      # want to make to /etc/issue here or you will lose them when you reboot.

      echo "" > /etc/issue

      echo "Red Hat Linux $R" >> /etc/issue

      echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue  

      cp -f /etc/issue /etc/issue.net

      echo >> /etc/issue

      不然的话每次重新启动 /etc/issue 都会被更改。

      对 telnet 的远地机器: 先把文件 /etc/usr/sbin/in.telnetd 改名,如改为 in.telnetd.exe ,再编一个名为 in.telnetd 的 shell 脚 本, 在显示完需要的内容后再调用 in.telnetd.exe 。如:  

      #!/bin/sh cat /etc/login.banner #需要在登录提示符前显示的内容 echo -n "" exec /usr/sbin/in.telnetd.exe

      27. 几个有用的别名

      几个能方便操作和减少误操作的别名,建议把它们放到启动 文件里, 如 /etc/bashrc 。   

      alias rm='rm -i'

      alias cp='cp -i'

      alias mv='mv -i'

      #前三个别名的作用是在删除、覆盖文件之前先提示确认, RedHat已经自动 #加上了,强烈建议Slackware的用户也加上,因为 Linux/UNIX下文件一旦删 #除就再也无法恢复了。  

      alias l='ls -l'

      alias cd..='cd ..'

      alias utar='tar xvfz' #解 *.tar.gz 文件

      alias inforpm='rpm -qpi' #显示rpm包的信息

      alias instrpm='rpm -Uhv' #安装rpm包

      alias listrpm='rpm -qpl' #列rpm包内的文件

      alias uistrpm='rpm -e' #反安装rpm包

      28. 使用命令补齐

      所谓命令补齐(Command-Line Completion)是指当键入的 字符足以确定目录下一个唯一的文件时只须按 Tab 键就可以 自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下 的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时如果该文件是该目录下唯一以 g 起头的文件 的话就可以按下 Tab 键,这时命令会被自动补齐为:tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便。

      29. 最后一条技巧  

      有时间的话多看看系统提供的FAQ文件,因为通常遇到的 问题大多数都能在里面找到答案。

  • Linux新手系列之一

    2007-05-23 11:45:03

     那么Linux是什么呢?Linux是基于PC(其它平台也有的支持)的UNIX兼容系统,在跟UNIX的关系上,它不比任何其它UNIX兼容系统远

       OK,你的第一个问题是:什么是Linux,它和UNIX有什么区别?问这个问题的原因呢,多半是你还在大一的时候一次去实验室,看到高年纪学生在一个特大屏幕的机器上作题,你羡慕的看着他,问:"这是什么计算机啊,这么高级?"而他不无骄傲的说,"这是UNIX"。后来你懂的多了,知道那是SUN工作站,上面运行着Solaris,就是UNIX。现在你又听说Linux也是UNIX,是怎么回事呢?

      short answer:去看书,街上很多Linux的书第一章就是讲他们的历史和亲属关系的。

      long answer: UNIX是一个20还是30年前由几个研究生在实验室里开始后来一个大公司把它商业化了的一个操作系统。一来二去,它成长并且占领了市场。当时它只是运行在只有大学才买得起一两台的昂贵机器上。后来机器多了,公司多了,懂得人也多了,就分家了,而"UNIX"这个名字由于法律关系,谁也不能说自己的操作系统是"UNIX"而只能说是"UNIX兼容"系统了。所以现在"UNIX"系统是不存在的,存在的只是一个遥远的传说。那么现在那些Solaris,AIX,IRIS都是什么呢?那些都是各公司在他们硬件平提上作的商业UNIX,这些系统都遵循一个叫POSIX的古怪标准,对了,这个标准呢,是后来UNIX太多太乱,大家编程接口甚至命令都不一样了所以没办法座下来商量的一个协议。

      那么Linux是什么呢?Linux是基于PC(其它平台也有的支持)的UNIX兼容系统,在跟UNIX的关系上,它不比任何其它UNIX兼容系统远。所以如果你有"Solaris才是正统UNIX,Linux只是兼容"的想法,对不起你错了,起码你得把支持AIX的人打败才行,他们还认为AIX才是正统UNIX呢。所以用Linux你可以学到有关UNIX的知识,这些知识绝大部分在其它商业UNIX上可以用得上。当然,其核心思想绝对是相同的。那么在三年前只有你的读博士的辅导员才有机会在实验室那台宝贝SUN上学的知识,你现在在PC机上就可以实践了,这难道不是很妙的一件事情么? 

     第二个问题:我想装一个Linux,最新的是哪个版本,我听说过xxxlinux,yyylinux,还有国内某个公司鼎力推出的zzzlinux,到底哪个更好呢?

      首先你需要明白,Linux不是windows,它不是一个由一家商业公司维护的软件,只有一个包装。Linux是可以任意包装自由配置的东西。任何一个人,一家公司都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。区别是用一种Linux 发布 (不同的Linux我们叫做不同的发布)也许硬件很好配置,各种软件也好安装,用另外一种也许速度快,再一种也许支持中文比较好。总之没有白吃的午餐,在windows下想当然的东西在linux下也许需要你熬夜才能得到。所以从一开始选择distribution就必须非常小心,否则因为自己刚好随某个杂志得到一个Linux发布就以为所有的都一样就开始安装,等硬盘数据毁了,或者网络哭天跄地也配不出来的时候,就晚了。不是开玩笑,我知道windows下安装驱动程序就是鼠标点几下,可是在Linux下,为了驱动一个网卡,折腾一夜是不希奇的--当然,我觉得这是值得的。

      所以,面对那么多Linux distribution,你应当选择哪个呢?

      比较著名的Linux distribution有:

      RedHat:最新版本6.2, 7.0beta。由于RedHat公司已经上市,获得了很多商业的支持,所以它在硬件软件兼容性上很好。实际上它已经是Linux的工业标准。想象一下如果你是一个比如Oracle这样厂商的老板,你需要为Linux开发一个版本,而不同的Linux dist需要单独开发维护,为成本考虑你自然会只认准一个Linux。

      Slackware(7.1)。很早就有的Linux,有很多老的忠实用户,但现在越来越不行了。

      SuSe Linux,德国人做的,在欧洲很流行,有一些驱动上的优势。

      另外还有Debian,CorelLinux等dist,不一一介绍了。

      还有你会看到国内媒体上吹捧的各种“中文Linux”,他们的优势主要是有中文处理。但是如前一篇文章提到的,想用中文,用windows 2000最好。实际上我觉得一个老7字班的前辈跟我说的一句话很好:“(对我们来说)在计算机上看到中文本身就是一件很古怪的事情”。如果你是抱着学习计算机的目的而来,那么你不可能避免阅读英文文档。即使是microsoft的文档,有关编程的文档,最新的也全是英文。当然,要上BBS,看中文网页等,用英文的dist一样能做到。

      作为我个人(个人观点,你不必相信我),我只用RedHat,因为我需要它作为一个操作系统能让我更快的掌握并且学习我想学习的知识,而不是跟愚蠢的网卡,声卡作斗争。尽管这些斗争对于学习Linux来说也是很有益的,但是对于一个新手来说,如果连系统都安装不上,无法配置,又怎么谈如何学习呢?

      Again,this is only my own opnion, and I could be wrong。

      在这个系列里,我会围绕RedHat 6.2来讲。

      

  • Tomcat简介

    2007-05-23 11:38:56

    集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。

    三:展望

    Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越收到人们的重视,Linux就是一个成功的典型。人们不再限于只使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。
  • 软件开发与软件测试的区别!!!

    2007-04-18 16:06:48

    软件开发与软件测试的区别!!!

    (大概区别)

    软件测试工程师:查找bug、管理bug、质量保证
    软件开发工程师:系统设计、编码、修改bug
    测试工程师与开发工程师目标一致、行为对立、并行工作。

    薪水收入:
    软件开发:跨度非常大,1000-4、5万/月不等
    软件测试:薪资稳定,一般为2000-6000/月

    职业年限:
    软件开发:3-5年
    软件测试:有可能做到退休(如果你自己希望的话)

    职业发展
    软件开发:做了3-5年开发后,仍未升为项目经理,考虑转行
    软件测试:随着项目经验的增加及对行业背景了解的加深,越老越吃香

     

  • jira和td的比较

    2007-04-02 11:31:12

    一、            前言

    20067月以来,根据公司的要求,对JIRA工具进行调研和试用,并且与TD进行详细的对比分析。具体情况如下所述。

    二、            介绍

    1.     JIRA介绍

    JIRA是集项目计划、任务分配、需求管理、错误跟踪于一体的商业软件。JIRA创建的问题类型包括New FeatureBugTaskImprovement四种,还可以自己定义,所以它也一是过程管理系统。Jira融合了项目管理、任务管理和缺陷管理,许多著名的开源项目都采用了JIRA

    JIRA 是目前比较流行的基于Java架构的管理系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。正因为其开放性,价格上自然也相当不菲,对于中小型的软件企业做项目管理,则又要另寻出路。

     

    功能列表:

    l         问题追踪和管理(问题类型包括New Feature-新功能、Bug-缺陷、Task-任务、Improvement-改进 四种);

    l         问题跟进情况的分析报告;

    l         项目类别管理功能;

    l         组件/模块负责人功能;

    l         项目email地址功能;

    l         无限制的工作流。

     

    2.     TD介绍

    TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司组织内进行全球范围内测试的协调。通过在一个整体的应用系统中提供并且集成了测试需求管理、测试计划和用例管理、测试日程控制、测试执行和缺陷跟踪等功能,TestDirector 极大地加速测试过程。

     

    功能列表:

    l         域及工程管理;

    l         用户管理;

    l         工程进行定制(属性和列表、用户、用户组、版本、工作流、邮件通知等)

    l         测试需求管理;

    l         测试计划和用例管理;

    l         测试日程控制;

    l         测试执行和缺陷追踪。

    l         强大的统计分析功能。

     

    三、            JIRA的优缺点

    1.     JIRA的优点

    用它管理项目,跟踪任务、bug,通过JIRA的邮件通知功能进行协作通知,在实际工作中使工作效率提高很多,效果非常不错!安全性、可扩展性方面发挥到了极致!

    JIRA不仅仅是一个缺陷跟踪系统,通过Jira,可以整合客户、开发人员、测试人员,各人各司其职,信息很快得到交流和反馈,让大家感到软件开发在顺利快速的进行,朝意想的目标迈进。IDEA下的Jira插件,主要为开发人员服务,实时将信息反馈给开发人员,开发人员同时迅速地将修复的结果信息反馈到跟踪系统中,最后通过持续集成,软件迅速地完成了更新,这些方便便捷的操作会极大地鼓舞软件开发中的各方人员,甚至包括客户,及时响应,相信是每一个客户都会欣赏的。

    跟同类软件产品TestTrackerClearQuestTestDirector相比,JIRA的性价比最好!因为TestTrackerClearQuestTestDirector等这几类软件都是根据用户数来定价的,而JIRA软件不限制用户数!不限制创建项目数和Issue的数量!一年内免费更新版本!!

     

    2.     JIRA的缺点

    对于测试需求、测试用例等都没有提供直接的方式进行管理。

     

    四、            TD的优缺点

    1.     TD的优点

    TestDirector能消除组织机构间、地域间的障碍。它能让测试人员、开放人员或其它的IT人员通过一个中央数据仓库,在不同位置就能互通测试信息。TestDirector将测试过程流水作业从测试需求管理,到测试计划,测试日程安排,测试执行以至到出错后的跟踪仅在一个基于浏览器的应用中便可完成。

    强大的统计分析功能:测试过程的最后一步是分析测试结果,确定应用程序是否已布属成功或需要再次的测试。TestDirector常规化的图表和报告和在测试的任一环节帮助您对数据信息进行分析。TestDirector还以标准的HTMLWord形式提供一种生成和发送正式测试报告的一种简单方式。测试分析数据还可简便地输入到一种工业标准化的报告工具,如ExcelReportSmith Crystal Reports,和其它类型的第三方工具。

     

    2.     TD的缺点

    由于其早期版本不能灵活的对项目管理流程进行配置,又由于其昂贵的价格,因此目前应用的企业也不是很多。

     

    五、            目前使用情况

    1.     JIRA的使用情况

    国际化缺陷跟踪管理的专业软件:JIRA,它用于帮助公司和团队跟踪工作中的问题,管理和记录这些问题的处理过程。现在, JIRA已经被分布于35个国家的2000多个组织管理人员、开发人员、分析人员、测试人员和其他人员所广泛使用。

     

    2.     TD的使用情况

    在工业级软件项目领域,由于Mercury是测试软件领域的老大(比较有名的如LoadRunnerWinRunner等),因此它的TD也成为了缺陷跟踪系统的标杆产品。其也是最早通过Web方式来进行管理的缺陷跟踪软件,目前也是被业界广泛使用的。

     

    六、            对比分析和总结

    对比要点

    JIRA

    TD

    功能侧重点

    集项目计划、任务分配、需求管理、错误跟踪于一体。

    主要用于测试流程管理,包括测试需求、测试计划和用例、测试执行和缺陷追踪管理。

    自定义过程

    支持

    支持

    是否支持图表,报表,查询

    有问题跟进情况的分析报告,但其报表分析功能比较简单

    有强大的报表分析功能,对测试流程的每个环节都能以图表方式进行分析报告

    价格

    JIRA软件不限制用户数

    根据用户数来定价格

    可扩展性

    提供二次开发,可扩展性强

    一般

    技术支持

    在国内有代理,有技术支持

    在国内有代理,有技术支持

    适用平台

    JIRA能够运行在已有软、硬件平台上。他能够运行于所有的安装了JDK的操作系统上,并能够跟几乎所有的兼容JDBC的数据库一起使用

    一般用于Windows平台

    易用性

    容易使用

    容易使用

    灵活性

    灵活性强

    一般

    安全性

    安全性强

    一般

    是否支持email通知功能

    支持

    支持

    是否支持用户管理功能

    支持

    支持

    是否易于定制

    易于定制

    易于定制

     

    其实从以上的对比分析,这两个工具的侧重点是不一样的,JIRA更加侧重于缺陷追踪和项目管理;而TD更侧重于测试过程管理,所以我们应该考虑的重点是如何将两个工具更好地和当前的项目管理和质量管理工作相结合的问题,将这两个工具运用在各自重要的地方。

     
  • svn简介

    2007-04-02 11:13:30

    SVN简介 (转)
      SVN站在更高层次上对现在的安全产品,从系统和控制的角度进行了"有机"和"无隙"的整合。
      SVN是一个安全虚拟网络系统,它将系统整体的信息安全功能均衡合理地分布在不同的子系统中,
      使各子系统的功能得到最大限度的发挥,子系统之间互相补充,系统整体性能大于各子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。
      SVN能在跨接Internet, Intranet, Extranet间的网络所有端点实现全面的安全,而且还能提供基于企业策略的信息管理机制以充分有效地利用有限的带宽。SVN可以满足各种企业VPN的要求,通过为公司内部网络、远程和移动用户、分支机构和合作伙伴提供基于Internet的安全连接。所以,我们可以将SVN看成是VPN、防火墙、基于企业策略的信息管理软件集成在一起的Internet安全的综合解决方案。在这样一个网络系统中,所有互联网服务器端和客户端都是安全的,并有一个信息管理机制以不断地通过这个外部网络环境动态地分析及满足客户的特定带宽需求。SVN提供了目前基于网络实现的eBusiness 应用的安全服务,它包含:
      对多种应用进行全面的安全认证;
      支持多种认证及PKI
      功能强大并对用户透明的通讯加密;
      面向用户的集中安全策略管理;
      统一跨接Internet、Intranet、Extranet的通讯。
      完整的SVN体系结构应包括以下部分:
      带有防火墙的VPN网关,它是一个将防火墙和VPN技术紧密结合的网关产品;
      SVN安全远程客户端软件包,一个功能强大的VPN客户端软件,支持台式机用户、远程用户和移动用户,具有集中化管理的个人防火墙功能和VPN用户的安全认证功能;
      SVN证书管理模块,一个用于SVN的完整PKI解决方案,它将完善的CA和LDAP目录服务器技术集成在一起;
      SVN硬件加密卡,可以通过硬件技术实现功能强大的各种算法以提高VPN的速度和性能;
      SVN智能带宽管理模块,一个基于企业策略的带宽管理解决方案,可以智能地管理有限的带宽资源,以确保用于企业重要应用的VPN性能可靠;
      SVN冗余管理模块,通过冗余网关集群和防火墙VPN内的SVN冗余模块,对执行重要任务的VPN和防火墙应用在出现故障时实现无缝切换。
      自动地址转换模块,一个自动管理IP地址和命名的解决方案,通过提供IP地址服务的跟踪和集中化管理,确保可靠地控制地址分配和提高TCP/IP管理效率;
      SVN安全服务器软件包,专门保护单个应用服务器安全的VPN网关软件,它可以保护进行敏感操作的服务器免受攻击和未授权的访问,使客户端建立与服务器间的安全认证和支持交换加密数据的连接;
      SVN安全客户端软件包,它将基于状态检测的防火墙和基于IPSec的VPN客户端软件集成在客户端机器上,通过提供集中管理的个人防火墙和对所有企业VPN用户的安全认证,增强客户端机器的安全性。它与  SVN安全远程客户端软件功能相比,增强了客户端的安全功能,如访问控制和安全初始化控制等。

  • 嵌入式系统定义和发展历史

    2007-03-23 16:23:34

    嵌入式系统定义
           嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
      嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
      嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
      1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
      2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
      3)可扩展的处理器结构,以能最迅速地开展出满足应的最高性能的嵌入式微处理器。
      4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
      嵌入式计算机系统同通用型计算机系统相比具有以下特点: 
      1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。
      2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
      3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力
      4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
      5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
      6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
    嵌入式系统发展历史
           目前,在嵌入式系统应用领域中,不少人对什么是嵌入式系统不甚了解。有些人搞了十多年的单片机应用,不知道单片机就是一个最典型的嵌入式系统;也有些人在解释什么是嵌入式系统时,不是从定义出发,而是列举了嵌入式系统的一些特点,往往不知所云。因此,有必要从现代计算的发展历史,了解嵌入式系统的由来,从学科建设的角度来探讨嵌入式系统较为准确的定义。
      1 现代计算机的技术发展史
      (1)始于微型机时代的嵌入式应用
      电子数字计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。直到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房;基于高速数值解算能力的微型机,表现出的智能化水平引起了控制专业人士的兴趣,要求将微型机嵌入到一个对象体系中,实现对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。这样一来,计算机便失去了原来的形态与通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中,实现对象体系智能化控制的计算机,称作嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去,这些是理解嵌入式系统的基本出发点。
      (2)现代计算机技术的两大分支
      由于嵌入式计算机系统要嵌入到对象体系中,实现的是对象的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。
      通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。 而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。
      早期,人们勉为其难地将通用计算机系统进行改装,在大型设备中实现嵌入式应用。然而,对于众多的对象系统(如家用电器、仪器仪表、工控单元……),无法嵌入通用计算机系统,况且嵌入式系统与通用计算机系统的技术发展方向完全不同,因此,必须独立地发展通用计算机系统与嵌入式计算机系统,这就形成了现代计算机技术发展的两大分支。
      如果说微型机的出现,使计算机进入到现代计算机发展阶段,那么嵌入式计算机系统的诞生,则标志了计算机进入了通用计算机系统与嵌入式计算机系统两大分支并行发展时代,从而导致20世纪末,计算机的高速发展时期。
      (3) 两大分支发展的里程碑事件
      通用计算机系统与嵌入式计算机系统的专业化分工发展,导致20世纪末、21世纪初,计算机技术的飞速发展。计算机专业领域集中精力发展通用计算机系统的软、硬件技术,不必兼顾嵌入式应用要求,通用微处理器迅速从286、386、486到奔腾系列;操作系统则迅速扩张计算机基于高速海量的数据文件处理能力,使通用计算机系统进入到尽善尽美阶段。
      嵌入式计算机系统则走上了一条完全不同的道路,这条独立发展的道路就是单芯片化道路。它动员了原有的传统电子系统领域的厂家与专业人士,接过起源于计算机领域的嵌入式系统,承担起发展与普及嵌入式系统的历史任务,迅速地将传统的电子系统发展到智能化的现代电子系统时代。
      因此,现代计算机技术发展的两大分支的里程碑意义在于:它不仅形成了计算机发展的专业化分工,而且将发展计算机技术的任务扩展到传统的电子系统领域,使计算机成为进入人类社会全面智能化时代的有力工具。
      2 嵌入式系统的定义与特点
      如果我们了解了嵌入式(计算机)系统的由来与发展,对嵌入式系统就不会产生过多的误解,而能历史地、本质地、普遍适用地定义嵌入式系统。
      (1) 嵌入式系统的定义
      按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。
      (2) 嵌入式系统的特点
      嵌入式系统的特点与定义不同,它是由定义中的三个基本要素衍生出来的。不同的嵌入式系统其特点会有所差异。
      与“嵌入性”的相关特点:由于是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。
      与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。
      与“计算机系统”的相关特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。与上两个特点相呼应,这样的计算机必须配置有与对象系统相适应的接口电路。
      另外,在理解嵌入式系统定义时,不要与嵌入式设备相混淆。嵌入式设备是指内部有嵌入式系统的产品、设备,例如,内含单片机的家用电器、仪器仪表、工控单元、机器人、手机、PDA等。
      (3)嵌入式系统的种类与发展
      按照上述嵌入式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SoC)。
      有些人把嵌入式处理器当作嵌入式系统,但由于嵌入式系统是一个嵌入式计算机系统,因此,只有将嵌入式处理器构成一个计算机系统,并作为嵌入式应用时,这样的计算机系统才可称作嵌入式系统。
      嵌入式系统与对象系统密切相关,其主要技术发展方向是满足嵌入式应用要求,不断扩展对象系统要求的外围电路(如ADC、DAC、PWM、日历时钟、电源监测、程序运行监测电路等),形成满足对象系统要求的应用系统。因此,嵌入式系统作为一个专用计算机系统,要不断向计算机应用系统发展。因此,可以把定义中的专用计算机系统引伸成,满足对象系统要求的计算机应用系统。
      3 嵌入式系统的独立发展道路
      (1)单片机开创了嵌入式系统独立发展道路
      嵌入式系统虽然起源于微型计算机时代,然而,微型计算机的体积、价位、可靠性都无法满足广大对象系统的嵌入式应用要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
      在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的,满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在MCS-48探索基础上,进行全面完善的嵌入式系统。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。
      (2)单片机的技术发展史
      单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
      SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。
      MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。
      Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
      单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
      4 嵌入式系统的两种应用模式
      嵌入式系统的嵌入式应用特点,决定了它的多学科交叉特点。作为计算机的内含,要求计算机领域人员介入其体系结构、软件技术、工程应用方面的研究。然而,了解对象系统的控制要求,实现系统控制模式必须具备对象领域的专业知识。因此,从嵌入式系统发展的历史过程,以及嵌入式应用的多样性中,可以了解到客观上形成的两种应用模式。
      (1) 客观存在的两种应用模式
      嵌入式计算机系统起源于微型机时代,但很快就进入到独立发展的单片机时代。在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业队伍并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯性的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;对象系统专业技术的密切相关性;缺少计算机工程设计方法。
      虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人士介入嵌入式系统应用开辟了广阔天地。计算机专业人士的介入,形成的计算机应用模式带有明显的计算机的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用。
      (2)两种应用模式的并存与互补
      由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓对象专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销,以8位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。另外,计算机专业人士会愈来愈多地介入嵌入式系统应用,但囿于对象专业知识的隔阂,其应用领域会集中在网络、通信、多媒体、商务电子等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的领域中相互补充。电子系统设计模式应从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和对象系统的基本要求等。
      (3) 嵌入式系统应用的高低端
      由于嵌入式系统有过很长的一段单片机的独立发展道路,大多是基于8位单片机,实现最底层的嵌入式系统应用,带有明显的电子系统设计模式特点。大多数从事单片机应用开发人员,都是对象系统领域中的电子系统工程师,加之单片机的出现,立即脱离了计算机专业领域,以“智能化”器件身份进入电子系统领域,没有带入“嵌入式系统”概念。因此,不少从事单片机应用的人,不了解单片机与嵌入式系统的关系,在谈到“嵌入式系统”领域时,往往理解成计算机专业领域的,基于32位嵌入式处理器,从事网络、通信、多媒体等的应用。这样,“单片机”与“嵌入式系统”形成了嵌入式系统中常见的两个独立的名词。但由于“单片机”是典型的、独立发展起来的嵌入式系统,从学科建设的角度出发,应该把它统一成“嵌入式系统”。考虑到原来单片机的电子系统底层应用特点,可以把嵌入式系统应用分成高端与低端,把原来的单片机应用理解成嵌入式系统的低端应用,含义为它的底层性以及与对象系统的紧耦合。
  • 想家了……

    2007-03-14 15:47:52

    来北京整20天了,今天突然很想家,很想妈妈。来北京工作一切还算顺利,工作找了4天就搞定了,工作也还算满意

    可是就是想家,想家…………

  • 手机生产测试流程(转贴)

    2007-03-06 10:54:29

    以xx工厂的加工生产过程为例

    1. 生产线流程
    SMT->Board ATE->Assembly and finally test->CFC
    这是一个大的生产流程,概括分成了四个部分,CFC本身可能并不属于工厂的生产组装过程,但手机出厂销售前必须通过这一关,在我们的一些测试活动中有时也会提到这一部分,所以在本文中也一并描述了。上面的四个部分中每一个又包含了很多小的步骤,后面会针对每一个部分展开描述。

    2.SMT
    SMT过程我们一般也称为贴片,所谓贴片,就是将一些小的元器件机器焊接到手机主板上的过程。
    这个过程基本上全部由机器流水线来完成。
    SMT Board:刚拿到的板子是光板(BBIC),上面只有一些主要的部件,一般是四块板子(也有六块的)连在一起放入产线起始处,进入下道工序。
    涂锡:将焊锡涂到板子上需要焊接的地方为下一步工序做好准备。
    贴元器件:经过涂锡后的板子进入此道工序,产线机器自动会将需要的元器件放到板子上指定的位置处,这里仅仅是放上去,并没有焊接,真正的焊接在高温炉完成。因为需要放很多的元器件,因此这个工作通过几台产线机器来依次完成,图中虚线箭头表示有多个贴元器件的步骤。将所有需要焊接的部件全部放在板子指定位置后,进入下一道工序。
    高温炉焊接:通过高温,使锡熔化,将部件真正焊接在主板上,通过这个步骤,一块板子上机器焊接的部件就完成了。
    Board inspection:产线工人检查完成SMT过程的板子有无问题,有没有没有焊接好的部件。
    裁板:上面提到板子是四块一联进产线的,焊好之后,这些板子就没有必要再连在一起了,因此还要用专门的机器将板子裁成一块一块的,裁好后,板子送Board ATE。
    启示:
    从这个过程我们可以看出,SMT过程的焊接都是由机器完成的,机器焊接和人工焊接从质量和稳定性方面来说还是不一样的,平时我们经常会碰到这样一些情况:因为时间紧张或其它原因,来不及进行一次trial run, 通过手工修改手机某些部件来进行硬件等的测试,虽然这样的手机在硬件元器件上可能已经同trial run的配置了,但严格的讲,并不能和trial run相等同,因为手工修改的的一致性和元器件焊接的质量等等都与工厂机器流水线出来的机器可能会存在差异(如音频方面的一些特性),测试人员在平时测试的应该了解到这一点。

    3.Board ATE
    从SMT出来的板子是没有任何软件的,也没有做过ATE等设置操作,因此有点类似于计算机的“裸机”,只有通过了Board ATE这道工序,手机才能把程序跑起来,并设置准确的相关ATE参数值。通过这个阶段的操作,5个关键参数被设置进去:RF_TXCONT, RF_IQDAC, BB_IQDAC, RF_OFFSET, RF_SLOPE。
    Download:将手机的软件下载到手机内部,类似于我们平时使用DC100等工具的download,唯一的区别是工厂使用夹具下载,而不使用DC100等cable。
    Initial:这个步骤主要写入PSID,号码等信息,供后续步骤使用,这个步骤主要是通过自动ATE来完成,在PC上我们可以看到执行的相关操作如下:
    EnterTestMode
    FlashTest
    EEPRomTest                                      //EPROM测试
    WritePSID                                          //写入PSID
    WritePhoneNumber                            //写入号码
    SRAM_Test
    Battery_low                                        //测试手机是否可检测到低电压
    Battery_stop                                       //测试手机是否可检测到自动关机电压
    LED_test
    SetMask                                              //一站操作完成后都要设置一个标记,后续      
                                                                //ATE站位会先检查这个标志位
                                                                //(CheckMask),只有做
                                                                //了前一站的ATE操作,才可以做下一站
                                                                //的操作.
    因为对ATE的操作不是很熟悉,上面的每个操作不能一一理解了,但根据提示信息还是可以看到大致做了些什么。这里有两个地方值得一提,首先是在操作之前,操作员已经将贴在板子上的PSID条形码信息扫描到计算机内,保证写入的PSID和标签上贴的一致;其次,这里写入的号码不是任意的,是跟PSID相关的,号码=2+PSID后四位,因此后续产线上的操作员如果需要测试通话,只需看一下条码后就可以知道电话号码。
    Function Check: 这个工位主要检查Receiver,speaker等功能是否正常
    在PC上我们可以看到执行的相关操作如下:
    EnterTestMode
    ReadPSID
    CheckMask                             //检查Mask,判断前一站是否已经操作过
    CalBBDAC                             //给BB的参考电压校准(1.1v),即BB_IQDAC
    CalRFIQDAC                         //给RF的参考电压校准(1.6v), 即RF_IQDAC
    SpeakTest                                //Reveiver测试
    CheckQSCFreq                     //检查工作频率(32.768k Hz)
    Mic_Vbias_test                     //Mic 偏置电压设置
    Ring_test                               //speaker测试
    SetMask


    RF Adjustment:自动调整手机发射功率及电流,17.7mA<=Current<=18.3mA, 8.7mW<=发射功率<=9.3mW,通过这个步骤的操作,设置了RF_TXCONT
    RF Inspection: 通过这个步骤操作,设置了RF_OFFSET, RF_SLOPE等参数。
    在PC上我们可以看到执行的相关操作如下:
    EnterTestMode
    ReadPSID
    CheckMask
    MeasTXAll                                 //测量RF发射的所有参数
    Read_TXPWR                            //读发射功率
    Read_MODPWR                        //读调制功率
    ……(后面还有很多,没有抄下来)

    启示:
    5个关键参数:RF_TXCONT, RF_IQDAC, BB_IQDAC, RF_OFFSET, RF_SLOPE都是通过跑PC自动ATE设置进去的,每个参数值与具体的手机相关,并不是一些通用的缺省值,平时手工做42+TALK会破坏这些参数,务必慎重,如确实要做,最好能事先获取并记录下来以便恢复。

    4.Assembly and Finally test
    经过了Board ATE这个阶段,手机外观上虽然还是板子一块,但是已经是“有血有肉”的了,下一个阶段就是要手机安LCD,MIC等“胳膊腿”了。
    图中的步骤有些从字面上已经可以理解了,下面对部分步骤做一些说明:
    Power Consumption:测试手机的关机电流,充电电流和通话电流,这时候的手机还没有安装电池,测试的时候使用夹具进入相应的ATE模式下进行测试。在测试关机电流的时候,外部稳压电源输入电压3.8V,限流1A进行测试。
    在PC上我们可以看到相关操作如下:
    EnterTestMode
    ReadPSID
    CheckMask
    Talking_Cur
    StandBy_Cur
    Pre_charge
    Normal_charge-->3.6
    Full_charge-->4.2
    EnterTestMode
    SetMask

    装电池&充电测试:插上电池,插入充电器,显示“充电中…”,就算通过。
    Communication test: 在这个工位的边上安装着一个基站,操作员使用一个固定话机拨打手机约1秒,手机有来电显示,并且响铃,测试手机的默认铃声大小(默认铃声在83~100dB之间)。这里操作员拨打的号码为2+PSID后四位,这号码是在ATE设置的时候已经预设好的。
    RF Power: 1+9 power进入ATE模式,4+[talk],CH+talk进入发射模式,将测试手机平行于频谱仪天线,放置在夹具上测试。通过的标准是在1~2秒内手机50%以上时间稳定通过频谱仪上指定的区域。
    Audio loopback:1+9+power进入ATE,16+talk, 2+talk,然后放入夹具测试,这个工位主要测试整个手机回路的输入和输出是否正常,测试时夹具往Mic输入一个正弦波,测试Receiver的输出和波形,测试通过的标准是毫伏表的读数在20~280mV之间(表示音量),输出波形不失真(表示音质是否失真)。
    终检:检查裸机完整性;外观:LCD,键盘有无不良;外壳间隙,折叠机的翻盖等是否正常。
    MasterClean: 这个命令大家应该都熟悉,通过这个操作,在前面几道工序做的操作如电话记录等都被清除,写号信息等都被恢复到出厂默认值。
    从PC上我们可以看到相关的操作:
    EnterTestMode
    CheckPSID
    CheckMask
    ShipmentSetup
    SetMask

    Packing:将手机装箱,检查电池电板的出厂日期,以及螺丝塞等。

    5.CFC
    ),上面的图是根据MFG提供的信息整理的:JCFC的流程我没有实际去参观过(希望有机会也能去看一下
    解电子签名:UT手机刚下线的时候,开机后的IDLE界面都有“未经UT功能认证禁止销售”的字样,这样做的目的我想可能主要是防止加工商私自销售吧(未经),经过这道工序后,IDLE的界面上的字样就会消失,用户可以进入设置中的待机界面自由设置了。L考证
    Write Anti-cross:即防串货功能,原先的手机没有此功能,写入任何地区的号码都可以,比如在同一个手机上我可以写入北京地区的区号010开头的号码,也可以写入成都地区028开头的号码,为了防止在一个地方销售的小灵通被部转卖到另外一个地区(价格存在差异),影响我们正常的销售,之后对手机进行号码限制,增加了防串货功能,限定手机只能烧入特定区号开头的号码,比如一批手机销往上海市场,那么,经过Write Anti-cross之后,这批手机只能烧021开头的号码。


  • 浅谈三大终端测试

    2007-03-06 10:52:02


    浅谈三大终端测试
    文章出处:新浪科技 作者:李波 马治国 孙元宇 发布时间:2005-11-01
    WCDMA、CDMA2000和TD-SCDMA,这三种技术是今年通信产业的热点,而终端是整个产业链中的最重要的环节之一,终端的发展状况对产业中的方方面面都会有重大影响,而且与用户的使用息息相关,因此,对于三种技术终端的测试,一直以来是人们非常关注的焦点,下面将要介绍三种技术终端的测试内容和终端在测试中的表现。

    一、测试内容和测试目的

    因为三种技术均采用CDMA的多址方式,所以终端的测试内容有很多相同之处,下面以WCDMA为例对测试内容进行介绍,主要内容包括以下七部分:功能测试、射频性能、音频性能、环境和可靠性试验、寿命试验、电池和充电器的安全以及通话时间和待机时间等:
    1、终端基本功能测试
    这一部分测试是为了验证终端最基本的功能是否完整有效,例如语音呼叫的拨打测试以及短消息的收发测试。此项测试从用户角度出发,保证终端能够接入目前运营的网络且满足用户的基本需求。由于带宽的增加,为用户引入了更高速率的数据业务,在终端上可以实现电路交换的64Kbps视频电话和分组交换的384Kbps高速数据下载业务。

    2、射频性能测试

    射频性能测试分为发射机测试和接收机测试两部分。射频性能测试的目的是验证终端设备的发射机/接收机在正常使用条件下或极端条件下,电气性能是否符合国家主管部门的相关规定。因为CDMA系统是自干扰的系统,对于上行链路,每一台终端对于其它终端来说,都是实实在在的干扰源,增大某一终端的发射功率,虽然可以提高其服务质量,但是会对在网络内使用的其它终端造成影响,终端相互之间会出现“功率攀升”现象,造成网络状态不稳定,甚至出现网络拥塞,所以发射机的性能对网络是至关重要的;对于下行链路,同样面临功率适当分配的问题,除了功率分配过大会加大下行干扰之外,下行链路总的发射功率是有限的,分配给某个终端的功率过多,网络内用户的容量就会减少,所以终端接收机性能的好坏,对网络的服务质量有很大影响,除此之外,接收机性能还体现出了终端的抗干扰能力。主要测试内容如表1和表2所示。

    表1 WCDMA发射机主要的测试内容一览表

    测试内容


    测试目的

    终端最大发射功率

    验证终端的最大发射功率误差不超过容限值,终端最大发射功率过大会干扰其他信道或其他系统,终端最大发射功率过小会缩小小区的覆盖范围。

    频率误差

    验证终端的发射机载波调制的精确度。频率误差过大会增加本信道上行链路的发射错误,这个指标反应出当锁定在某一下行载波频率上后,接收机为发射机获得频率信息的能力。


    上行开环功率控制

    验证终端在动态范围内正确测量接收功率的能力,根据接收功率和BCCH的信息来控制发射功率达到在最小的发射功率下正常通信的目的。

    上行内环功率控制

    验证终端是否能够正确地从TPC命令中获得TPC命令。内环功率控制将会影响系统的容量。

    最小输出功率

    验证终端最小输出功率是否小于指标要求。超过指标要求的最小输出功率会增加对其他信道的干扰和减小系统容量。


    发射关闭功率

    验证终端的发射关闭功率是否小于指标要求。超过指标要求的发射关闭功率会增加对其他信道的干扰和减小系统容量。

    发射开/关时间模板


    验证终端发射开/关的过程与时间的关系是否符合规定。超过指标要求的发射开/关响应误差会增加对其他信道的干扰或本信道上行链路的发射误差。


    占用带宽


    验证终端的占用带宽是否小于5MHz(码片速率为3.84Mcps)。超过指标要求的占用带宽增加对其他信道或其他系统的干扰。

    表2 WCDMA接收机主要的测试内容一览表(下个回复)
    测试内容

    测试目的

    参考灵敏电平

    验证终端的参考灵敏电平,避免参考灵敏电平过高从而减少基站的覆盖距离。

    最大输入电平

    验证终端的最大输入电平,若最大输入电平过低则会对终端在基站的近距离的通信效果产生不利影响。

    邻道选择性

    测试目的在于验证终端的邻道选择性能,避免邻道选择性过大易造成本信道解调的干扰。

    阻塞特性

    验证终端接收机在除杂散响应和邻道外的频点上有干扰信号时的解调能力。

    杂散响应

    验证终端在其它频点上存在CW干扰信号时在载波频点上接收有用信号的能力。


    3、复杂传播环境下的性能测试

    测试目的在于验证当下行链路信号处于复杂的传播环境下,例如,多径衰落传播环境、移动传播环境、生/灭传播环境、下行开环发射分集模式和小区间软切换环境等,并且存在高斯白噪声干扰信号的情况下,终端对于有用信号、邻道信号和邻小区信号的解调能力。

    4、音频性能测试

    测试目的在于验证终端设备传输语音信号的质量。3G移动终端虽然增加了许多新的功能,例如高速数据功能,但是语音通信仍然是3G终端的基本功能,而且是大部分用户最常使用的功能。语音质量的好坏将直接影响用户的正常使用,语音质量很差时将使用户无法完成正常的语音通信。


    移动终端的音频性能测试可以通过仪表在实验室完成。根据移动终端所使用的受话器的类型,可以用不同类型的仿真耳来测量。支持语音业务和/或紧急呼叫的终端在响度评定值(发送和接收)、灵敏度/频率响应特性、侧音掩蔽评定值(STMR)、空闲信道噪声、稳定度储备、回波损耗(ERL)、失真特性、环境噪声抑制(ANR)等方面应满足相关标准的规定。

    5、环境和可靠性测试

    我国南北方气候相差很大,终端的使用环境会随着温度和湿度的变化而变化,终端应该对外界环境有一定的适应能力,而且终端在使用的过程中,因为使用频次高,一般会随身携带,所以受到碰撞、撞击和挤压的几率很大,因此需要模拟低温、高温、恒定湿热等自然环境和力学上的作用,检验终端是否满足环境和可靠性的要求。


    6、寿命试验

    测试目的在于验证终端是否满足按键寿命、折叠、滑动及旋转结构寿命、终端与附件的接口寿命的要求。

    7、电池、充电器测试

    电池和充电器应该满足电池性能和充电器安全性的要求。

    8、通话时间和待机时间部分

    通过模拟实际网络最普通的状况,考察终端的待机时间和通话时间的长短,这也是消费者非常关心的两个问题。

    二、3G终端测试中的难点和重点

    通过大量的、长期的终端测试,发现了测试中的一些难点和重点,现总结如下:

    1、WCDMA和CDMA2000在全球的商用时间不长,属于较新的技术,在测试方面,各方积累的经验不是很丰富,而且在技术复杂度方面又较2G终端上了一个台阶。测试内容的复杂程度的提高,对测试仪表的测量精度、噪声系数、不确定度的要求随之提高。例如,由于杂散发射的限值很低,而频谱仪的背景噪声应该低于此限值,所以需要精度非常高的频谱仪来测试。由于接入终端发射机关闭时,接收机产生的杂散值极小,所以难于测出接收机杂散发射的具体值。一定要选用精度较高的频谱仪,将其内部的衰减值尽可能的降低,对于1GHz至12.75GHz的扫频测试,最好分段进行扫描,比如每1GHz扫描一次,直至扫完所有的频段取其最大杂散值即可。这样测得的杂散的结果相对精确。

    目前,支持WCDMA和CDMA2000 终端测试的综合测试仪还不多,较通用的是安捷伦公司的8960,单独使用一台综合测试仪能够进行的测试项目也非常有限,要想对终端进行全面的测试,需要精度高的、系统级的设备才能完成。目前,安立、罗德施瓦茨和Spirent的WCDMA终端测试系统,在行业中处于领先地位。

    2、EVDO技术是在cdma2000 1X技术基础上演进而来的,在前向引入了时分的概念,大大提高了用户的下载速率,达到2.4Mbps。测试中,用FTAP和RTAP两个测试协议模拟用户使用中的下载和上传,涵盖了EVDO定义的多达12种不同的下载速率(38.4Kbps直至2457.6Kbps)及5种上传速率的速率集合。

    3、由于产业规模等问题直接造成产业链上下游配套场上较为分散的局面,测试仪表设备中,还没有能够对TD-SCDMA终端设备进行测试的综合测试仪表,需要实际使用网络来配置终端测试中要求的环境。部分测试项目由于通过网络配置仍不能满足测试条件要求和部分仪表的性能限制,致使测试不能够完全按照标准的要求进行。尽管目前还没有哪个厂商可以提供一个可商用化的终端产品,可以提供测试终端的厂家还很少。在现场测试中,大唐移动公司提供了Sparrow和Hummer两款较成熟的样机。

    4、分组交换的128Kbps、384Kbps高速数据下载业务是WCDMA数据业务的特色,但是这两种速率业务在性能测试前的终端与测试仪表之间的环回测试模式在实现上相对复杂,所以,目前在WCDMA终端中,支持这两种速率下载业务的环回测试模式的型号还很有限。

    5、因为CDMA技术能够提供相对耗电的多媒体业务和高速数据业务,通话时间和待机时间是影响终端正常使用的重要技术指标。在联通公司建设CDMA网络初期,曾经出现终端通话、待机时间很短的问题,用户投诉很多。在EVDO中,引入了高速的数据通信,对接入终端的耗电状况必然产生影响,通话时间的长短对将来商用网上的用户至关重要,此项测试尽量逼进的模拟将来用户的实际使用情况,相当直观的测试出待机、通话时间,对将来的建网和接入终端的性能测试给出了一项重要参考。

    三、3G终端在测试中的表现

    WCDMA和CDMA2000技术已经基本成熟,产品正步入商用化阶段,相比之下,TD-SCDMA终端商用化进展较慢主要源于终端芯片的瓶颈。由于我国集成电路设计生产起步较晚,目前可商用的TD-SCDMA可商用终端芯片数量很少。所以在此,只对WCDMA和CDMA2000终端的在大量测试中的性能进行总结,影响比较突出的终端性能主要是以下方面:

    1、接收灵敏度电平。在外场测试的过程中,不同的终端在相同的位置因为各自的灵敏度电平不同的原因,要求的下行发射功率不同,造成对容量、覆盖等网络性能的影响。所以,终端的灵敏度电平非常重要,灵敏度电平低,则会要求的网络的下行的发射功率小,可以分配给其他用户的功率就多,对系统性能就会有好的影响;如果灵敏度电平高,则会占用过多的网络的下行的发射功率,网络剩余的可用资源就会减少,系统的性能会受到很大影响。

    2、功率控制算法。功率是CDMA系统最终的无线资源,而且由于CDMA自干扰的特性,内环和外环功率控制的好坏,不仅仅会影响到终端的待机时间、通话时间和电池寿命等方面,而且直接会影响到系统的性能,如何更好的实现功控算法是影响很多方面的重要因素。

    3、目前存在着不同品牌之间的可视电话互通不够稳定、能够支持同频硬切换、异频硬切换的终端种类不多等问题。

    4、另外,当多个用户出现时CDMA2000 EVDO的速率是时时调度的,不能保证某个用户固定在某个速率上,而WCDMA可以将用户固定在某一速率且长期占用,所以在做视频通话方面WCDMA占有一定的优势。

    总之,做为3G网络重要组成部分的终端设备,此次通过3G实验对三种技术的终端进行了大量的测试,展示了3G终端不同的特性,让我们对3G终端有了一定程度的了解,并且积累了宝贵的经验,随着WCDMA、CDMA2000技术的进一步发展,和TD-SCDMA技术逐步走向完善和成熟,3G网络的大规模建设和正式商用前景将会是一片光明。



881/512345>
Open Toolbar