发布新日志

  • Linux基本命令介绍 2

    2012-07-29 21:45:37

    tail命令:
     tail [-n] filename

    用法一:查看指定行数

        tail -20 hello.txt 

     

    用法二:默认查看文件最后10
        tail helo.txt

     

    tail从文件尾部开始阅读文件,主要用于查看log类实时生成的文件。如果需要从头阅读,或者只查看文件的前面几行,可以使用head命令。

     

    head 命令:

      head [-n] filename

    顾名思义,查看文件的先头部分,或者说是从头阅读文件。

    如: head -20 hello.txt 查看文件的前20行。

     

    tar

    1. 功能说明: 可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

    2. 语法:tar [主选项+辅选项] 文件或者目录


    3.
    参数说明:
      c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。

      r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
      t 列出档案文件的内容,查看已经备份了哪些文件。
      u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后
      x 从档案文件中释放文件。
      z gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。

    3.常见用法
    a)
    /home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar
      $ tar cvf usr.tar /home
    b)
    /home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz

      $ tar czvf usr.tar.gz /home
    c)
    usr.tar.gz这个备份文件还原并解压缩。

      $ tar xzvf usr.tar.gz
    d)
    查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。

      $ tar tvf usr.tar | more
      要将文件备份到一个特定的设备,只需把设备名作为备份文件名。

     

    ps命令:显示当前用户在系统中启动的进程。


    -u
    :列出由这个用户启动的所有进程。

     ps :跟当前终端有关的进程;
    常用

               ps   -aux

               ps  -auxf  | grep   inetd

    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

    root       790  0.0  0.1   1872   576 tty4     Ss+  18:12   0:00 /sbin/getty -8 38400 tty4

    root       794  0.0  0.1   1872   580 tty5     Ss+  18:12   0:00 /sbin/getty -8 38400 tty5

    root       807  0.0  0.1   1872   576 tty2     Ss+  18:12   0:00 /sbin/getty -8 38400 tty2

    root       809  0.0  0.1   1872   580 tty3     Ss+  18:12   0:00 /sbin/getty -8 38400 tty3

    root       812  0.0  0.1   1872   576 tty6     Ss+  18:12   0:00 /sbin/getty -8 38400 tty6

    root      1311  0.0  0.1   1872   580 tty1     Ss+  18:12   0:00 /sbin/getty -8 38400 tty1

    root      2500  1.6  5.3  36524 27236 tty8     Ss+  18:33   0:39 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-Jf

    root      3861  0.0  0.3   5372  2028 pts/0    Ss   18:36   0:00 bash

    root      4125  0.0  0.2   4708  1200 pts/0    R+   19:14   0:00 ps u

    USER 用户

    UID    用户IDUser ID
    PID   
    进程IDProcess ID
    PPID   
    父进程的进程IDParent Process id
    SID   
    会话IDSession id
    %CPU   
    进程的cpu占用率
    %MEM   
    进程的内存占用率
    VSZ   
    进程所使用的虚存的大小(Virtual Size
    RSS   
    进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
    TTY   
    与进程关联的终端(tty
    STAT   
    进程的状态:进程状态使用字符表示的(STAT的状态码)

     

    top命令:


    top
    命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

     

    显示内容分为两块:  统计信息区   进程信息区

    具体可以查看注释

     

     

    kill命令:结束你无法正常方式退出的不想要的命令处理

    当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键    man ls

    但是对于一个后台进程就必须使用kill命令

    一般用法先通过ps 命令取得进程id
     kill  12932

    有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程

     

    kill -9 id

     

    find命令:寻找基于指定标准的文件,然后对匹配的文件执行一个命令
     find    path        expression     [action]
          
    指定路径     查找条件   执行的动作
     
    -name’按文件名来查找
     
    -mtime’按文件最后一次修改时间来查找
     
    -user’:按文件的拥有者查找
     
    -size’:按文件的大小查找
     
    -perm’按照文件的权限查找
     
    -type’按类型查找
     
    -atime’按最后一次访问时间查找


    例如,我们想要查找一个文件名是hello 的文件,可以使用如下命令:
    find /home/aoran 
    name hello
    可以使用通配符

    find / home/aoran
    name he*'

    使用混合查找方式查找文件

    如:find /home/aoran  -mtime -3 -size -1000 name he*'  -user aoran

     (在目录下查找大小小于1000k,最后修改时间是3天内的,文件拥有者是aoran的文件名前2位是he的文件。)

    grep命令:寻找一个包含有一个特定的文本字符串的文件,并把所有包含该部分的行打印到屏幕上
     grep [
    选项] 字符串 文件名
     
    经常使用的参数:

     -i    当搜索时忽略字符串的大小写
     -v   
    寻找所有不匹配字符串的行(反向查找)

    经常与管道连用如:

     ls -l | grep –i test

    显示目录下有test 字母的文件

     grep aoran passwd  

    在文件passwd中查找有aoran的行

    grep –v  aoran  passwd

    grep 经常配合正则表达式使用

     

     

    echo

    Linuxecho命令, shell编程中极为常用,类似printf
    功能说明:显示文字。

    语   法:echo [-ne][字符串]

    参   数:-n 不要在最后自动换行 ;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

     

    普通字符串可以在echo后直接输入字符串,但这样当要输出某些字符如 \ 时会有问题(这种写法的时候/是被当作继行符处理过滤掉的,要输出一个\ 必须打\\)所以一般最好用'string' "string"的格式,这样即使是\也可以输出,方便直观。

    aoran@ubuntu:~$ echo hello     world

    hello world

    aoran@ubuntu:~$ echo hello\     world

    hello  world

    aoran@ubuntu:~$ echo hello\\     world

    hello\ world

    aoran@ubuntu:~$ echo 'hello\\  world'

    hello\\  world

    2)echo的转义显示: 加上-e参数

    输出多行
     aoran@ubuntu:~$ echo -e 'hello\nworld'
    hello
    world

     

     

    Vilinux的功能很强大,但是对于用贯了windows编辑器的人,这个用起来很费劲。

    VI文本编辑器:

     Vi的键盘使用图:大家按提示操作,会打开一个页面,然后保存就可以。
     vi
    的三种模式:

    1. 调用vi
        vi
    文件名            打开或新建一个文件

        vi                 
    打开一个新的以后命名的文件
        view
    文件名          以只读方式打开一个文件

    2. 位置
       
    向上  k
       
    向下
      j
       
    向左
      h
       
    向右
      l
       0
    回到行首

       /$
    回到行尾
       
    注:均指控制光标

    3. 输入
        i   
    在光标当前位置插入
        a   
    在光标所在位置后插入
        l   
    在行头插入
        A   
    在行尾插入
        o   
    在光标所在行下插入一空行
        O   
    在光标所在行上插入一空行
        <Esc> 
    退出插入状态

    4. 删除文本
        x   
    删除一个字符
        dw   
    删除当前词
        3dw   
    删除三个词
        dd   
    删除当前行
        5dd   
    删除五行
        :5,10d

    5. 撤消和更改文本
        r   
    替换一个字符
        cw   
    替换一个单词
        cc   
    替换一行
        C   
    替换从光标至行尾
        J   
    把当前行和下一行连起来
        u   
    废除刚才的编辑操作(undo)
        ~   
    改变大小写

    6. 复制和粘贴文本
        yy   
    拷贝行(Y)
        yw   
    拷贝词

        p   
    当前行下粘贴
        P   
    当前行上粘贴
    7.
    保存和退出文件
        :w   
    存盘
        :w   
    新文件存成新文件
        :wq   
    存盘退出vi(ZZ,或:x)
        :q!   
    强行退出不存

     

    后续可以根据需要分享 sed    awk 、正则表达式 、文件系统、shell入门等

     

  • Linux基本命令介绍

    2012-07-29 21:27:16

     

    1.man     显示命令的详细信息      clear 清屏命令

     

    cd- -help  mkdir- - help 查看命令的帮助信息

     

    2.date / cal / whowhoami查看日期、日历、登录的用户、当前登录用户     非图形界面切换使用

     

    3.ifconfig 查看网络连接

     

    4.pwd命令    print working directory”(打印当前工作目录)

     

     

    cd 

    1.功能说明:进入(打开)目录,相当于WINDOWS系统中的打开文件夹

     

    2.常见用法:

    a) #cd/usr/include 改变任意一目录为当前目录。

    b) #cdTest 当前目录下一目录. (Test是一个已经存在的目录)

    c) #cd   转至登陆时的工作目录,即用户目录.

    d) #cd..         回到上一层目录。

    e) #cd../..         (返回上两级目录,相当于cd..两次)

     

    3.特别用法:

     

    a)cd~   进入当前用户目录

    b)cd~/Test   进入当前用户的Test目录

     

    c)cd- 回到刚才的工作目录,相当于WINDOWS中的ALT+Tab

     

    4.关于用户目录

    Linux系统中,用户登录时会首先进入用户目录,就像WINDOWS系统登录后会首先进入桌面一样(桌面实际上是系统盘下的一个目录.)

    例如:登录系统时都会默认进入/home/aoran目录.

     

    5.关于特殊目录

    .   表示当前目录, 例如: ./test.sh执行当前目录下的test.sh脚本

    ..  表示上一级目录,例如:cd..回到上一级目录  ls ..显示上级目录下的文件信息

     

     

     

    ls  [-l] [-t] [-a] [-s] [-r] [-F]  [file..]

     

    1.功能说明: 用于查看目录下的文件信息,显示文件或目录

       Linux是一种文件系统,系统中的任何元素包括文件,目录,链接,甚至硬件设备都会做为文件来处理.

     2.参数说明:

      -a列出所有的文件。包括隐藏文件。

     -l用长格式显示匹配项(文件或目录),权限,所有者,大小和最后修改日期。

     -t以最近修改时间/日期顺序列出(最新的在首位)

     -s

     

     

    cp  [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } {SourceFile TargetFile |SourceFile ... TargetDirectory |SourceDirectory ... TargetDirectory }


    1.
    功能说明: 拷贝文件到另一个文件 , 将文件拷到一个目录下. 拷贝目录到另一个目录

    2.参数说明:

    -f   强制拷贝 (AIX,如果文件写操作没有打开,则首先清除目标文件)
    -h 
    复制符号链接
    -i  
    带命令提示的拷贝,提示将被告覆盖的文件
    -p 
    属性拷贝,除了拷贝文件以外,还会拷贝文件的属性信息
    -r  
    级连拷贝, 拷贝目录下所有文件和子目录到目标目录下
    -R 
    复制特殊设备文件

     

    3.常见用法:

    a)在当前目录将test  作拷贝。
    # cp test  test.bak  
    b)
    将当前目录的test文件拷贝到 /home/aoran/Test 目录

     # cp test  /home/aoran/Test 

    c)拷贝Test 下的所有文件到Test1 目录下
     # cp /home/aoran/Test/* /home/aoran/Test1 

    d)级连拷贝 .拷贝Test 下所有文件和子目录到 Test1 目录下,如果Test1目录不存在则创建,如果存在则覆盖
     # cp -r /home/aoran/Test   /home/aoran/Test1 

    e)将当前目录下的hello  hello1  文件拷贝到Test 目录下.
     # cp hello  hello1   /home/aoran/Test 

    f)将用户目录下的programs 目录下所有以.c 结尾的文件拷贝到当前目录
     # cp ~/programs/*.c  .

    g)属性拷贝,除了拷贝文件以外,还会拷贝文件的属性信息。这种拷贝方式可以把一个文件的权限,用户信息,时间属性完全拷贝。
     # cp -p test test.bak

     

     

    mv     

    1.功能说明:移动或重命名文件和目录

    2.命令格式:mv [-i] 源 目标文件(或目录)

    3.应用举例:
      a)
    将文件 test 更名为 mytest,相当于重命名
          $mv test mytest 

      b) 将文件 test 移动到目录 Test
          $mv test Test 

      c) 将文件 mv /home/aoran/Test/test 移动到目录 aoran
          $mv /home/aoran/Test/test  aoran         
       d)
    将目录 dir1 更名为 dir2
          $mv dir1 dir2   
         
    注意: mv 命令在这里有二意性. 当目录dir2不存在时,可以将目录 dir1 更名为 dir2 ; 如果在当前路径下已经存在一个目录名为 dir2 ,那么使用 mv dir1 dir2   , 将会把目录 dir1 整个移动到 dir2目录下 .

     

     

     rm

    1.功能说明:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除

    2.参数说明:
       -i  
    带命令提示的删除,提示将被删除的文件

       -r   同时删除该目录下的所有目录层

    3.应用举例:
      a)
    删除 Test1 目录以及目录中的所有文件
          $rm
    r Test1

      b) 带提示删除test 文件

          $rm –i test

     

     

    cat  [file_name]

    1.功能说明: 将一个文本文件的内容显示在屏幕上,文件内空不分屏,全部显示.主要用于查看较小的文件.


    cat passd  > a.txt (
    将一个文件的内容不显示在屏幕上而输出到另外一处的文件中;)

      cat /etc/passwd | grep root   多配合awk/grep 和管道使用等。

    作用:显示passwd文件中内容中用户名为root的行。)

     

    通过重定向 合并文件

     cat  test1>test2       test1的内容覆盖到test2

     cat test1 test2 >test3

     

     

    more命令:一次显示一个文本文件的内容一屏幕 
        more (
    一个或多个)文件名

       
    空格键   一次滚动手册一页
       
    回车键   一次滚动手册一行
        b     
       移到上屏  f   移到下一屏
       q          退出返回外壳提示

    more  password.txt

     

     

    tail命令:
     tail [-n] filename

    用法一:查看指定行数

        tail -20 hello.txt 

     

    用法二:默认查看文件最后10
        tail helo.txt

     

    tail从文件尾部开始阅读文件,主要用于查看log类实时生成的文件。如果需要从头阅读,或者只查看文件的前面几行,可以使用head命令。

     

     

    head 命令:

      head [-n] filename

    顾名思义,查看文件的先头部分,或者说是从头阅读文件。

    如: head -20 hello.txt 查看文件的前20行。

  • A项目测试管理心得

    2012-07-13 11:50:14

    A项目测试管理心得

                                                                  

    近半年的时间,一直参与和管理XX项目的测试工作,在项目测试任务刚刚结束后时,谈谈对于项目测试管理的一点点心得,与大家共勉。

    一、测试计划制定、调整

    xx项目由1/2/3 三个任务组成,考虑到三个任务交付到ST是同一套系统,且上线时三者必须同时完成,于是和项目经理沟通做统一的测试管理。

    在制定测试计划时首先确定每个任务提交ST的时间点,然后安排合理的测试轮次和每轮次的测试时间,同时由于版本的迭代发布和可能需求的变更,需要在各个轮次间隙中安排测试需求分解和案例编写、评审、修改的工作,使得每个轮次的工作更加紧凑且直接关系到后面轮次的测试安排。

    3个子任务在项目进展中都存在较多的需求调整,对于影响到项目测试计划按时进行的需求变更,需要及时分析测试影响范围,新增测试占用的工作量,在沟通确定需求调整内容发布的时间点后,调整相应轮次的测试进度和内容,降低新增变更对项目整体测试进度的影响。

    二、测试任务管理

    依托XX的测试管理平台,可以在测试流程上很好的管理测试需求、案例,测试执行管理,缺陷管理等等。这里需要注意的几点是:

    1、分配需求分解和测试案例编写人员最好是同一个人,可以保证测试案例准确对应需求涉及的细节,同时在测试案例编写时要求尽可能多的参考设计说明,确保案例覆盖需求的准确和完整性。

    2、在分配测试任务时,第一轮可以安排案例编写人员执行自己的案例,在后续的轮次中尽量安排交叉执行,保证重要明显的缺陷能最及时的发现。同时,可以根据组成员的测试经验、能力水平、性格特点有选择的安排测试内容,比如xx测试,必须优先安排有xx模块测试经验的同事,这样对测试进度上影响会较小;比如安排新员工测试相对稳定模块的需求改动往往有新的收获。

    3、测试案例执行结果一直处于事后监督,即我们在交叉测试时或者UAT、上线后发现的问题,才会去追踪缺陷没有被发现的原因是否是测试案例没有执行或执行不够认真,步骤和预期没有关注到位。所以更早的开始交叉测试,有利于测试执行的监督和管理,有利于项目测试质量的提高。

    三、测试风险管理

    众所周知,风险一直伴随着项目从立项到结束的各个阶段,我们过程管理也是把风险控制在最小的过程。下面主要谈下xx项目中测试风险与应对。

    1、三个任务合计的需求点众多,接近200个,覆盖xx系统的所有模块改动。面对这样大的工作量,项目组通过编写《需求开发测试矩阵表》来维护需求关联到详细设计文档到测试需求案例,总共设计和复用案例数有6000多个,保证每个业务需求落实到位,即详细有针对性的测试案例与之对应。每次的需求变更及时维护该表,避免了需求变更带来遗漏的风险。

    2、项目缺陷管理中,对于测试组成员提交的缺陷要及时了解,对阻碍测试执行的缺陷,及时与开发、项目经理沟通,安排优先解决。可以通过项目周例会,测试周报,邮件等形式重点提示,项目经理每周都会跟进重点问题的修改,有效提高了问题解决效率和针对性,也降低了项目风险。

    3、收集和记录项目执行过程中的注意点,有益于项目上线时的分析和应对。每个模块和功能的测试过程中总有些注意点或操作提醒,比如xx功能,被否决、遗留缺陷的风险讨论记录等等。我们在项目后期汇总了一份《xx操作FAQ》,给运维人员很好的帮忙和提醒,也大大降低上线过程中可能带来的风险。

    四、测试负责人的注意点

    说下作为项目测试负责人,在项目测试管理中需要注意的几点:

    1、必须熟悉项目的每个需求点,对需求中涉及影响范围能有充分清楚的认识,这样在需求评审和设计评审时能提出测试人员的观点,避免设计上的遗漏。同时在分配测试任务、测试案例评审时能及早提醒测试人员可能的遗漏。

    2、必须了解测试组提交的每一个缺陷,开始测试执行后,及时关注xx中的缺陷登记,对严重程度高的重点跟进。对于开发否决和推迟处理的缺陷,需要找提交人和开发同事确认后续处理,关注各个模块的缺陷分布,在测试周报和项目周例会中提示风险。

    3、在项目后期,测试负责人需要分配更多时间在项目测试管理和协调上来,同时需要更多关注项目整体测试风险和测试质量。此时需要测试负责人安排重点测试内容,排查可能存在缺陷的模块,跟踪已经提交待解决的缺陷,协助业务人员开展UAT测试,需要占用更多的时间和测试组成员、开发、项目经理更频繁的沟通,所以可以少安排自己的测试执行工作。

  • 傲然的Linux再学习记录(一)

    2012-02-29 21:15:03

    近来在做一个linux培训的PPT,顺便将完整整理下之前的linux的相关知识,虽然在公司的项目测试中并没有应用到,自己也2年多没有应用到linux,好多命令都快忘记光了.....真是熟能生巧~所以有必要温故知新。
    我将把自己整理的文档与大伙一起学习..也为这个长久不来博客带来点人气,也给自己一些学习的动力。
     

    1.linux的简介

    Linux最早由Linus Benedict Torvalds1991年开始编写。在这之前,Richard Stallman创建了Free Software FoundationFSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Linux,或称GNU/Linux

    各个版本对比

     

    2.各个版本对比

    Redhat

    ........

    Suse

    .........

    Ubuntu

    ........

    红旗       相同的内核版本各个版本界面和扩展上存在差异

     

    3.Linux安装

    一、虚拟机   iso安装 或者直接拷贝虚拟目录  个人学习为主  

    二、物理机   光驱启动安装、硬盘启动安装    通信等各类服务器数据库服务器、ERP服务器、Web服务器、中间件服务器、HA高可用、虚拟化平台、Mail服务器、高性能计算等关键应用领域

     

    4.linux对比其他操作系统优势

    1.开源   2.高性能  3.安全性高  4.应用广 嵌入式、扩展性等

     

    待续..........

     

     

  • 软件测试过程中有哪些风险?(ZT)

    2010-02-01 23:15:08

    问题描述:在编写测试计划的时候要考虑可能发生的风险,并提出应对措施。那么到底都有哪些风险要注意呢?如何解决呢?另外这些风险如何在计划中写明呢,不会写“张三可能要离职”,“开发提交代码可能会延期”吧?

      设计方面:

      风险:(1)没有详细设计说明书;

      解决方案:测试人员要在开发阶段对相关设计及需求文档进行分析,对大体模块功能进行分类,分析业务逻辑,在不清楚的地方及时与开发人员沟通。

      风险:(2)没有统一的界面设计规范。

      解决方案:与项目负责人确认测试标准。

      开发方面:

      风险:(1)所有模块开发没有统一设计,开发人员有自己的设计方式;

      解决方案:与项目负责人确认标准方式,与标准方式不一致的地方全部以BUG形式提交。

      风险:(2)需求变更开发。

      解决方案:建议将需求变更形成文档,对没有文档的需求变更,在测试过程中发现及时与开发负责人确认,并存档相关变更文档。

      测试本身:

      风险:(1)人力资源;

      解决方案:保证稳定的人员安排。

      风险:(2)硬件资源;

      解决方案:事先分析测试所需硬件资源,及时申请,保证测试工作顺利进行。

      风险:(3)版本控制;

      解决方案:严格控制版本,BUG以版本为单位进行提交。在测试过程中及BUG确认阶段禁止任何代码更新。

      风险:(4)测试时间不足。

      解决方案:动员测试人员完成测试任务,必要时,应给予相应物质奖励。

    测试风险是不可避免的、总是存在的,所以对测试风险的管理非常重要,必须尽力降低测试中所存在的风险,最大程度地保证质量和满足客户的需求。在测试工作中,主要的风险有:

      一、质量需求或产品的特性理解不准确,造成测试范围分析的误差,结果某些地方始终测试不到或验证的标准不对;

      二、测试用例没有得到百分之百的执行,如有些测试用例被有意或无意的遗漏;

      三、需求的临时/突然变化,导致设计的修改和代码的重写,测试时间不够;

      四、质量标准不都是很清晰的,如适用性的测试,仁者见仁、智者见智;

      五、测试用例设计不到位,忽视了一些边界条件、深层次的逻辑、用户场景等;

      六、测试环境,一般不可能和实际运行环境完全一致,造成测试结果的误差;

      七、有些缺陷出现频率不是百分之百,不容易被发现;如果代码质量差,软件缺陷很多,被漏检的缺陷可能性就大;

      八、回归测试一般不运行全部测试用例,是有选择性的执行,必然带来风险。

      前面三种风险是可以避免的,而四至七的四种风险是不能避免的,可以降到最低。最后一种回归测试风险是可以避免,但出于时间或成本的考虑,一般也是存在的。

      针对上述软件测试的风险,有一些有效的测试风险控制方法,如:

      ·测试环境不对可以通过事先列出要检查的所有条目,在测试环境设置好后,由其他人员按已列出条目逐条检查;

      ·有些测试风险可能带来的后果非常严重,能否将它转化为其他一些不会引起严重后果的低风险。如产品发布前夕,在某个不是很重要的新功能上发现一个严重的缺陷,如果修正这个缺陷,很有可能引起某个原有功能上的缺陷。这时处理这个缺陷所带来的风险就很大,对策是去掉(Diasble)那个新功能,转移这种风险;

      ·有些风险不可避免,就设法降低风险,如“程序中未发现的缺陷”这种风险总是存在,我们就要通过提高测试用例的覆盖率(如达到99.9%)来降低这种风险;

      为了避免、转移或降低风险,事先要做好风险管理计划和控制风险的策略,并对风险的处理还要制定一些应急的、有效的处理方案,如:

      ·在做资源、时间、成本等估算时,要留有余地,不要用到100%;

      ·在项目开始前,把一些环节或边界上的可能会有变化、难以控制的因素列入风险管理计划中;

      ·对每个关键性技术人员培养后备人员,作好人员流动的准备,采取一些措施确保人员一旦离开公司,    项目不会受到严重影响,仍能可以继续下去;

      ·制定文档标准,并建立一种机制,保证文档及时产生;

      ·对所有工作多进行互相审查,及时发现问题,包括对不同的测试人员在不同的测试模块上相互调换;

      ·对所有过程进行日常跟踪,及时发现风险出现的征兆,避免风险。

      要想真正回避风险,就必须彻底改变测试项目的管理方式;针对测试的各种风险,建立一种“防患于未然”或“以预防为主”的管理意识。与传统的软件测试相比,全过程测试管理方式不仅可以有效降低产品的质量风险,而且还可以提前对软件产品缺陷进行规避、缩短对缺陷的反馈周期和整个项目的测试周期。
    http://bbs.51testing.com/forum-157-1.html

  • 开始→运行→输入的命令集锦

    2009-10-20 13:29:46

    开始→运行→输入的命令集锦

    mstsc--远程桌面连接
    logoff--注销命令
    rononce -p --15秒关机
    tsshutdn--60秒倒计时关机命令
    iexpress--木马捆绑工具,系统自带
    tourstart--xp简介(安装完成后出现的漫游xp程序)
    winchat--XP自带局域网聊天
    sndrec32--录音机
    Nslookup--IP地址侦测器
    explorer--打开资源管理器
    lusrmgr.msc--本机用户和组
    services.msc---本地服务设置
    oobe/msoobe /a--检查XP是否激活
    notepad---打开记事本
    cleanmgr--**整理
    net start messenger--开始信使服务
    compmgmt.msc---计算机管理
    net stop messenger---停止信使服务
    conf----启动 netmeeting
    dvdplay---DVD播放器
    charmap---启动字符映射表
    diskmgmt.msc---磁盘管理实用程序
    calc----启动计算器
    dfrg.msc--磁盘碎片整理程序
    chkdsk.exe---Chkdsk磁盘检查
    devmgmt.msc--- 设备管理器
    regsvr32 /u *.dll--停止dll文件运行
    drwtsn32---- 系统医生
    rononce -p --15秒关机
    dxdiag----检查DirectX信息
    regedt32--注册表编辑器
    Msconfig.exe---系统配置实用程序
    rsop.msc--组策略结果集
    mem.exe---显示内存使用情况
    regedit.exe--注册表
    progman---程序管理器
    winmsd----系统信息
    perfmon.msc--计算机性能监测程序
    winver----检查Windows版本
    sfc /scannow---扫描错误并复原
    taskmgr---任务管理器(2000/xp/2003)
    wmimgmt.msc--打开windows管理体系结构(WMI)
    wupdmgr---windows更新程序
    w脚本---windows脚本宿主设置
    write-----写字板
    winmsd----系统信息
    wiaacmgr--扫描仪和照相机向导
    mem.exe---显示内存使用情况
    Msconfig.exe---系统配置实用程序
    mplayer2--简易widnows media player
    mspaint---画图板
    mplayer2--媒体播放机
    magnify---放大镜实用程序
    mmc-----打开控制台
    mobsync---同步命令
    dxdiag----检查DirectX信息
    drwtsn32---- 系统医生
    devmgmt.msc--- 设备管理器
    dfrg.msc--磁盘碎片整理程序
    diskmgmt.msc---磁盘管理实用程序
    dcomcnfg--打开系统组件服务
    ddeshare--打开DDE共享设置
    dvdplay---DVD播放器
    net stop messenger---停止信使服务
    net start messenger--开始信使服务
    notepad---打开记事本
    nslookup--网络管理的工具向导
    ntbackup--系统备份和还原
    narrator--屏幕“讲述人”
    ntmsmgr.msc--移动存储管理器
    ntmsoprq.msc---移动存储管理员操作请求
    netstat -an--(TC)命令检查接口
    syncapp---创建一个公文包
    sysedit---系统配置编辑器
    sigverif--文件签名验证程序
    sndrec32--录音机
    shrpubw---创建共享文件夹
    secpol.msc---本地安全策略
    syskey----系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
    services.msc---本地服务设置
    Sndvol32--音量控制程序
    sfc.exe---系统文件检查器
    sfc /scannow---windows文件保护
    taskmgr---任务管理器
    eventvwr--事件查看器
    eudcedit--造字程序
    explorer--打开资源管理器
    packager--对象包装程序
    perfmon.msc--计算机性能监测程序
    progman---程序管理器
    regedit.exe--注册表
    rsop.msc--组策略结果集
    regedt32--注册表编辑器
    regsvr32 /u *.dll--停止dll文件运行
    regsvr32 /u zipfldr.dll----取消ZIP支持
    cmd.exe---CMD命令提示符
    chkdsk.exe---Chkdsk磁盘检查
    certmgr.msc--证书管理实用程序
    calc----启动计算器
    charmap---启动字符映射表
    cliconfg--SQL SERVER 客户端网络实用程序
    Clipbrd---剪贴板查看器
    conf----启动netmeeting
    compmgmt.msc---计算机管理
    cleanmgr--**整理
    ciadv.msc----索引服务程序
    osk-----打开屏幕键盘
    odbcad32--ODBC数据源管理器
    oobe/msoobe /a--检查XP是否激活
    lusrmgr.msc--本机用户和组
    Nslookup--IP地址侦测器
    fsmgmt.msc---共享文件夹管理器
    utilman---辅助工具管理器
    gpedit.msc---组策略
  • 要做好性能测试,该掌握些什么?(zt)

    2009-05-04 16:43:06

    今天有同行在blog上留言,问“想从功能测试转向性能测试,但不知道需要哪些了解哪些知识,及怎样进行一个系统的学习”。这类问题之前也被问到很多次了,所以这次干脆整理一下,发个主题供同行们参考。如果需要补充,也欢迎大家留言一起讨论。

    如果想真的做好性能测试,需要学习的东西还是比较多的。简单列一下吧。

    1. 精通性能测试的基本概念,过程,方法论,了解性能工程;
    2. 精通1个商业性能测试工具+1个开源性能测试工具,知道工具可以做什么,不可以做什么,以及工具使用中常见的问题和解决思路;
    3. 扎实的计算机专业基础知识,包括计算机组成原理、操作系统、数据库原理、计算机网络原理;
    4. 熟悉至少1个常用的数据库产品,例如SQL Server或者 Oracle,能进行一般的数据库管理操作,熟悉SQL脚本的使用,熟悉常用的数据调优工具和常用的counter;
    5. 熟悉至少一个操作系统的原理,Windows或者Linux都可以,熟悉操作系统的体系架构、操作系统的重要基础概念,以及内存管理、存储/文件系统、驱动/硬件的管理、网络协议的实现及构成、性能的监控方法和原理,熟悉常用的counter;
    6. 熟悉至少一个web server 产品,例如apache,了解一般的配置和常用的counter;
    7. 熟悉至少一个应用服务器产品,例如tomcat,了解一般的配置,熟悉常用的服务器性能监控方法和原理,熟悉常用的counter;
    8. 至少熟悉TCP/IP协议,熟悉HTTP协议,至少见过并了解三层、四层交换或者路由器的使用和配置。了解常用的与网络性能相关的counter;
    9. 了解一般的大型企业应用的部署架构和应用架构;
    10. 了解知名大型web应用、高并发量、高流量、实时响应要求高的超大规模网站的架构和优化历程;
    11. 熟悉统计学的基础知识、常用分析方法以及实验设计方法,了解数学建模相关的知识;
    12. 熟悉专属行业的业务知识和用户场景,例如电信行业的OSS系统所涉及的业务知识和用户场景,证券交易系统所涉及的业务知识和用户场景;
    13. 大量的实际性能测试及优化经验;
    14. 积极的参与到各类圈子、社团的讨论和交流、分享中。

     暂时先想到了这么多,有兴趣的朋友可以一起讨论一下,相信每个人都有自己不同的经历和感想,可以跟其他人分享一下,提供参考。

    另外,我之前也整理发布过不少性能测试方面的资料,从入门级的文章到 升级的必读都有一些,有兴趣可以参考。

    资料收集:高并发 高性能 高扩展性 Web 2.0 站点架构设计及优化策略
    http://www.cnblogs.com/jackei/archive/2007/10/07/915931.html

    最全,最强的软件测试资料汇总 (性能测试,性能调优,功能测试,自动化测试,测试管理,测试工具,测试用例设计,缺陷分析预防,前沿测试技术...)
    http://www.cnblogs.com/jackei/archive/2007/02/06/641647.html

    (更新到 2007-6-14) 两个新的系列文章的写作计划——《LoadRunner 没有告诉你的》和《JMeter从入门到精通》
    http://www.cnblogs.com/jackei/archive/2006/12/04/558720.html

    不定期整理推荐 InfoQ 上面的优秀文章 ^_^ [UPDATED: 2008-6-20] —— 部分关于性能测试和优化,以及架构设计的优秀文章
    http://www.cnblogs.com/jackei/archive/2007/09/22/902401.html

    软件性能测试——blog上关于性能测试文章的全部列表
    http://www.cnblogs.com/jackei/category/32808.html?Show=All

  • 两个多月的面试总结(下)

    2009-04-15 11:50:32

    多谢大家光顾,以后我也会把和测试相关的工作学习生活的内容写在这里,共同学习探讨。下面言归正传,说下我在这段时间面试碰到的题目,相信对大家准备面试会有帮助,多多支持!

    先说笔试:一般的公司会通过笔试淘汰一部分不符合他们公司职位要求的人员,毕竟每个公司具体岗位不一样,总希望招到能尽快上手的人,就像你做了2年多的纯功能方面的测试,而人家希望有点编程能力的做性能方面的测试,估计你会在笔试中被淘汰。所以笔试也是很重要的部分,当然你够牛就直接面吧。

    1.编程基础,我不知道有多少做测试的朋友讨厌编程或者做软件开发,我个人是比较讨厌的,虽然学校里学的是计算机,但是到毕业也没正儿八经地写过超过百行的代码,但没写过不代表读不懂。所以选择填空还是可以应付的。对于可能的编程题,我是准备了一些如冒泡,折半算法、strcpy/strcmp/strlen原函数等。编程的能力是需要积累的过程,所以贵在平时。对于编程能力是否有助与测试这个论坛上讨论过的问题,我的观点是第一至少你找工作时用的着,第二如果做性能测试应该也需要,第三如果有2年以上的测试经历应该也会觉得非常有必要。本人也正硬着头皮再学c,虽然学了忘忘了学。

    2.数据库知识,建议准备好sql语言,装个mysql自己通过敲命令,能掌握高级查询使用基本可以应对了。

    3.软件测试理论,这个大家都不陌生,也是必考的了,应该可以轻松应付。要注意准备下web测试和性能测试这块,现在做web的公司好多。

    4.根据公司具体的职位要求可以准备的有linux的命令,CMMI的基础知识,TCP/IP的基础知识,通信的如3G网络类知识等。

    下面说面试:通过面试真的能看出很多,技术、经验、性格人品等,当然都是通过你的答题来让人家了解的。

    1.请自我介绍一下。这个必答题。对于不善于表达的朋友要准备一把,我就是这种类型,好处是起码说起话来可以比较流利。说性格时可以提对做测试有优势点。

    2.说说你以前公司的测试流程。必答题。主要结合自己的项目经验相信讲一个自己做过的项目,从立项到测试结束,当然侧重测试和自己所做的内容。这里面试官一般都会根据你说的再提问。

    3.你是怎样做出自己的职业选择或者自己的职业规划。这题也经常问。可以从自己的优点说如何适合做软件测试,对与职业规划,我一般说在技术上往资深测试工程师发展。

    4.你觉得自己作为测试工程的优势在哪里?/你认为自己比你的同事优秀在哪里?也经常问,可以从性格出发,讲自己优点,以及在项目中表现,领导的良好评价等,总之“恰当”地往好处说,不要言过其实,让人怀疑你的人品哦。说说自己的缺点?这个也不好回答,最好能恰当地引申回答到优点上。

    5.一个测试中不堪回首,或者让你很郁闷的事情。我被问到了,当时想不起来,后来想想可以讲一个项目中的失误及后果,然后讲自己如何去成功弥补及教训经验。我如果提前想一下就不会该说什么了。

    6.你的好友是如何评价你的?你的项目组长是如何评价你的? 这类题也经常问。回答总要往好处说,但是你要自信地回答。

    7.在成年后,哪些成绩给你带来最大程度的满足?蛮不错的题。记得我但是答的是第一次自己带一个小项目,顺利完成测试任务。

    8.列举几个可能碰到的题,大家可以想想。

    测试时你提交的bug被研发拒绝或者他认为不是问题,你如何处理?

    测试与开发沟通如何提高效率和改善沟通效果?测试工程师的素质和技能?

    你在压力下能工作的很好嘛?测试计划包括哪些?

    9.你期望的薪水?问的很多啦,根据自己能力和公司的大小,可以搜索下了解下情况。在工作难找的情况下OFFER到手实在些,骑驴找马总容易很多。

    关于这些面试题,自己想不好的可以网上搜搜,51上也有很多关于答题的技巧和答案。最后要说下心态,面试的时候自信最重要,自信也来自良好的准备,所以面多了总结下,下次就更自信了。想想没被录用只能说明公司不适合你,或者人家要不起你。说的废话蛮多的,最后希望Tester在自己的职业道路上走地顺利......

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 两个多月的面试总结(上)

    2009-04-11 16:19:20

    作为一名测试人员,51真的是我们的精神家园,所以在收到OFFRE后决定给同样在寻找工作的朋友们一点自己的经历,今天主要说下面试的N家单位,都是杭州的。

    一、恒生电子:由于我之前做过通信类产品测试,面的是他们的WIMAX岗位,是给NOKIA外包的。过去先做一套题,英文题目,有软件测试相关知识,wimax原理图,java编程,C语言编程等等,C语言题目是写strcpy/strcmp/strlen中的一个,由于没准备,所以我只做了测试相关题目。面试上来要我做个英文自我介绍,当时闷了,没准备,答得很郁闷。后面主要问以前的测试流程、测试相关知识等,最后看我简单的C题目没写出来,被狠狠BS了,当场告诉我不适合此岗位。第一次面试结束,彻底失败告终,要好好准备C和英文介绍。

    二、H3C:过去首先做一套题,主要是C的,和HW差不多的题目。由于做了相应的准备,选择和填空基本完成,编程题没做。一面是测试的项目leader,主要以前的测试流程、测试相关知识,感觉不错,二面好像是HR主管,主要非技术问题,答的一般,三四面有技术和项目相关的问题,同样关注离职原因等。总体说来面后自我感觉良好,可惜还是挂了。

    三、阿里&淘宝:两个都是电话面试,对这种面试形式不太习惯,都在下班后来的电话,主要问测试技术相关知识,两个电话面的都没结果。

    四、三维通信:上市公司,新大楼不错。先是HR的面试,问的很多,聊的蛮久的,后面是技术面试,感觉他们不是做纯粹软件测试,因为他们的产品大体是基站的扩放器之类,测试侧重点主要是看仪器。所以聊的不投机,也没消息。

    五、三汇数字:先HR,后技术。主要是嵌入式产品,问我有没有白盒测试经验,我想做白盒还会来你这么,国内做这个也不多。不知道他们到底要招怎么样的人,成年挂在51上。

    六、淘宝:阿里的扩招是千真万确的。这次直接面试,好像是搜索部门。先做题,linux基本命令,C的strcmp原函数,一个用例设计题,对输入年月日做最多用例考虑。面的可能是是测试项目leadre,由于测试部分答的不错,C的那题还是没搞定,不过一周后还是给了2面。二面也做的相应准备,可惜的是还让写上次的C题目,超级郁闷,而且二面官问了些非常尖锐的问题,让我无从下手回答,很正常的挂了。后来在网上好好搜索了相关面试题目,发现还是自己准备不足。

    继续在51上投,投了不下200份简历........囊括本市所以测试岗位。

    七、公众信息产业:主要给电信做项目,过去先做了一套测试题,轻松。后面的技术面试谈的主要是以前的测试流程和技术,也轻松。后来某天下午3点让我5点过去二面,由于预约了另一家公司,让他们改天,至今无音讯。估计找工作的人实在太多了。

    八、支付宝:还是阿里旗下,阿里的人招不完啊,几乎占据论坛3分之一版面了,呵呵。没做题,直接聊,主要测试相关,以前项目,问题比较细,问题也叼装,感觉阿里对招人要求还是很高的,虽然招的人多。聊了大概40分钟,两天后邮件通知挂。

    九、3个个给阿里做外包的,由于自己已经面过阿里那边,所以都最后都无果。还有几个小公司,时间上冲突,没有再给机会。

    十、给OFFER的公司:做一套题,涉及面非常广,C语言、数据库高级查询、用例发散设计、软件工程、项目管理知识、测试技术考的很细。面试是三对一,也是第一有这样的经历,刚开始蛮紧张的,问的问题之前的面试基本上问过。我只能说上帝给予了我这个职位。

    离上班还有段时间,接下来重要深入学习LR和性能测试技术,数据库,linux,C编程,测试技术,希望有很好的准备和状态投入新公司。

    下篇具体写面试题目介绍和准备,希望对大家有帮助。请多多支持,共同进步!

     

     

     

     

  • 第二课、3G与光通信

    2008-08-20 11:25:18

    3G究竟能给光通信带来什么?我们觉得这要分四个方面进行讨论:

      13G对传统的光网络技术有什么挑战?

      23G对光网络的带宽需求究竟有多大?

      33G下什么样的产品或是厂商能够更好的生存?

      4、运营商在3G下的光网络策略是如何的?

      在更进一步讨论3G之前,我们先来了解一下3G

      大家都知道3G的三个标准WCDMATDSCDMACDMA2000。由于联通已经采用了CDMA2000,而大唐的TD-SCDMA一直都处于变化当中,因此现在人们口中的3G更多的是指WCDMA

      WCDMA目前有R99R4R5R6四个标准。其中R99R4较为成熟,而且厂家也有较多产品。作为全IPR5R6,由于标准一直在更改之中,未有定论。

      下图为基于R99WCDMA网络结构:

      较为专业的说法是把3G分为无线网和核心网。RAN和空中无线部分称为无线网,CN是指核心网。
    作为任何业务网络基础的光网络,在3G中扮演的角色是对3G业务的承载。对于Node BRNC的传输、RNC到核心网的传输都需要光网络的参与,而核心网之间的交互也是光网络的任务。

      下面我们就四个问题进行讨论:

      13G对传统的光网络技术有什么挑战?

      从目前的光网络上看,SDH无疑是最主流的技术。在2G时代,SDHTDM业务的适配是非常成功的。而在3G时代,由于各Iu接口采用了ATM协议,意味着我们的光网络必须支持ATM技术。有人会问,是不是这意味着ATM的复兴呢?回答是否定的。我们利用ATM技术并不代表着我们要用ATM组网,也就是说,我们可以在SDH基础上对ATM业务进行支持,这就是MSTP带给我们的好处。

      23G对光网络的带宽需求究竟有多大?

      这是个很头痛的问题。如果真正达到3G定义的在静态环境上有2M的速率,那么一个基站的扇区带不了几个用户,即便是步行速率的384K,数量也很有限。由此可见,我们在3G建设的初期,就按照3G的定义来估算我们的带宽需求,那将是一个不可估量的数字。从目前的情况看,必须对数据业务进行限数,即对各种高速率的数据用户进行数量限制,而对速率为12.2K的语音用户进行大幅度的支持。

      33G下什么样的产品或是厂商能够更好的生存?

      有网友在论坛上问我,光通信厂商如何在3G下更好的生存?这个问题基本已超出了技术范围,我说我只能瞎说两句。首先,我觉得3G对光网络产品有很大的挑战。我看到,很多厂家的3G无线设备上集成了STM-1光口,有的甚至能在明年推出11备份的光口做MSP。假如有一天,在RAN上我看不到一端光端机,我也不会惊讶。而且,AAL2交换技术作为ATM业务汇聚的一种新技术,本身已经超过了MSTP提供的基于VPI/VCI的交换,这样意味着Node B有可能比MSTP更具竞争力。

      4、运营商在3G下的光网络策略是如何的?

      对于老牌的电信/网通而言,由于光网络一直遵从的是本地固定电话汇接网的结构,不仅网络结构上不符合3G的业务形式,而且目前网络中富余资源太少,很难利用。这就意味着,至少在C3层面上,我们需要一个全新的传输B平面,也就是说,需要重新建立一个符合3G业务特征,为3G预留容量的光网络。

      而对于联通/移动而言,由于它们已经在CDMAGSM上积累了丰富的运营经验,而且它们的光网络和无线网络挂钩密切,因此应该考虑以利旧和扩容为主要思路。尤其它们的光网络建立较晚,MSTP产品占大多数,在升级的条件下可以更好的支持ATM业务。

      3G的热潮从2000年开始已经很久了,但直到最近才真正有所动静,光纤在线希望这一次3G不再是海市蜃楼的虚幻,它能带着光通信一起飞跃到光明的彼岸。
  • 第一课、无线技术相关术语解释

    2008-08-20 11:21:44

    GSM/2G

      GSM(全球移动通信:Global System For Mobile Communication)是1992年欧洲标准化委员会统一推出的标准,它采用数字通信技术、统一的网络标准,使通信质量得以保证,并可以开发出更多的新业务供用户使用。GSM移动通信网的传输速度为9.6K/s。目前,全球的GSM移动用户已经超过5亿,覆盖了1/12的人口,GSM技术在世界数字移动电话领域所占的比例已经超过70%。由于GSM相对模拟移动通讯技术是第二代移动通信技术,所以简称2G。目前,我国拥有8000万以上的GSM用户,成为世界第一大运营网络。

      GPRS

      GPRS(通用无线分组业务:General Packet Radio Service)是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。简单的说,GPRS是一项高速数据处理的技术,其方法是以“分组”的形式传送数据。网络容量只在所需时分配,不要时就释放,这种发送方式称为统计复用。目前,GPRS移动通信网的传输速度可达115k/s。GPRS是在GSM基础上发展起来的技术,是介于第二代数字通信和第三代分组型移动业务之间的一种技术,所以通常称为2.5G。

      WAP

      WAP(无线应用通讯协议:Wireless Application Protocol)是移动通信与互联网结合的第一阶段性产物。这项技术让使用者可以用手机之类的无线装置上网,透过小型屏幕遨游在各个网站之间。而这些网站也必须以WML(无线标记语言)编写,相当于国际互联网上的HTML(超文件标记语言)。打个比喻,GPRS和GSM都是马路,而WAP是在马路上的汽车。中国移动开通GPRS之后,WAP就行驶在GSM和GPRS两条马路上,而行驶在GPRS的马路上可以提高数据传输速度。因此,现有WAP上的内容一样可以通过GPRS进行浏览和应用。WAP是2.5G的协议。

      2.5G

      其它2.5G技术。2.5G移动通信技术是从2G迈向3G的衔接性技术,目前出现的2.5G衔接技术还包括:HSCSD、EDGE、EPOC等。

      HSCSD(高速电路交换数据服务:High Speed Circuit Switched Data)是GSM网络的升级版本,能够透过多重时分同时进行传输,而不是只有单一时分而已,因此能够将传输速度大幅提升到平常的二至三倍。目前新加坡M1与新加坡电讯的移动电话都采用HSCSD系统,其传输速度能够达到57.6kbps。

      EDGE(全球增强型数据提升率:Enhanced Dataratesfor Global Evolution)完全以目前的GSM标准为架构,不但能够将GPRS的功能发挥到极限,还可以透过目前的无线网络提供宽频多媒体的服务。EDGE的传输速度可以达到384k,可以应用在诸如无线多媒体、电子邮件、网络信息娱乐以及电视会议上。

      3G

      3G是3rd Generation的缩写,指第三代移动通信技术。相对第一代模拟制式手机(1G)和第二代GSM、TDMA等数字手机(2G),第三代手机是指将无线通信与互联网等多媒体通信结合的新一代移动通信系统。它能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。为了提供这种服务,无线网络必须能够支持不同的数据传输速度,也就是说在室内、室外和行车的环境中能够分别支持至少2M/s、384k/s以及144k/s的传输速度。CDMA被认为是第三代移动通信(3G)技术的首选,目前的标准有WCDMA、CDMA2000、TD-SCDMA。

      一个重要的提示:在《什么是宽带和宽带网》一文中,曾经提到了宽/窄带的分水岭数据问题(骨干网传输速率在2.5Gbyte以上、接入网传输速率达到1Mbyte的网络定义为宽带),所以显然所有2G和2.5G的产品和技术都不是宽带技术,而能称得上宽带技术的只有3G及其后续技术。据说现在是有人要跳过3G,直接研究4G,不过具体的细节就不知道了。 CDMA
    CDMA(码分多址:Code-Division Multiple Access)是数字移动通信进程中出现的一种先进的无线扩频通信技术,它能够满足市场对移动通信容量和品质的高要求,具有频谱利用率高、话音质量好、保密性强、掉话率低、电磁辐射小、容量大、覆覆盖广等特点,可以大量减少投资和降低运营成本。CDMA最早由美国高通公司推出,近几年由于技术和市场等多种因素作用得以迅速发展,目前全球用户已突破5000万,我国也在北京、上海等城市开通了CDMA电话网。

      3G的标准

      国际电信联盟(ITU)在2000年5月确定W-CDMA、CDMA2000和TDS-CDMA三大主流无线接口标准,写入3G技术指导性文件《2000年国际移动通讯计划》(简称IMT-2000)。

      W-CDMA:即Wideband CDMA,也称为CDMA Direct Spread,意为宽频分码多重存取,其支持者主要是以GSM系统为主的欧洲厂商,日本公司也或多或少参与其中,包括欧美的爱立信、阿尔卡特、诺基亚、朗讯、北电,以及日本的NTT、富士通、夏普等厂商。这套系统能够架设在现有的GSM网络上,对于系统提供商而言可以较轻易地过渡,而GSM系统相当普及的亚洲对这套新技术的接受度预料会相当高。因此W-CDMA具有先天的市场优势。

      CDMA2000:CDMA2000也称为CDMA Multi-Carrier,由美国高通北美公司为主导提出,摩托罗拉、Lucent和后来加入的韩国三星都有参与,韩国现在成为该标准的主导者。这套系统是从窄频CDMA One数字标准衍生出来的,可以从原有的CDMA One结构直接升级到3G,建设成本低廉。但目前使用CDMA的地区只有日、韩和北美,所以CDMA2000的支持者不如W-CDMA多。不过CDMA2000的研发技术却是目前各标准中进度最快的,许多3G手机已经率先面世。

      TD-SCDMA:该标准是由中国大陆独自制定的3G标准,1999年6月29日,中国原邮电部电信科学技术研究院(大唐电信)向ITU提出。该标准将智能无线、同步CDMA和软件无线电等当今国际领先技术融于其中,在频谱利用率、对业务支持具有灵活性、频率灵活性及成本等方面的独特优势。另外,由于中国内的庞大的市场,该标准受到各大主要电信设备厂商的重视,全球一半以上的设备厂商都宣布可以支持TD-SCDMA标准。

  • IT职场里的某些人感悟(转)

    2008-08-19 17:44:29

    1.一个企业,80%的价值是由20%的人创造的,其他80%的人只创造了20%的价值,而他们最大的作用就是刺激这20%的人创造出 80%的价值,而能获得企业肯定和好处,也仅仅是这20%的人,所以,想要站的稳,爬的高,就只有成为这20%中的一员,这是千古不变的真理,所谓的团队,说粗俗点就是拉帮结派,兄弟,现实一点,人的社会就是这样,看看历史如此,现在如此,将来还是如此,不管职场,管场,都是如此,呵呵,一点浅见。
    2.过人的头脑比
    技术更重要!有了技术你可以独当一面,可是懂了权术,你就可以独挡八面了!钱花花的来了,多看看书,厚黑学,鬼谷子之类的,保证有好处,揣测别人的心理啊!
    3.人本来就是复杂的,世界上没有绝对的好人,也没有绝对的坏蛋,好与坏只是一念之差。人人都可以做好人,有时候,人人也都可以成为坏蛋,这个世界上,没有永远的敌人,也没有永久的朋友,只有永恒不变的利益。但是你不能欺骗自己的兄弟!
    4.等咸鱼翻身的时候,也就是这锅汤煮熟的时候了!做好人有什么用?人善被人欺,马善被人骑,他妈的,一代天子一朝臣,这是自古不变的道理。谁不想将重权交给忠于自己的人来掌握!
    5.智,谋天下。勇,争天下。这个世界上,没有什么东西是得不到的,只有抓不住而从掌心中悄然流走的。做人要讲究城府,在你未成为三军统帅之前,不要暴露自己,等你成为将军了,大刀阔斧的给杀!但是要记住:先纳新,后吐故!如果先吐故,势必完蛋!康熙用此法一统朝政!
    6.不管他是谁,不管他的为人如何,只要对我们有利,就应该想办法让他为我们做事!不是不报时候未到!
    7.自己要懂技术,还要学会驾驭权术。
    8.鄙人最近看了小说《无以言退》,里面经典话很多,对你这种情况,可以录几句:“走很容易,留下来才是修行”,“不要说别人卑鄙狡诈,只能说自己无知愚蠢” ,“可以忍受物质的匮乏,但要学会在新时代下竞争的残酷。”
    9. 我说的这个高管,我来这个公司,就是他把我从另一家当地比较有规模的企业里生生的挖过去的,因为他知道我们这里另一家通过了
    cmmi L3级的企业就是我负责EPG里非常重要的工作,而且是已经获得SEI认证的cmmi定级评估员,所以他死活要把我挖过去,我过去后,由于cmmi当时是这个公司里的一项很重要的工作,所以我的工作是直接像他汇报。同时,我过来也不是什么很基层的员工,是质量管理部经理,所以对他汇报也符合汇报机制,不存在越级,所以他对我的工作是很了解的,不过由于这个公司里的软件部门从技术到工程管理简直垃圾的不是一般,一个项目经理基本没有听说过什么WBS是什么,连V模型都不知道是怎么回事。给他们一个瀑布模型的计划日程,他们都看不出来是什么生命周期,像什么配置管理,集成构建,需求管理,需求开发,分析设计,测试,等等等等,更是做得一踏糊涂。我来之后名称是一个部门经理,但是下大力气作了大量的一线工作,很多事情是一手一手教,就连个接口记录和管理这样的事情,我要给技术人员手把手的教,如何规划设计,如何识别接口(这里不是说的Java等语言里的接口类型定义),如何记录和管理,以及发展对接口的设计等等。不然他们在需求里说,“XX系统和XX子系统需要接口”,在概要设计里还是这句话,到了详细设计里,还是这样一句话。这种事情多得数不胜数。在项目管理方面就更不要说了,教项目经理写项目计划和做日程安排的时候,简直是我说一句,他们就往计划里写一句,同时我还要解释为什么这么写,日程的安排如何去符合生命周期,任务的分配和进度控制如何管理,配置管理如何设计符合生命周期的配置结构,等等等等,还有测试,我兼任测试部门负责人,对测试人员作了的培训,手把手的教他们如何设计测试用例。 所以,我的所有工作他是看得到的,企业由于我的存在发生的变化也是有目共睹的。但是,我过来大概半年后,这个高管就调任其他部门做管理了,新来的软件部经理来了之后,倒是对我的没有怎么着,因为当时cmmi还处于非常紧张的工作阶段,他当时不能动我,但在这期间,软件部有4个下属部门经理,他赶走了另外2个,到了 cmmi通过了,我就是成了第三个,他容不下不属于自己人的有能力的人。你说得不错,这就是政治斗争,一朝天子一朝臣,但是拿我们这些做实事有没有什么野心的人来做他政治斗争的牺牲品,我觉得很郁闷,觉得这个圈子里很肮脏。
    10.公司越大越不会要高手。你看看世界500强,有哪个高手进去了?世界500强的技术,大部分都是吞并小公司得来的。公司越大人事关系越复杂。你要知道你不是直接跟老板打交道的,你的表现在中层向上层回报的时候就全变样了。但大公司的收入高。所以,如果给人打工,最好不要露出你的本事太强。特别是在大公司。当然小公司露本事了,不会有好处,收入不会高了。但太大的坏处也没有。
    11. 有时候,程序员应该心胸开阔点,不要觉得有人比自己技术强,就觉得不舒服,不服气。没有这一点很难站在领导岗位上,换个角度想想,不是这个社会怎么着了,而往往是自己的心胸变的狭窄了,你无法左右这个社会,但是你可以左右你自己。勇于认可别人是一种美德,也是受到别人尊重的基础!
    12.人在屋檐下,不得不低头,要学会夹起尾巴做人。 必要的时候,反咬一口才是真的。伯乐不是那么好当的,如果你威胁到了他的利益,你说他会让你好过吗?开国皇帝杀重臣的是普遍现象,反倒是稀里糊涂的人能长寿。
    13.看《明朝那些事儿》感觉到,真正有发展的都是既能干又能混的。
    14.管理需要跟人打好关系,上头〉下级〉平级。如果你不想升迁,想做个普通的技术人员,你得私下跟你的新上司说,丑话就是表忠心。男人三件事:入对行,跟对人,做对事。好好琢磨吧。
    15. 对于
    CMM,我觉得对实际工作没什么用。我在2003年的时候,在某个世界顶级的通讯设备生产商的某个部门里参加了该部门的CMM流程制定工作,在一帮老印下面工作了一段时间。后来因为该部门持续亏损,公司决定退出这个领域,把整个部门给卖了,所以我跳槽到另外一家公司,属于该领域的上游厂商,接触了很多这个领域里小的公司,看到其中有些公司从10几个人开始发展,最后2000人,6000人,分拆,上市,茁壮成长。而以前那个部门被出售以后,还在不停的亏损。我觉得CMM那些鬼东西是其中的一个原因。这些流程极大的拉长了开发周期。在你做了需求分析,概要分析,详细设计,单元测试计划,集成测试计划,开了无数的review meeting,总结出了一堆的matrix,虽然你投入的人力是别人的两三倍,虽然你还迭代开发,来缩短周期,但是你的产品周期还是别人的四五倍。这不是夸张,的确是四到五倍。CMM只适合那些几乎完全垄断,没有竞争压力下生存的企业。印度人CMM搞得很好,但是他们还是只能做做代工,而且我接触过的印度人的代码,质量极其低下,完全没有保障。我现在在另一家公司,它倒是很庞大,在这个领域很垄断,但是没有CMM,甚至连像样的 schedule都没有,给一个大致的项目日程,几个重要的milestone,工程师自己的schedule,自己看着办,开始的时候让我很瞠目。
    16.cmm/cmmi 只是一套模型,就像其他的很多行业,如:银行业、建筑业、汽车工业、或者航空业,需要一套衡量其技术和管理水平的标尺一样,它只是一把衡量软件业管理和技术水平的标尺,当然,为了使决定采用cmm/cmmi的企业更好的实施cmm/cmmi所提出的目标,SEI将软件研发生产领域的诸多方面作了逐级的解释和有机的结合,形成了从cmm到cmmi的不断演化完善的各种版本,提出研发cmm/cmmi需求的人和研发cmm/cmmi的人,他们无非是希望软件 -----这个相对较新的技术产业,也能够逐步的成熟起来,能够适应软件应用相关行业对软件日益提高的各种要求。
        cmm/cmmi是在经历了软件危机之后,在大量的业内企业和专家在为了克服软件危机而做了大量的理论研究和实践之后,系统的总结的一种软件的方法论,不同的地域,不同的企业,不同的商业目标,不同的技术类型,不同的应用要求,这导致cmm/cmmi不可能非常具体的为我们提供某种直接的方法,因为它面向全世界所有的软件企业和他们研发的所有项目,所以,cmm/cmmi是一个高度抽象的模型,它所提出的目标和实践要求,也是在非常高度的抽象上的,换句话说,它为我们指出了目标,给我们说了要做什么,但是,怎么做,这就是企业自身去实例话这写目标和实践的东西了。我的意思就是说,在同一个cmm/cmmi目标下,不同的企业,有的成功,有的失败,这完全是自己的做法不同,这很正常,如果失败了就在cmm/cmmi上找原因,那么你看看人家成功的呢?是不是人家的成功和cmm /cmmi一点关系没有??所以,要客观公正的看待cmm/cmmi。 这里我要再谈谈软件危机,什么是软件危机?如果项目预算准确,产品质量可靠,成本控制到位,客户笑容满面,一派和谐祥和的大家发财的局面,这叫软件危机???而很多人提到软件业的困难的时候就会说,这是我们中国的国情,我们这里项目紧,周期短,开发人员技术不怎么样,还经常无能控制得住成本,客户的需求变更很多很无理。言下之意,就我们中国是这样,在国外一切都不是这样,国外的软件开发人员日子都很好过,诚然,现在放眼世界,发达国家的软件行业各方各面都要优于我们目前的状况,但是这是人家与生俱来的吗??难道“软件危机”一词的出现不是在60年代的西方,而是在今天的中国吗???4-5十千,人家同样经历着我们现在经历的一切,这,就是软件危机。如果说现在还有人cmm/cmmi 只适合那些市场环境良好,企业素质优秀的地方玩,那就是大错特错了,cmm/cmmi就是为了解决60年代后的软件危机而诞生的,换句话说,就是用在我们现在这样的行业环境下的东西,当然,实践有成功,有失败,经验和教训并存,如果没有失败的实践者去当炮灰,也就换不来后来人吸取教训必然无谓的失败,唯有这样,我们的行业环境也才能像欧美发达国家的IT业一样,经历阵痛,涅磐重生。
    17.做技术的人,能努力干活了,好技术留着以后自己创业的时候再用。要多用心思在跟人斗上。因为你要知道你是在打工,不是在给自己干。特别在500强的大公司更是如此。有人捣鬼,你就要捣更大的鬼。特别是大公司,每个人都有自己的算盘。他们都不是从公司利益出发的。这些话都是肺腑之言,你要好好体会。别人不会告诉你这些,只有你载跟斗了才能体会到。
    18.根据个人经历观察,高层才会重视CMMI,下面一线研发人员包括PM都比较抵触,特别是任务紧时最怕弄些繁文缛节。可能根本原因还是QA部门与项目规划没沟通好吧,让coder们又要马儿跑又要马儿不吃草。
    19.这个世界从来就没有公平过。我原来也以为只要把事情做好就可以了。可现实环境中,总会存在很多因素阻止你把事情做好!这个时候,就不光是修炼自己的内功了,还要
    学习很多的策略,和别人相处的方式。只有这样才能把事情做好。也就是外圆内方,但自己内心需要坚持的东西还要坚持。在任何时候都要保持虚心,多做事,少说话,特别是抱怨是没有用的,反而让你自己迷失了自己。将每一次挫折都看作一种成长!相信你总会实现自己的理想!
    20. 关于CMM,有一点很想说的。 本人曾经亲身参与过一个500人规模的软件公司CMM4级的评估,自己的项目也作为参评项目并且得到认可,不过我个人对于CMM并不看好,原因如下: 1,CMM的来源其实是美国军方,为了能够对军方超大规模的项目研发进行控制以及评估,而设计的一个模型,由卡耐基梅隆的软件工程研究所完成。这个模型的初衷就是要不计成本的完善软件质量,因为军方的很多软件项目(比如航天飞机的控制软件)不允许出现错误的。至于说CMM模型是否能够应用到民用项目中来,还有待探讨,最关键是CMM产生的成本很高,不仅仅是时间的问题,还有培训、实施等一系列的问题。我个人的观点除了大规模量产的产品(比如手机)中应用CMM会比较适合,其他类型的项目应用这个模型会得不偿失,毕竟软件项目做到最后还是利润摆在第一位的。 2,至于说能力太强,我觉得每个人的能力就像是那个“木桶原理”一样,由最短的那根木头决定,这么多人不认可你肯定有你自己的原因在里面,不要总是看到别人的不是。“让别人认可你”也是一种很重要的能力,如果你真的能力那么强,雇用你能够给公司带来大笔的收入,哪个老板会不愿意给你付薪水呢?而且要是真那么有本事,找投资商自己开公司也不是什么很难的事情。
    21.狼
    生活再战场,狗生活在职场。能力最强,也要低调。
    22.事业靠利用人力,不是靠朋友。人和人就是互相利用,在一个单位里同行就没什么朋友,都等看你笑话呐! 生存靠手段而不是技术,他过河拆桥,你不会釜底抽薪么?显然企业的领导目光也有点短浅。 如果不知道该干什么就开培训机构,弄不好你的学生会替你出口气~~
    23. 其实,中国就是这么一个社会,经历了那么长久的封建社会,权术这个东西还是在后代人的脑袋里扎了根.只要一遇到似乎可以威胁到自己地位的东西,就会用尽一切办法来把这些东西排除。 其实,我并不是说我们的祖国不是一个好的国家,只是我觉得现状是这个样子的,中国人只有到了山穷水尽的地步才会懂得团结,只有被别的国家侵略的无路可退才会奋起反抗.说的好是我们中国人大度不和别人挣,说的不好,就是没有血性!  我个人觉得,中国的IT事业处于一个急速发展的阶段,就像一个土富豪,拥有巨大的财富,却不知道自己该做些什么.现在中国的IT企业几乎上都是引进别人的先进技术,而大多IT人才都觉得IT这个行业很挣钱才会来投身IT事业,但是有几个人想过,要想自己赚钱安安稳稳只有等中国的IT行业成熟了,才会有可能吗?总觉得现在人,只顾自己赚钱,忽略了太多东西了.一个人的生活过的好不好,并不代表一个国家。 以前总觉得网络游戏很好玩,很新颖.但到现在人长大了,才发现自己所玩的游戏竟然没有一个是自己国家出的.都是韩国,美国的.现在看着中国人玩的不是自己国家出品的游戏, 总觉得很心酸.。现在的企业,为的不就是赚钱吗?谁不想赚钱,是人都想赚钱,都想让自己的生活过的很好,但是有时候自己的行为有可能会影响到别人的利益. 只要有利益冲突,就会有斗争,"忍"这是一个很好的办法,想要赚钱,并不是有很强的职业技术就可以的,左右逢源很重要,也不是要你缩着头,性格是这样,也不要去强制的改变什么,那样不是失了工作又是了真诚了吗? 我觉得做人要厚道是对的,但是遇什么人做什么事.看清楚自己在的什么位置上,做好本分的事情, 不要强出头... 如果你想生活的好,就请收敛你一身的光芒做人,如果你想做一个真实,对的起自己的人,就请你按自己的性格,思想去做所有的事情..

  • 关于跳槽 (ZT)

    2008-01-02 23:35:29

    人生总是在抉择,职场上也一样,人生像围城,职业生涯也有些类似。有些人总是在抱怨自己目前工作不好,羡慕别人的职业,别人的选择。而实际上,有可能你目前的工作是最适合的,只是因为自己的情绪因素。所以,在职业咨询中也有比较少的案例,并不是因为目前的工作不适合,而完全是由于个人的心态和情绪因素,导致对目前职业的困惑。
      
      丽夫职业顾问提醒职场上的人,在您困惑目前的选择之前,你可以做一个简单的评估,分析以下几个问题:
      
      1. 是否对目前工作已经绝望,想离开目前的工作、生活环境或人际关系?
      2. 在实际工作中,你是否受到了身体或精神上的伤害?
      3. 你是否忍无可忍,工作令您筋疲力尽不愿再继续了?
      4. 你是否在目前工作中进行职业转换并取得进步,已经是非常困难?
      
      当你对以上四个问题的回答是肯定的,表明你目前的环境对你是非常不利的,你想要在目前工作中取得进步也是不容易的,这时候你应该认真的分析一下自己是否应该进行职业转换了。不过,在进行职业转换之前,你可以通过问自己以下问题,分析一下目前工作中的不利因素。
      
      1. 不好的工作环境。例如企业的文化、工作中的噪音、对人体有害的毒素、不可预见的风险、不道德的行为举止、危险的举动或是暴力行为等。
      2. 不友好的老板或同事。工作中受到他人的攻击、愤怒、争吵、暴力行为、威胁、嘲笑、折磨等。
      3. 不利的工作。工作中感到很无聊、体力透支、脑力耗尽,或者工作中负担过重。
      针对以上三方面的不利因素,您可以通过工作环境的改变,和职业的转变来获得改善。不过,如果导致这些不利因素的只是客观的原因,那到了新的环境或职业或许可以避免以上的不利因素。但如果是自己主观的原因,尤其如人际关系的问题,自己的为人处事问题等,必然应先找出自己的原因,通过改变自己才能更好的影响其他人。
  • 我要告诉测试新手的(转)

    2008-01-02 23:14:46

    1、你是一个检查者,你不需要为质量负责
    很多测试人员误入歧途,不明白他们是评测产品的而不是控制产品的。这两者之间有着天壤之别。例如,一个测试团队花费好几周时间测试并发现很多缺陷,只是为了看着管理层决定发布一个有已知严重缺陷的产品。测试团队经常会感到士气受挫,置疑他们测试的目的。
    我询问团队中的成员他们是否被支付薪水了,通常得到的回答都是“是”。我又询问他们是否尽力去做工作了,再一次,通常得到的回答都是“是”。我于是告诉他们,“你们做了你们的工作。你们尽力测试,发现了缺陷并进行了上报。那么现在可以回家休息了。实际上,作为一名测试人员唯一失败的地方是不上报一个已知的缺陷。”
    这不会提高士气,但却有助于事情向正确的方向发展,特别是能让人不用每天晚上都在家接着办公。
    很多测试人员,包括我,当我们刚开始测试工作时,似乎会觉得自己对我们所测试的系统应用的质量负责。尽管这个工作的出发点是让人钦佩的,可实际上我们测试人员对于产品的质量基本没有控制能力。也是由于这个原因,测试人员不为质量负责。现在问题是管理层并不总是能看到这种区别。所以经常看见管理层提出类似于“我们付钱给这些人不是为了获得高质量的软件吗?”的问题。
    2、缺陷都是有价值的
    每一个缺陷都是深入了解和提高的机会。我们可能只有一次机会观察到一个缺陷,所以我总是告诉测试人员始终保持高度注意力,不要为测试的乏味所折磨。
    缺陷信息可能是可获取的项目数据中最有效的资源之一。但是这都取决于我们能多好的捕捉和传达我们所发现的缺陷的相关信息。
    每个缺陷都会花费整个组织的金钱。如果我们不能从中更进一步了解产品,我们会浪费大量时间和金钱。当我们把一个错误转换成一次深入了解的机会时杠杆作用就出现了。让我们面对它――有些教训只能通过经历来学习的。
    由于一个缺陷而责备谁不会有任何好的作用。责备只会让士气低落、沟通中断。这就像不断鞭打一匹死马希望它能活过来一样。
    3、你报告第一个问题之前一切都是美好的
    这就是一个测试人员所面对的现实。你可以计划测试,获取所需要的资源,看起来所有人都站在你这边。可当你报告第一个问题之后,事情就开始变得紧张了。
    出现这种态度上的突然变化的原因是现在你在批评某些人的工作了。自尊心使得自我收到伤害,关系变得紧张。有些情况下自尊心是值得期盼的,只要知道当你开始发现问题的时候态度有可能变化就可以了。
    我经常建议测试人员做的一件事是读一读一些你过去写的缺陷报告,假设自己是接收缺陷报告的人。你会发现自己需要更老练一些。写一个没有任何挖苦语句的缺陷报告可能没什么乐趣,但它的确有助于和开发人员之间保持一个好的关系。
    4、只能测试你能观察的
    你可能总想测试一些真正有创造性的用例,但如果你没有办法观察到结果,那有什么意义?尽管有些应用让你能观察到很多,但仍然有你没办法接近的,例如结构、隐藏的对象、后台进程等。
    5、别忘记你是怎样到一个地方的
    我不是在谈论知道为什么你走进一个房间,而是在测试时执行的步骤。对于测试新手常见的是发现了一个重大的缺陷,但却无法复现它以便定位解决。这样你只会觉得不舒服,不知道自己到底是真发现了一个缺陷,还是说仅仅是错误的使用了应用。
    你能用来跟踪你的测试步骤的方法有测试脚本、测试记录、敲键记录器如Spector和屏幕视频捕捉工具如Hypercam。
    6、标准和流程是你的朋友
    尽管标准和流程让一些人觉得受限,但它们为你的工作提供了有价值的指导。不要拒绝标准因为它们是详细的、具体的。因此用它们指导自己更快、更一致的完成自己的工作。
    7、没有足够的时间用于测试
    几乎每一个测试人员都抱怨没有足够的时间用于测试,但实际情况是测试任何东西到完整的程度都是不可能有充足时间的。当你充分考虑软件的特性如可用性、安全性、兼容性、互操作性等时这一点尤其正确。
    不要再抱怨缺少时间,学会根据风险来进行优先级排序,把注意力都放在对管理层很重要的应用目标上。有时候我们测试的内容超出了我们需要测试的,因为我们的目标偏离了产品的价值。
    8、你不可能发现所有的缺陷
    如果你测试的东西后来有缺陷被发现,不要变得气馁。你可能已经做了非常全面的工作,获得了高水平的缺陷移除,但100%都是不可能的目标。
    9、保持幽默感和对前景充满信心
    经常微笑、保持健康可能是你最好的生存方式。如果你正处在困难条件下,请相信,这一切都将过去。
    10、争取做到最好而不是完美
    测试新手经常会陷入追求完美的过程中,认为100%的正确才是标准。我曾经也是受害者之一,但要为自己辩护的是,我以前深受80年代后期类似于“99。9%还不够好”的TQM帖子和文章的影响。
    追求完美的问题在于它会让测试进程变慢,将担心引入你所做的一切,使得你对别人更挑剔,而且通常会让你的朋友和家人感到失望。
    当然,没人愿意犯错误,但他们稍不注意就出现了。想不犯错误就是否认现实。争取做到最好是一种好的习惯,表明你对工作的态度和投入程度。如果你想努力做到最好,你就会往前再多走一点。
    根据我的观察,大多数人看到错误或者经历失误时都是很宽容的。人们最关心的是你对待问题的反应。
    11、开发人员不是敌人
    需要整个项目团队的努力才能递交高质量的产品。有时候似乎开发人员不太关心质量,这个时候事情背后可能存在隐情。这时候你需要更好的和开发人员合作而不是反对他们。要始终牢记良好的交流是一个项目成功的关键因素。当你和开发人员站到对立面时,交流就停止了,你测试所需的很多信息也无法获取了。
    12、建立和维护一个私人的交际网
    你的私人和工作关系是一个很重要的资产。无论时当你有工作时还是当你没工作时他们都是一个很好的支持系统。找一个好的指导者,而当你学到足够的东西时成为别人的指导者。
    13、持续锻炼自己的技能
    你的技能把你和别人区分开。始终通过参加专业会议、获取认证、阅读专业资料等来不断学习。我给自己制定的目标是每周至少读一本和个人发展以及职业发展相关的书(测试、领导艺术、商业、IT等)。
    一个个人发展方面的专家说过如果你每天在任何特定的主题上花费30分钟进行阅读,五年之内你肯定能成为这个主题方面的专家。这一点对我是起作用的――你也可以试试。
    另一种让自己始终内行并建立网络的好的方式是活跃在一些QA或者测试论坛上。
    14、当前进变得困难,懒惰就需要创造力了
    当我第一次成为一个测试团队负责人时,我用这句话做了一个字条挂在我的桌上。它不断提醒我把创造力作为我解决问题的一个杠杆。
    学着从一个新的有创造性的方式来看待问题。你可能有一个好的测试计划,但你如何应付各种变化呢?弹性是一个优秀的问题解决负责人的关键特性。
    15、简单并不总是很容易
    我们测试中做的很多工作看起来都很简单。但是,挑战在于保持努力的连贯性。
    有些解决问题的方式刚开始看起来很简单,但不要由于它简单和明显就丢弃任何一种想法。同样,不要低估实现一个简单想法所需要付出的努力。
    结论
    智慧比知识更重要。你可能已经学习了大量测试技术,但如果你没有足够的智慧判断什么时候采用它们,没有从整体上理解它们,你应用它们的能力将受到很大限制。对任何都有涉猎的你存在的一个问题是“你不知道什么你不知道”。智慧帮助你明白你需要知道哪些东西才能成功。
    上面罗列的这些都是我希望我刚开始测试时都已经完全认识到的。我希望它们对你有帮助。
  • 软件测试人员面临的挑战与机遇(ZT)

    2008-01-02 22:53:48

    一、项目管理、开发和测试的三方合作

    产品项目管理、开发与测试同等重要、缺一不可:三足鼎立三方需要互相理解、支持、协作与帮助

    二、测试人员常面临的十大挑战和应对策略

    1. 测试人员被认为低人一等
    2. 测试时间永远不够
    3. 缺乏简单易用的测试辅助工具
    4. 缺乏具体通用的测试技术
    5. 很难清楚了解用户需求和期望
    6. 缺乏可明确衡量测试质量达标的度量
    7. 很难确定一个测试实例是否执行完毕
    8. 很难找时间作自动化测试
    9. 测试所需文档经常不全
    10. 很多任务在身,很难保质保量

    1 测试人员被认为低人一等

    很严重的错误理解*:在软件企业的工作选择中,软件测试人员只不过是初学者(entry level)的职位*
    对软件测试的偏见:

    1.是测试人员在耽误和阻挠软件产品的按时发布

    2.如果发布的产品有缺陷,那测试人员应该负责

    3.开发人员须经过特殊训练,测试人员就用不着

    4.测试工作比开发工作容易多了

    *资料来源:Ron Patton (2001) 《Software Testing》bySamsPublishing

    挑战之一:原因和后果

    原因:

    不了解软件测试做什么和它包括什么。
    开发软件的公司没有标准化的开发和管理程序
    没有想到要开发高水平的软件,须有高水平的测试人员

    后果:

    造成测试人员心理负担,影响工作热情
    造成测试人员短缺和人员流失
    直接影响产品质量

    十大挑战之一:应对策略

    树立信心!大趋势:软件测试工作已越来越多地得到重视
    理解原因,端正心态,正确对待
    注重技术水平提高,让实践证明我们的价值
    公司里建立良好的工作关系
    勇于提出建设性的意见

    2 测试时间永远不够

    测试工作总是不能按时完成
    要测试的总是比有时间测试的工作量多得多
    测试人员很难决定最佳有效测试范围
    没有时间按部就班发挥测试最好水平

    挑战之二:原因和后果

    原因:

    任务繁重
    过于紧凑的时间表
    压力大的工作环境
    测试和开发规程管理不当

    个人原因

    后果:

    疲劳过度、精神负担
    仓促交付工作,质量差
    开发项目编码进度延误

    十大挑战之二:应对策略

    个人:自我调节为主,请求帮助为辅
    随时分析自己的测试任务,分清优先顺序
    事先作多种准备(几套方案、不同测试范围)
    风险分析和管理
    及时沟通.提早向上级反映
    提出建设性改进措施

    3 缺乏简单易用的测试辅助工具

    没任何选择
    知道测试辅助工具的重要性,但没到位
    不知道所需辅助工具应有何种功能

    挑战之三:原因和后果

    原因:

    外部购买的太贵
    外部购买的多数不直接适用
    公司内部没有技术资源开发
    公司内部没有时间开发
    技术上不直接支持

    后果:

    只能依赖手动测试
    容易疲劳、精神负担
    仓促交付工作,质量差
    开发项目编码进度延误

    十大挑战之三:应对策略

    在产品设计阶段,就应考虑到测试所需的辅助工具支持
    研究最佳可用辅助工具,效益分析
    分析产品特点,确定辅助工具以应有的功能
    自己设计和研发
    微软实践:
    1.设专人开发、维护
    2.不断改进自己开发的自动化测试辅助工具
    3.各产品团队鼓励自己开发测试辅助工具
    4.奖励和推广发明创造

    4 缺乏具体通用的测试技术

    1.黑箱、白箱、灰箱测试
    2.安全性测试
    3.性能测试
    4.自动化测试

    挑战之四:原因和后果

    原因:

    软件产品的多样性
    软件总是有缺陷
    没有可适用于所有软件的测试方法
    测试技术没有固定的规则
    测试是一项连续不断进行的实践

    后果:

    影响测试质量和效率
    增加测试难度
    需要时间尝试和确定测试方法

    软件产品的多样性

    办公室和商业用软件(Office and Business Applications)
    游戏类软件(Games)
    数据库软件(Database)
    互联网/网站用软件(Internet/websites)
    操作系统软件(Operation system)
    多媒体和动画软件(Multimedia & Animation )
    图像处理和文字出版编辑软件(Graphics and Publishing)
    语音识别(Speech)
    手写体识别以及拼音输入法(Handwriting, OCR and User Input Editor:IME)

    软件总是有缺陷

    1.软件本身功能的复杂性(Software complexity )
    2.源代码编译过程的系统错误(Compiling and integration error )
    3.编码时的人为程序错误(Coding/programming errors )
    4.设计规范文档本身的问题(Poorly documented spec and design )
    5.人为的的信息交流失误(Poor communication among testers, PM and programmers)
    6.过于紧凑的时间表和压力大的工作环境(Tight schedule and high pressure working environment)
    7.改变设计要求(Changed design requirement )
    8.在软件开发辅助工具中的缺陷(Flaws in the software development tools )

    十大挑战之四:应对策略

    研究和比较可用技术
    提高灵活使用现有技术的能力
    学习、应用和推广最佳实践
    自我改进、团队互助
    经常交流、研讨适合自己产品的最佳测试技术
    Explosion 1: .ò..óD....·¢.1oí....£.

    5 很难清楚了解用户需求和期望

    希望做到想用户所想,但做不到
    希望产品发行后用户满意度高,但不知怎样才能做到

    挑战之五:原因和后果

    原因:

    没发行的新功能设计保密
    缺少和用户直接接触的时间和机会
    缺乏用户使用研究(Usability study)专家

    后果:

    有时对用户期望行为判断错误
    遗漏重要用户使用场景测试
    影响用户满意度

    十大挑战之五:应对策略

    用户访问
    市场调查
    积极参加用户试用产品研究(usability
    study)
    研究用户发现的缺陷(OFFBUG)
    收集用户文档
    帮助产品售后服务支持
    访问用户答疑网站

    6 缺乏可明确衡量测试质量达标的度量

    什么条件下可认为测试的产品和功能达到质量标准?
    多是经验积累,并非科学可靠
    很多数量化的度量并非全面和准确
    比如:
    缺陷数量变化趋势、自动化脚本代码覆盖率
    测试案例100%通过也不意味着测试完毕
    测试脚本运行100%通过也不等于该功能测试完毕

    挑战之六:原因和后果

    原因:

    不定性:产品质量涉及很多不定因素,很难准确度量
    难定量化性:测试功能的质量本身就难定量化
    复杂性:产品本身太多功能有互动作用

    后果:

    缺少质量管理和决策的依据
    已有的度量,如分析或使用不当,会导致错误结论和判断
    测试人员必须靠经验和理解判断何时何条件下认为测试完成

    十大挑战之六:应对策略

    找出可用质量度量,对比分析
    研究适用于自己产品质量的度量
    明确使用数量化度量时的注意事项
    数量化度量和经验判断并用
    ‘Good enough’
    注意:测试完成与否有很大程度上的经验判断因素,所以单
    一依赖定量化的度量是不正确的
    建议:参考另一讲座:“软件产品质量度量”

    7 很难确定一个测试案例是否执行完毕

    理解内容,但测试的深度和广度相差太多,很难确定测试范围和所需时间
    举例:验证不同地区语言设定条件下,Microsoft Excel的日期函数=TODAY()随之变化
    有些包括很多子案例
    注意:
    写出的测试案例覆盖的测试可能只是应该测试范围的一小部分!

    挑战之七:原因和后果

    原因:

    测试案例格式不同
    内容覆盖的测试范围差异很大
    有些太笼统
    有些包括很多子案例
    测试人员理解能力不同
    时间不允许测试很细

    后果:

    很难估计所需测试时间和所需资源
    对执行完测试案例的解释可能造成误解
    不同测试人员所需时间和测试范围相差甚远

    十大挑战之七:应对策略

    事先明确执行测试案例的目的和可用时间
    对外包测试项目更是要了解客户期望
    原则:对产品对用户负责!
    沟通!不清楚就问
    充分发挥测试水平:即最大可能全面地测试
    实现测试的自动化

    8 很难找最佳时间作自动化测试

    自动化测试运行结果是非常重要的产品质量度量(指标)之一,没有合理的自动化测试覆盖率,很可能造成重要缺陷的遗漏,进而造成产品质量差功能不够稳定时,没有可能,功能稳定是其他测试任务也需要执行设立编写自动化脚本的环境很费时间和精力编写自动化脚本、调试和纠错似乎比手动测试时间多

    挑战之八:原因和后果

    原因:

    功能稳定程度不够
    自动化辅助工具没能到位
    自动化辅助工具需很长时间安装和调试
    手动测试都来不及
    编写自动化脚本太花时间
    没有认识到实现自动化测试的必要性和重要性

    后果:

    没有自动化脚本持续运行,很难保证已测过的功
    能保持正常工作,因此很难保证总体测试质量和
    产品的稳定性

    十大挑战之八:应对策略

    原则:一定要想办法实现自动化测试!越多越好!
    明确自动化测试的好处和重要性
    提出你的要求!
    提早计划
    借用现有资源
    合并有关联的测试
    多选择多问
    形成日常测试任务
    每周一两天

    9 测试所需文档经常不全

    缺少功能设计文档
    功能设计文档不够详细或有遗漏部分
    缺少测试计划
    缺少测试规范和案例
    现有测试文档不够详细或有遗漏部分

    挑战之九:原因和后果

    原因:

    没有时间写详细的文档
    接外包测试项目时就没有
    测试的是旧功能(legacy features)

    后果:

    没有参照可循、等于没有标准
    依赖测试人员专业水平和对产品的理解
    很难判断和估计测试范围、所需时间
    很难保证测试质量
    对测试人员造成更大的压力

    十大挑战之九:应对策略

    事先设立有关开发规程使测试所需文档按时到位
    和项目管理、开发人员等有关人员沟通,使他们了解开发和测试所需文档的重要性
    想方设法收集有关功能设计信息,存档
    管理部门计划设立文档所需资源,并监督执行
    测试人员尽最大努力学习和理解所测功能,列出测试计划/规范,邀请有关人员评审
    测试人员事先与测试领导沟通潜在的测试质量风险

    10 很多任务在身,很难保质保量

    每个测试人员同时负责几个甚至几十个功能测试
    每项测试都要花很多时间
    每项测试都应该有测试的自动化覆盖
    有时若干测试任务要同时进行

    挑战之十:原因和后果

    原因:

    测试人手不够
    测试管理考虑不周
    测试计划不当
    测试人员经验和技术水平欠缺

    后果:

    管理混乱
    测试质量差
    没测完就匆忙交付
    耽误交付日期
    测试人员精神心理压力大

    十大挑战之十:应对策略

    测试管理负责人应事先考虑优化分配功能
    有明确的责任范围,全盘考虑、权衡
    测试的自动化
    测试任务清单,计划、记录、追踪进度。(演示roadmap)
    按照里程碑或其他产品进度考虑,分清优先次序
    根据功能本身稳定状况确定优先次序
    尽量考虑结合几项任务一起进行
    及时汇报、沟通情况
    保证重点

    软件产品生命周期测试任务路程计划图

    三、我们的机遇

    软件产业蒸蒸日上
    亲身参加我国赶超世界先进水平的竞争
    就业机会多
    锻炼提高个人素质
    挑战性的环境更锻炼人
    需要研发适合我国实际状况的最佳测试技术、方法、管理
    武装起来,迎接挑战!
    我们的使命和重担
    我们测试人员应怎样武装自己,迎接新时代软件
    测试的需求和挑战??
    使命:为我国软件测试领域赶超世界先进水平贡
    献我们的最大力量!
    从现在做起:培养优秀测试技术和管理人才
    行业
    公司/企业
    部门/团队
    自己!
Open Toolbar