历经8个月的痛苦煎熬,终于在深圳找到一份测试工作了! 努力学习测试相关知识,尽快让自己充实起来,让工作处于轻松愉快的状态!

发布新日志

  • Linux必学的60个命令(一)

    2009-03-19 14:41:36

    最近学习Linux,在网上搜了一下,这个比较全,一同分享吧!共三篇。

                Linux必学的60个命令
    Linux提供了大量的命令,利用它可以有效地完成大量的工
    作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,
    就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。
    不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。
    ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
    ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
    ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
    ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
    ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
    ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
    本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。
    immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。
    Linux必学的60个命令(1)-安装与登陆命令
    login
    1.作用
    login的作用是登录系统,它的使用权限是所有用户。
    2.格式
    login [name][-p ][-h 主机名称]
    3.主要参数
    -p:通知login保持现在的环境参数。
    -h:用来向远程登录的之间传输用户名。
    如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。
    一般界面是这样的:
    Manddrake Linux release 9.1(Bamboo) for i586
    renrel 2.4.21-0.13mdk on i686 / tty1
    localhost login:root
    password:
    上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。
    登录后会看到下面这个界面(以超级用户为例):
    [root@localhost root]#
    last login:Tue ,Nov 18 10:00:55 on vc/1
    上面显示的是登录星期、月、日、时间和使用的虚拟控制台。
    4.应用技巧
    Linux
    是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的
    访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台
    之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。
    例如,用户登录后,按一下“Alt+
    F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+
    F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。虚拟控制
    台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。
    shutdown
    1.作用
    shutdown命令的作用是关闭计算机,它的使用权限是超级用户。
    2.格式
    shutdown [-h][-i][-k][-m][-t]
    3.重要参数
    -t:在改变到其它运行级别之前,告诉init程序多久以后关机。
    -k:并不真正关机,只是送警告信号给每位登录者。
    -h:关机后关闭电源。
    -c:cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息,而这信息将会送到每位使用者。
    -F:在重启计算机时强迫fsck。
    -time:设定关机前的时间。
    -m: 将系统改为单用户模式。
    -i:关机时显示系统信息。
    4.命令说明
    shutdown
    命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着
    许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用
    shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。
    halt
    1.作用
    halt命令的作用是关闭系统,它的使用权限是超级用户。
    2.格式
    halt [-n] [-w] [-d] [-f] [-i] [-p]
    3.主要参数说明
    -n:防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。
    -w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)纪录。
    -f:没有调用shutdown,而强制关机或重启。
    -i:关机(或重启)前,关掉所有的网络接口。
    -f:强迫关机,不呼叫shutdown这个指令。
    -p: 当关机的时候顺便做关闭电源的动作。
    -d:关闭系统,但不留下纪录。 
    4.命令说明
    halt
    就是调用shutdown
    -h。halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的
    运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。 
    reboot
    1.作用
    reboot命令的作用是重新启动计算机,它的使用权限是系统管理者。
    2.格式
    reboot [-n] [-w] [-d] [-f] [-i]
    3.主要参数
    -n: 在重开机前不做将记忆体资料写回硬盘的动作。
    -w: 并不会真的重开机,只是把记录写到/var/log/wtmp文件里。
    -d: 不把记录写到/var/log/wtmp文件里(-n这个参数包含了-d)。
    -i: 在重开机之前先把所有与网络相关的装置停止。
    install
    1.作用
    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。
    2.格式
    (1)install [选项]... 来源 目的地
    (2)install [选项]... 来源... 目录
    (3)install -d [选项]... 目录...

    前两种格式中,会将复制至或将多个文件复制至已存在的,同时设定权
    限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。
    3.主要参数
    --backup[=CONTROL]:为每个已存在的目的地文件进行备份。
    -b:类似 --backup,但不接受任何参数。
    -c:(此选项不作处理)。
    -d,--directory:所有参数都作为目录处理,而且会创建指定目录的所有主目录。
    -D:创建前的所有主目录,然后将复制至 ;在第一种使用格式中有用。
    -g,--group=组:自行设定所属组,而不是进程目前的所属组。
    -m,--mode=模式:自行设定权限模式 (像chmod),而不是rwxr-xr-x。
    -o,--owner=所有者:自行设定所有者 (只适用于超级用户)。
    -p,--preserve-timestamps:以文件的访问/修改时间作为相应的目的地文件的时间属性。
    -s,--strip:用strip命令删除symbol table,只适用于第一及第二种使用格式。
    -S,--suffix=后缀:自行指定备份文件的。
    -v,--verbose:处理每个文件/目录时印出名称。
    --help:显示此帮助信息并离开。
    --version:显示版本信息并离开。
    mount
    1.作用
    mount命令的作用是加载文件系统,它的用权限是超级用户或/etc/fstab中允许的使用者。
    2.格式
    mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir
    3.主要参数
    -h:显示辅助信息。
    -v:显示信息,通常和-f用来除错。
    -a:将/etc/fstab中定义的所有文件系统挂上。
    -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。
    -f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。
    -t vfstype:显示被加载文件系统的类型。
    -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。
    4.应用技巧
    在Linux
    和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂
    装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,
    就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要
    加载对象的设备名称及要将设备加载到哪个目录下。
    (1)Linux可以识别的文件系统
    ◆ Windows 95/98常用的FAT 32文件系统:vfat ;
    ◆ Win NT/2000 的文件系统:ntfs ;
    ◆ OS/2用的文件系统:hpfs;
    ◆ Linux用的文件系统:ext2、ext3;
    ◆ CD-ROM光盘用的文件系统:iso9660。
    虽然vfat是指FAT 32系统,但事实上它也兼容FAT 16的文件系统类型。
    (2)确定设备的名称
    在Linux
    中,设备名称通常都存在/dev里。这些设备名称的命名都是有规则的,可以用“推理”的方式把设备名称找出来。例如,/dev/hda1这个
    IDE设备,hd是Hard Disk(硬盘)的,sd是SCSI Device,fd是Floppy Device(或是Floppy
    Disk?)。a代表第一个设备,通常IDE接口可以接上4个IDE设备(比如4块硬盘)。所以要识别IDE硬盘的方法分别就是hda、hdb、hdc、
    hdd。hda1中的“1”代表hda的第一个硬盘分区
    (partition),hda2代表hda的第二主分区,第一个逻辑分区从hda5开始,依此类推。此外,可以直接检查
    /var/log/messages文件,在该文件中可以找到计算机开机后系统已辨认出来的设备代号。
    (3)查找挂接点
    在决
    定将设备挂接之前,先要查看一下计算机是不是有个/mnt的空目录,该目录就是专门用来当作挂载点(Mount
    Point)的目录。建议在/mnt里建几个/mnt/cdrom、/mnt/floppy、/mnt/mo等目录,当作目录的专用挂载点。举例而言,如
    要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat):
    软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy
    cdrom ===>mount -t iso9660 /dev/hdc /mnt/cdrom
    SCSI cdrom ===>mount -t iso9660 /dev/sdb /mnt/scdrom
    SCSI cdr ===>mount -t iso9660 /dev/sdc /mnt/scdr
    不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。
    umount
    1.作用
    umount命令的作用是卸载一个文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者。
    2.格式
    unmount -a [-fFnrsvw] [-t vfstype] [-n] [-rw] [-F] device dir
    3.使用说明
    umount
    命令是mount命令的逆操作,它的参数和使用方法和mount命令是一样的。Linux挂装CD-ROM后,会锁定CD—ROM,这样就不能用CD-
    ROM面板上的Eject按钮弹出它。但是,当不再需要光盘时,如果已将/cdrom作为符号链接,请使用umount/cdrom来卸装它。仅当无用户
    正在使用光盘时,该命令才会成功。该命令包括了将带有当前工作目录当作该光盘中的目录的终端窗口。
    chsh
    1.作用
    chsh命令的作用是更改使用者shell设定,它的使用权限是所有使用者。
    2.格式
    chsh [ -s ] [ -list] [ --help ] [ -v ] [ username ]
    3.主要参数
    -l:显示系统所有Shell类型。
    -v:显示Shell版本号。
    4.应用技巧
    前面介绍了Linux下有多种Shell,一般缺省的是Bash,如果想更换Shell类型可以使用chsh命令。先输入账户密码,然后输入新Shell类型,如果操作正确系统会显示“Shell change”。其界面一般如下:
    Changing fihanging shell for cao
    Password:
    New shell [/bin/bash]: /bin/tcsh
    上面代码中,[ ]内是目前使用的Shell。普通用户只能修改自己的Shell,超级用户可以修改全体用户的Shell。要想查询系统提供哪些Shell,可以使用chsh -l 命令,见图1所示。
    图1 系统可以使用的Shell类型
    从图1中可以看到,笔者系统中可以使用的Shell有bash(缺省)、csh、sh、tcsh四种。
    exit
    1.作用
    exit命令的作用是退出系统,它的使用权限是所有用户。
    2.格式
    exit
    3.参数
    exit命令没有参数,运行后退出系统进入登录界面。
    last
    1.作用
    last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户。通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统。
    2.格式
    1ast[—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][1D]
    3.主要参数
    -n:指定输出记录的条数。
    -f file:指定用文件file作为查询用的log文件。
    -t tty:只显示指定的虚拟控制台上登录情况。
    -h 节点:只显示指定的节点上的登录情况。
    -i IP:只显示指定的IP上登录的情况。
    -1:用IP来显示远端地址。
    -y:显示记录的年、月、日。
    -ID:知道查询的用户名。
    -x:显示系统关闭、用户登录和退出的历史。
    动手练习
    上面介绍了Linux安装和登录命令,下面介绍几个实例,动手练习一下刚才讲过的命令。
    1.一次运行多个命令
    在一个命令行中可以执行多个命令,用分号将各个命令隔开即可,例如:
    #last -x;halt
    上面代码表示在显示系统关闭、用户登录和退出的历史后关闭计算机。
    2.利用mount挂装文件系统访问Windows系统
    许多Linux发行版本现在都可以自动加载Vfat分区来访问Windows系统,而Red Hat各个版本都没有自动加载Vfat分区,因此还需要进行手工操作。
    mount
    可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来。因
    此,只要访问这个文件夹就相当于访问该分区了。首先要在/mnt下建立winc文件夹,在命令提示符下输入下面命令:
    #mount -t vfat /dev/hda1 /mnt/winc

    表示将Windows的C分区挂到Liunx的/mnt/winc目录下。这时,在/mnt/winc目录下就可以看到Windows中C盘的内容了。使
    用类似的方法可以访问Windows系统的D、E盘。在Linux系统显示Windows的分区一般顺序这样的:hda1为C盘、hda5为D盘、
    hda6为E盘……以此类推。上述方法可以查看Windows系统有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号
    “?”,而英文却可以正常显示。我们可以通过加入一些参数让它显示中文。还以上面的操作为例,此时输入命令:
    #mount -t vfat -o iocharset=cp936 /dev/hda1 /mnt/winc
    现在它就可以正常显示中文了。
    3.使用mount加挂闪盘上的文件系统
    在Linux下使用闪盘非常简单。Linux对USB设备有很好的支持,当插入闪盘后,闪盘被识别为一个SCSI盘,通常输入以下命令:
    # mount /dev/sda1 /usb
    就能够加挂闪盘上的文件系统。
    小知识
    Linux命令与Shell

    谓Shell,就是命令解释程序,它提供了程序设计接口,可以使用程序来编程。学习Shell对于Linux初学者理解Linux系统是非常重要的。
    Linux系统的Shell作为操作系统的外壳,为用户提供了使用操作系统的接口。Shell是命令语言、命令解释程序及程序设计语言的统称,是用户和
    Linux内核之间的接口程序。如果把Linux内核想象成一个球体的中心,Shell就是围绕内核的外层。当从Shell或其它程序向Linux传递命
    令时,内核会做出相应的反应。Shell在Linux系统的作用和MS DOS下的COMMAND.COM和Windows 95/98 的
    explorer.exe相似。Shell虽然不是系统核心的一部分,只是系统核心的一个外延,但它能够调用系统内核的大部分功能。因此,可以说
    Shell是Unux/Linux最重要的实用程序。
    Linux中的Shell有多种类型,其中最常用的是Bourne
    Shell(sh)、C Shell(csh)和Korn Shell(ksh)。大多数Linux发行版本缺省的Shell是Bourne
    Again Shell,它是Bourne Shell的扩展,简称bash,与Bourne Shell完全向后兼容,并且在Bourne
    Shell的基础上增加了很多特性。bash放在/bin/bash中,可以提供如命令补全、命令编辑和命令历史表等功能。它还包含了很多C
    Shell和Korn
    Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。Linux系统中200多个命令中有40个是bash的内部命令,主要包括
    exit、less、lp、kill、 cd、pwd、fc、fg等。


    Linux必学的60个命令(2)-文件处理命令
    Linux
    系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是
    一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。
    Linux文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。
    file
    1.作用 件内容判断文件类型,使用权限是所有用户。
    2.格式
    file通过探测文
    file [options] 文件名
    3.[options]主要参数
    -v:在标准输出后显示版本信息,并且退出。
    -z:探测压缩过的文件类型。
    -L:允许符合连接。
    -f name:从文件namefile中读取要分析的文件名列表。
    4.简单说明
    使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
    5.应用实例
    如果我们看到一个没有后缀的文件grap,可以使用下面命令:
    $ file grap
    grap: English text
    此时系统显示这是一个英文文本文件。需要说明的是,file命令不能探测包括图形、音频、视频等多媒体文件类型。
    mkdir
    1.作用
    mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。
    2.格式
    mkdir [options] 目录名
    3.[options]主要参数
    -m, --mode=模式:设定权限,与chmod类似。
    -p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误。
    -v, --verbose:每次创建新目录都显示信息。
    --version:显示版本信息后离开。
    4.应用实例
    在进行目录创建时可以设置目录的权限,此时使用的参数是“-m”。假设要创建的目录名是“tsk”,让所有用户都有rwx(即读、写、执行的权限),那么可以使用以下命令:
    $ mkdir -m 777 tsk
    grep
    1.作用
    grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
    2.格式
    grep [options]
    3.主要参数
    [options]主要参数:
    -c:只输出匹配行的计数。
    -I:不区分大小写(只适用于单字符)。
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。
    pattern正则表达式主要参数:
    \:忽略正则表达式中特殊字符的原有含义。
    ^:匹配正则表达式的开始行。
    $: 匹配正则表达式的结束行。
    \:到匹配正则表达式的行结束。
    [ ]:单个字符,如[A]即A符合要求 。
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
    。:所有的单个字符。
    * :有字符,长度可以为0。

    则表达式是Linux/Unix系统中非常重要的概念。正则表达式(也称为“regex”或“regexp”)是一个可以描述一类字符串的模式
    (Pattern)。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配(Match)。这和DOS中用户可以使用通配符
    “*”代表任意字符类似。在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。
    4.应用实例

    询DNS服务是日常工作之一,这意味着要维护覆盖不同网络的大量IP地址。有时IP地址会超过2000个。如果要查看nnn.nnn网络地址,但是却忘了
    第二部分中的其余部分,只知到有两个句点,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]\{3
    \}\.[0-0\{3\}\。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。
    $grep '[0-9 ]\{3 \}\.[0-0\{3\}\' ipfile
    补充说明,grep家族还包括fgrep和egrep。fgrep是fix grep,允许查找字符串而不是一个模式;egrep是扩展grep,支持基本及扩展的正则表达式,但不支持\q模式范围的应用及与之相对应的一些更加规范的模式。
    dd
    1.作用
    dd命令用来复制文件,并根据参数将数据转换和格式化。
    2.格式
    dd [options]
    3.[opitions]主要参数
    bs=字节:强迫 ibs=及obs=。
    cbs=字节:每次转换指定的。
    conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。
    count=块数目:只复制指定的输入数据。
    ibs=字节:每次读取指定的。
    if=文件:读取内容,而非标准输入的数据。
    obs=字节:每次写入指定的。
    of=文件:将数据写入,而不在标准输出显示。
    seek=块数目:先略过以obs为单位的指定的输出数据。
    skip=块数目:先略过以ibs为单位的指定的输入数据。
    4.应用实例
    dd命令常常用来制作Linux启动盘。先找一个可引导内核,令它的根设备指向正确的根分区,然后使用dd命令将其写入软盘:
    $ rdev vmlinuz /dev/hda
    $dd if=vmlinuz of=/dev/fd0
    上面代码说明,使用rdev命令将可引导内核vmlinuz中的根设备指向/dev/hda,请把“hda”换成自己的根分区,接下来用dd命令将该内核写入软盘。
    find
    1.作用
    find命令的作用是在目录中搜索文件,它的使用权限是所有用户。
    2.格式
    find [path][options][expression]
    path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。
    3.主要参数
    [options]参数:
    -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。
    -maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。
    -mindepth levels:表示至少查找到开始目录的第level层子目录。
    -mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。
    -version:打印版本。
    [expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。
    —name:支持统配符*和?。
    -atime n:搜索在过去n天读取过的文件。
    -ctime n:搜索在过去n天修改过的文件。
    -group grpoupname:搜索所有组为grpoupname的文件。
    -user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。
    -size n:搜索文件大小是n个block的文件。
    -print:输出搜索结果,并且打印。
    4.应用技巧
    find命令查找文件的几种方法:
    (1)根据文件名查找
    例如,我们想要查找一个文件名是lilo.conf的文件,可以使用如下命令:
    find / -name lilo.conf
    find命令后的“/”表示搜索整个硬盘。
    (2)快速查找文件

    据文件名查找文件会遇到一个实际问题,就是要花费相当长的一段时间,特别是大型Linux文件系统和大容量硬盘文件放在很深的子目录中时。如果我们知道了
    这个文件存放在某个目录中,那么只要在这个目录中往下寻找就能节省很多时间。比如smb.conf文件,从它的文件后缀“.conf”可以判断这是一个配
    置文件,那么它应该在/etc目录内,此时可以使用下面命令:
    find /etc -name smb.conf
    这样,使用“快速查找文件”方式可以缩短时间。
    (3)根据部分文件名查找方法
    有时我们知道只某个文件包含有abvd这4个字,那么要查找系统中所有包含有这4个字符的文件可以输入下面命令:
    find / -name '*abvd*'
    输入这个命令以后,Linux系统会将在/目录中查找所有的包含有abvd这4个字符的文件(其中*是通配符),比如abvdrmyz等符合条件的文件都能显示出来。
    (4) 使用混合查找方式查找文件
    find命令可以使用混合查找的方法,例如,我们想在/etc目录中查找大于500000字节,并且在24小时内修改的某个文件,则可以使用-and (与)把两个查找参数链接起来组合成一个混合的查找方式。
    find /etc -size +500000c -and -mtime +1
    mv
    1.作用
    mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。
    2.格式
    mv[options] 源文件或目录 目标文件或目录
    3.[options]主要参数
    -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。
    -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
    4.应用实例
    (1)将/usr/cbu中的所有文件移到当前目录(用“.”表示)中:
    $ mv /usr/cbu/ * .
    (2)将文件cjh.txt重命名为wjz.txt:
    $ mv cjh.txt wjz.txt 
    ls
    1.作用
    ls命令用于显示目录内容,类似DOS下的dir命令,它的使用权限是所有用户。
    2.格式
    ls [options][filename]
    3.options主要参数
    -a, --all:不隐藏任何以“.” 字符开始的项目。
    -A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。
    --author:印出每个文件著作者。
    -b, --escape:以八进制溢出序列表示不可打印的字符。
    --block-size=大小:块以指定的字节为单位。
    -B, --ignore-backups:不列出任何以 ~ 字符结束的项目。
    -f:不进行排序,-aU参数生效,-lst参数失效。
    -F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。
    -g:like -l, but do not list owner。
    -G, --no-group:inhibit display of group information。
    -i, --inode:列出每个文件的inode号。
    -I, --ignore=样式:不印出任何符合Shell万用字符的项目。
    -k:即--block-size=1K。
    -l:使用较长格式列出信息。
    -L, --dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。
    -m:所有项目以逗号分隔,并填满整行行宽。
    -n, --numeric-uid-gid:类似-l,但列出UID及GID号。
    -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。
    -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。
    -Q, --quote-name:将项目名称括上双引号。
    -r, --reverse:依相反次序排列。
    -R, --recursive:同时列出所有子目录层。
    -s, --size:以块大小为序。
    4.应用举例
    ls
    命令是Linux系统使用频率最多的命令,它的参数也是Linux命令中最多的。使用ls命令时会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执
    行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其它格式文件。ls最常使用的是ls- l,见图1所示。
    图1 使用ls-l命令

    件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型,它可以是下述类型之一:-(普通文件)、d(目录)、l(符号链接)、b(块设备文
    件)、c(字符设备文件)。后面的9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其
    他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)。对于目录,表示进入权限。s表示当文件被执行时,把该文件的UID
    或GID赋予执行进程的UID(用户ID)或GID(组
    ID)。t表示设置标志位(留在内存,不被换出)。如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文
    件,那么在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名
    称。
    diff
    1.作用
    diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。
    2.格式
    diff [options] 源文件 目标文件
    3.[options]主要参数
    -a:将所有文件当作文本文件来处理。
    -b:忽略空格造成的不同。
    -B:忽略空行造成的不同。
    -c:使用纲要输出格式。
    -H:利用试探法加速对大文件的搜索。
    -I:忽略大小写的变化。
    -n --rcs:输出RCS格式。
    cmp
    1.作用
    cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。
    2.格式
    cmp[options] 文件名
    3.[options]主要参数
    -l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。
    cat
    1.作用
    cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。
    2.格式
    cat [options] 文件1 文件2……
    3.[options]主要参数
    -n:由第一行开始对所有输出的行数编号。
    -b:和-n相似,只不过对于空白行不编号。
    -s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
    4.应用举例
    (1)cat命令一个最简单的用处是显示文本文件的内容。例如,我们想在命令行看一下README文件的内容,可以使用命令:
    $ cat README 
    (2)
    有时需要将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件。cat命令在其输入上接受一个或多个文件,并将它们作为一个单独的文件
    打印到它的输出。例如,把README和INSTALL的文件内容加上行号(空白行不加)之后,将内容附加到一个新文本文件File1 中:
    $ cat README INSTALL File1
    (3)cat还有一个重要的功能就是可以对行进行编号,见图2所示。这种功能对于程序文档的编制,以及法律和科学文档的编制很方便,打印在左边的行号使得参考文档的某一部分变得容易,这些在编程、科学研究、业务报告甚至是立法工作中都是非常重要的。
    图2 使用cat命令/etc/named.conf文件进行编号
    对行进行编号功能有-b(只能对非空白行进行编号)和-n(可以对所有行进行编号)两个参数:
    $ cat -b /etc/named.conf
    ln
    1.作用
    ln命令用来在文件之间创建链接,它的使用权限是所有用户。
    2.格式
    ln [options] 源文件 [链接名]
    3.参数
    -f:链结时先将源文件删除。
    -d:允许系统管理者硬链结自己的目录。
    -s:进行软链结(Symbolic Link)。
    -b:将在链结时会被覆盖或删除的文件进行备份。
    链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

    连接指通过索引节点来进行的连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode
    Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户
    就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和
    其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。
    与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接(Symbilc Link),也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
    动手练习
    上面我们介绍了Linux文件处理命令,下面介绍几个实例,大家可以动手练习一下刚才讲过的命令。
    1.利用符号链接快速访问关键目录

    号链接是一个非常实用的功能。假设有一些目录或文件需要频繁使用,但由于Linux的文件和目录结构等原因,这个文件或目录在很深的子目录中。比如,
    Apache
    Web服务器文档位于系统的/usr/local/httpd/htdocs中,并且不想每次都要从主目录进入这样一个长的路径之中(实际上,这个路径也
    非常不容易记忆)。
    为了解决这个问题,可以在主目录中创建一个符号链接,这样在需要进入该目录时,只需进入这个链接即可。
    为了能方便地进入Web服务器(/usr/local/httpd/htdocs)文档所在的目录,在主目录下可以使用以下命令:
    $ ln -s /usr/local/httpd/htdocs gg
    这样每次进入gg目录就可访问Web服务器的文档,以后如果不再访问Web服务器的文档时,删除gg即可,而真正的Web服务器的文档并没有删除。
    2.使用dd命令将init.rd格式的root.ram内容导入内存
    dd if=/dev/fd0 f=floppy.fd
    dd if=root.ram f=/dev/ram0 #
    3.grep命令系统调用
    grep是Linux/Unix中使用最广泛的命令之一,许多Linux系统内部都可以调用它。
    (1)如果要查询目录列表中的目录,方法如下:
    $ ls -l | grep '∧d'
    (2)如果在一个目录中查询不包含目录的所有文件,方法如下:
    $ ls -l | grep '∧[∧d]'
    (3)用find命令调用grep,如所有C源代码中的“Chinput”,方法如下:
    $find /ZhXwin -name *.c -exec grep -q -s Chinput {} \;-print
    Linux必学的60个命令(3)-系统管理命令
    Linux必学的系统管理命令
    对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。
    df
    1.作用
    df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。
    2.格式
    df [options]
    3.主要参数
    -s:对每个Names参数只给出占用的数据块总数。
    -a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
    -k:以1024字节为单位列出磁盘空间使用情况。
    -x:跳过在不同文件系统上的目录不予统计。
    -l:计算所有的文件大小,对硬链接文件则计算多次。
    -i:显示inode信息而非块使用量。
    -h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。
    -P:使用POSIX输出格式。
    -T:显示文件系统类型。
    4.说明
    df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

    级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是
    说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常
    工作。
    5.应用实例
    Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盘空间时还可以得到文件系统的信息:
    #df -T
    文件系统 类型 容量 已用 可用 已用% 挂载点
    /dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% /
    /dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C
    /dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D
    /dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E
    /dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F
    /dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G
    从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。

  • 测试感悟(针对手动、黑盒)(转)

    2009-03-18 11:05:37

    转的理由:

    这篇文章对刚入行的测试人员和测试还很迷茫的人很有启发,写了从测试员到高级测试工程师的一个过程,其中包含了测试中的几种思维方式和测试技巧等,希望能从中得到一些关于测试的思想!

     

    水因地而制行,兵因敌而制胜——测试感悟(针对手动、黑盒)

    北大方正技术研究院 李守亮

    1999年6月

    编者按:这是一篇好文章,不在于他的文笔,而在于他的用"心"工作,用心总结。是他的工作经验和心路历程的记录,值得大家学习

    一直以来,总想写一写关于测试方面的文章。今天,真的接到这个题目时,却欲言又止,迟迟不能落笔。在这里,我也只将自己的实际经验介绍给大家,抛砖引玉,和大家共同探讨。

    刚开始做测试的同事会有一种感觉,认为测试实际上是在充当这个产品的第一用户。也有人认为,测试其实很简单,没有什么技术可言。

    其实,测试说易也易,因为进入门槛低;说难也难,因为测深测精不简单。黑盒测试很讲究策略,测试也是一门学问。

    初涉测试的心路历程

            对测试的认识,每个测试人员都有一个过程。我对测试的认识,在每个阶段各不相同,其中也走了不少弯路。在此,我用第三人称把自己对测试工作的认识过程写出来,希望后来的同事能从中得到启发。

    第一阶段学习+验证

    对于新来的同事,刚刚涉及测试,往往踏不下心来。感觉测试是件没完没了地事情,并且单调重复、枯燥乏味,没有激情、没有成就感。这是很正常的现象,刚进入一个新的岗位,总有一个适应过程。

    在这一阶段,新员工需要做的事情是,先学会使用所测的软件,熟悉他的每一个功能,弄清楚每一个功能的正确效果应该是什么?然后才开始尝试着去找一些肤浅的问题。这一阶段的感觉是:"测试实际上就是验证产品每个功能的有效性"。新员工这一阶段虽然不太出成绩,但却很重要,因为这是以后工作的基础。

    第二阶段与开发对立的误区

       当熟悉了所测产品的功能,并且找到测试的感觉后,就开始较深入地测试了。

    在这一阶段,新员工会逐渐发现一些严重的BUG。当看到自己发现的问题被解决后,才真正感觉到自己在参与产品的生产。渐渐地,渐渐地,就会感觉到测试其实也挺有趣。尤其是发现一些死机或特别严重的错误时,有时会兴奋上几个小时。这是他进入状态的必然过程。

    此时,他对测试的认识是:"测试,就是要找出产品的缺陷,是证明当前产品不可用的一种行为"。这一阶段非常值得注意!很多软件公司常说:"开发和测试的行为是对立和矛盾的",这实际上是测试工作的误区。

    第三阶段与开发主动配合

       随着测试经验的积累,对工作的认识也逐步深入。最后,他会发现,开发和测试之间,本质上是一个合作的过程,目标本是一致的。都是为了尽量减少发布产品中的错误,达到用户可接受的程度。于是,他会更多地站在用户角度考虑问题,测试的目的也越来越明确,工作也越来越主动。

    第四阶段责任感+验证

       当经历了产品的几个生命周期之后,从不断的需求、开发、维护、升级循环过程中,逐渐认识到,测试实际上是降低产品风险的一种行为。逐步认识到,测试介入的环节越早,风险也就越小。

    在和最终用户多次打交道,亲身体验用户的心情之后,油然而生出一种强烈的责任感,对测试的理解也随之升华为一种产品意识:测试工作和研发工作,实际上是一种荣辱与共的关系,取得的成绩和造成的失误,其荣誉和责任是同等的。此时,当他发现一个致命的错误或缺陷时,第二阶段的那种兴奋也许只会存在3秒钟。此时的他,更多考虑的是怎样帮助研发组尽快地把该问题解决掉。在这一阶段,测试工作中更注重产品的实用性和易用性。

       从学习阶段对产品的验证,到与研发的对立,到主动地和研发配合,到一种责任感使命感自发地对功能的验证,这是一个高级测试人员所必然要经历的一个心路历程。  

    测试中的几种思维方式

       测试能否出成绩?以及测试工作的优劣,与个人的素质和修养有关。

    测试工作说易也易,只要认真、负责,就能做出一些成绩。但说难也难,测试讲究很多方法和策略,要测的精,问题定位的及时准确,规律找的准确有效,那是需要下一番功夫的。在此,我把测试中常用的几种思维方式共享如下:  

    正向思维  

             在测试一个产品之前,需要做的重要事情是,熟读产品的设计文档,详细了解每个功能的正确效果。然后针对每个模块,顺着程序员的思路,逐个验证,以验证测试功能的有效性。这是以后深入测试的基础,也是做自动测试的前提。

             搞清楚每个模块是干什么的,弄清楚正确的效果,才知道什么是错误的。这是非常关键的一个环节,如果在这方面不下功夫,也就很难测试出有价值的BUG。因为,很明显的错误结果可能就在你眼前大摇大摆地经过,而你却认为这是正确的!我就曾经一度陷入这一误区,好在很快地补上了这一课。  

    逆向思维  

             关于"逆向思维",我有两种解释,一是针对开发人员。

    开发人员在调试或自测时,总爱顺着已有的思路进行。所以,在很多情况下容易忽略自己所犯的错误,例如边缘条件检查,异常处理等等。所谓当局者迷,旁观者清,是因为你可以跳出他的思维定式,从另外的角度来思考问题。所以,只要你肯动脑筋,不按他的逻辑进行检测,就一定能找出许多破绽。  

    关于"逆向思维"的第二种解释,是针对具体问题。

    当发生严重问题时,首先要保护好现场,然后努力地回忆,努力地理清思路。要善于从错误现象的最后一步往前倒推。例如死机问题,仅一个现象并不能说明问题,关键要找出它的规律。规律有时是最后一步操作导致,而有时则是前几十步操作的累加,这需要我们追忆刚才的几十步操作,并大胆怀疑其中的疑点,有目的的undo、redo。这一招叫顺藤摸瓜,抓住规律的尾巴,从最后一步开始。  

    跳跃性思维  

             我也称它为联动思维。

    有时,一个问题表现出来的现象和问题的本质会差着十万八千里,这类问题的规律也极难准确地捕捉到。处理这类问题,需要有扎实的测试基本功,并对产品非常地熟悉,才能把表面上毫不相关,却有着千丝万缕关系的孤立的两点联系起来;才能从一处错误得到启示,联想到其他模块也可能存在类似的问题......  

    关于测试技巧  

    黑盒测试,尤其是手工黑盒测试的业绩,有七成决定于个人因素。

    测试需要有高度的责任心和使命感,要有主人翁精神。任何工作只有敬业才能做出成绩,工作主动了,自然会得到回报。  

    在很多情况下,问题的现象出现了,但规律却不明显。当问题提交后,在开发那里却死活不能重现,这种情况是很尴尬和无奈的。所以,作为一个出色的测试工程师,仅仅捕获到问题的现象是远远不够的,还要找到其规律,甚至弄懂它更深层次的原因。

    遇到这类问题怎么办?很多人可能就此放弃了,因为说他是"无规律或不能重现事件"。在我看来,这种说法是错误的。我认为,一定要树立起一个观念,那就是:"任何错误的出现,都绝不是偶然的。每个错误现象背后都隐含着一个必然的规律,不管是肤浅的,还是深奥的。"而测试的目的,就是要把这个规律挖出来。因为,规律总结得越准确,对问题的定位和解决帮助就越大。  

             做好测试工作必须要做到几条:首先,要努力培养起对测试的兴趣;要培养对所测产品的感情,要像对待自己孩子一样去热爱它,呵护它。其次,要胆大并心细。要有游走于高山峡谷边缘的那种"如临深渊,如履薄冰"的胆量和谨慎。要敢于怀疑,大胆假设而小心求证。再次,要有耐心,戒骄戒躁,心要安静。  

    如果说测试有技巧的话,也仅占到三成:

             1、对待问题要锲而不舍,并善于总结经验。

             举一个案例,对于"方正飞腾(报社专用排版软件)自动勾边死机问题"规律的发现,我现在还记忆犹新。我1997年刚接触这款软件时就遇到了该问题,但问题变化无常,当时找不到一点儿规律:有时,在关键位置点一下鼠标就死,有时点100多次才死,有时怎么点都不会死。该问题整整困扰了我一年,直到有一天,我盯着屏幕发呆,发现鼠标变成了漏斗,我随便点了一下<调整>按钮,程序立刻死机。当时灵机一动,莫非跟"自动存盘"有关?判断是正确的!一年来的谜终于被解开了,而受此启发,后来遇到"非法字体窗口"、"自动翻页"、以及"删除表格"所引发的死机,不到1秒的时间,我就准确定位与自动存盘有关。  

             对于疑难问题,不妨先放他一放,过几天再去想,说不定就会有新思路冒出来,有新灵感被激发出来。对于每一个解决的疑难问题,都要认真分析它的原因,总结定位经验,并推演联想到其他模块。测试过程是一个循序渐进的过程,是一个经验积累的过程。以一年的摸索换来若干个一秒钟的思索,值!还有很多典型案例,限于篇幅,不便罗列。  

             2、善于推理,善于运用逆向思维。善于换位思考,变换角色对待问题;

             3、善于和别人共享经验,站在别人已有的思路上进一步深入,多动脑筋,多动手。

             4、简化问题规律的步骤,弄清楚问题产生的原因,总结程序员的教训,对类似问题可以触类旁通。

             5、不断地怀疑,不断地推翻怀疑。突破跳出思维定式,大胆假设,小心求证。  

    将军围猎  

    曾经在文字所和测试中心流传一句话:"软件里的bug如同海绵里的水,要想挤总会有的"。旧bug的修改往往会引发新bug的产生,所谓"按下葫芦起来瓢"。  

    如何培养测试人员的对测试工作的兴趣呢?不妨把bug比作藏匿在深山丛林中的猎物,把自己比作围猎的将军。程序中的bug变化莫测,要有将军指挥作战的气度,怎样更快更准更有效地定位它们,捕获住它们?围追堵截之中,尽显英雄本色。  

    兵法上说,水因地而制行,兵因敌而制胜。兵无常势,无恒形,能与敌变化而取制者,谓之神。仅仅通过黑盒测试,你就能知道程序员做了什么改动?怎样做的改动?还存在什么缺陷?并快速准确地把它定位出来。若能达到这种境界,让你的思维能力受到如此的锻炼和考验,难道还不会有成就感么?  

    当你全身心地投入在测试中,你会感觉到测试,实际上是一场智力游戏。所谓"气痴者技精",因为一进入状态,坐下来就会忘记时间的流逝。

  • 新职员到岗

    2009-03-17 15:17:24

    老板:万分欢迎,没有你我们的公司肯定大不一样!


    职员:如果工作太累,搞不好我会辞职的


    老板:放心,我不会让这样的事情发生的!


    职员:我双休日可以休息吗?
     
    老板:当然了!这是底线!


    职员:平时会天天加班到凌晨吗?


    老板:不可能,谁告诉你的?


    职员:有餐费补贴吗?


    老板:还用说吗,绝对比同行都高!


    职员:有没有工作猝死的风险?


    老板:不会!你怎么会有这种念头?


    职员:公司会定期组织旅游吗?


    老板:这是我们的明文规定!


    职员:那我需要准时上班吗?


    老板:不,看情况吧

    职员:工资呢?会准时发吗?

    老板:一向如此!


    职员:事情全是新员工做吗?


    老板:怎么可能,你上头还有很多资深同事!


    职员:如果领导职位有空缺,我可以参与竞争吗啊?


    老板:毫无疑问,这是我们公司赖以生存的机制!


    职员:你不会是在骗我吧?
     

    转自网络

    注:是从后往前看的哦 ^_^           

  • 关于招聘的故事

    2008-04-25 16:45:41

      今天是8月份了,新招聘的2006年的毕业生开始到岗工作了,在闲聊中知道他们中的很多同学已经失业了。不是因为自己当初选错了单位而炒了公司,就是因为种种原因被单位炒掉了,只好又开始了新一轮的招聘生活。想想也让人感慨颇多。说说我自己是如何招聘的,希望对大家有一些帮助。

    招聘者的目的。
      这还用说吗。招聘工作人员就是让他来工作,然后榨取他的剩余价值,获得最大的利润。我想这是所有单位招聘工作人员的目的吧。可惜的是很多被招聘的人似乎总是忘记招聘单位的这个目的,所以总是做一些这样那样的无用功,浪费自己的精力和时间。在你准备自己的应聘活动的时候,别忘了这一点。突出自己的价值,让人家感觉你有榨取的价值,最起码是有榨取的可能,否则你是没有机会的。(我指的是软件开发或测试人员,其他的情况不在我说的范围内)

    招聘的选择方法。
      招聘一般采用的是筛选法,说简单一点就是把那些你认为不合适的人筛选出去,留下你认为合适的人来面试。在面试的过程中一般还是采用筛选法,最后留下的是人的采用排队的方法,然后再从其中挑选头几名作为你的职员。知道了招聘的方法,你也知道了该如何做。在招聘的前几轮只要保持你不被刷掉即可。最后的面试才是关键中的关键。

      大凡工作都有一个工作方法,招聘也不例外,戴明环认为工作过程应该是计划-实施-检查-改进。招聘工作也可以大致划分为,确定招聘目标-简历筛选-面试-确定人员。一般来说,公司招聘人员都有一定的目的性,我们这里只说软件开发/测试人员的招聘,开发人员的招聘主要是两个目标一个是高级开发人员,他们是要负责单位的开发开发任务,需要在很短的时间内成为技术骨干或项目负责人,另外一个是普通的开发人员,一般来说他们也需要完成交付的任务即可,如果可能在3到4年的时间也需要成为技术骨干和项目负责人。那么如何从众多的简历中获得你需要的人,就需要一些技巧了。

      我自己的经验。首先是人品。(老大没错吧,现在谁还说人品)。没有办法,人品永远是第一位的。作为一个项目的负责人,首先是要团结开发团队的所有成员。靠耍小聪明可以蒙骗人一时但不能骗人一世。技术、管理方法都是可以学的,可人品这个东西确实很难改变的。所以你要是想在以后的工作省一点心话,还是注意一下你招聘的工作人员的人品问题。

      第二点,是否聪明,一个人是否聪明是很难判断的,特别是在面试的20-30分钟内就更不可能了,我自己的判断方式是是否可以发现原来开发过程的问题。比如说在研究生面试的时候我主要会问他的项目经验,如果他可以将项目很清晰的描述出来,说明他思维的条理很清楚而且项目开发过程中他应该是骨干人员(有项目开发经验,否则是不会说的很清楚的),一般来说我还会问他在项目开发过程中有什么问题,发现问题是一个很重要的素质如果他能够总结一些开发的一些问题(技术和管理上的问题),而且再可以说一些可能的改进方法(不管正确与否),都说明这个人是一个有心的人,是一个会工作的人。

      第三点,工作经验,在我看来学习能力和动手能力要比会什么开发语言重要的多。比如说现在很多本科和研究生的的专业技能都会写精通C语言,精通JAVA语言等,而这些在我看来只不过是说我使用过这个开发系统,在我看来更重要的是,你使用这些语言开发了什么系统,系统的规模有多大,你在其中承担什么角色。比如我对面试的人员会问一下他的系统最大编码量是多少,不要小看这个问题,在我的心目中一个本科毕业生的单个项目的最大代码行应该为2000行以上,研究生应该是6000-7000行左右,否则很难说他们是有实际工作经验,(这里要说明的一个问题是我说的代码行是手工编写的代码行,而不是系统自动生成的代码行,否则用VC自动生成的几千行代码也就是几秒钟的事情)。只写过二、三百行代码的本科,或者千行左右最大代码量的研究生肯定会让你失望的。

      第四点,软件工程。这可以说工作经验的一个扩展了,一般来说,有工作经验的研究生,对软件工程都会比较关注,原因也很简单,只有在实际工作中遇到问题而且想解决问题的人才会理解软件工程的重要性,而不是仅仅把他作为一个聊天的谈资。如果一个研究生能够将自己的项目经验和理论知识想结合(哪怕是有一些错误)也说明此人会有很大的潜力,至于说道本科生,基于经验的问题,他们对软件工程的了解不会很多,但是否对其有抵触心理是你要重视的,有很多人有很高的专业技能(比如对某中开发语言的掌握),但对软件工程却很反感,一般这种人在以后的团队合作中是有问题的,是你要特别加以关注的。

      第五点,专业技术。我把技术专长放在最后并不是说它不重要,实在是很多面试人员对它太看重了,但是在我看来它的重要性并不是那么大,很多人在招聘的总是强调我会什么什么语言,或者我精通什么什么语言,可什么叫会,什么叫精通,一个语言没有使用上2、3年你敢说会,没有5,6年你敢说精通,拿C语言来说,微机上使用最多的是TC,VC之间有多大的差别,在说unix系统的c和他们又有多大的差别,而且你对函数库了解多少,所有的函数用处,变量的含义,输入/输出参数的类型含义是什么?是否读过函数库的源代码?是否改编过系统函数?TC的不同编译模式对内存的使用有什么差异?堆和栈的差异是那些?全局变量和临时变量存放的差异?如何嵌入其他语言,比如汇编和SQL语言。这些问题你都会回答吗?如果不能回答你怎么说你是精通,也许你认为我太苛刻了,可我的确见过一个哥们他说自己会汇编语言,他会的标准是可以随口说出BIOS第多少号中断是做什么用的,AX、BX、CX、DX寄存器应该输入什么值,系统的反应是什么样的。他的业余爱好是解密软件,成果是几百个被解密的软件。我想这样的人才可以说是精通某种语言吧。
    另外一个原因是软件开发行业的技术更新换代很快,昨天可以说是新技术,今天就变成了普通技术,明天这种技术就要被淘汰了,所以比较对某种具体技术的掌握来说,快速学习能力就重要多了。当然我们不能走另外一个极端,认为专业技术的学习是无关紧要的,我说这些只是希望大家不要把专业技术摆在一个不适合的位置上。

      第六点,如何向被面试的人员提问,一般来说,被面试的人员做过的项目是各种各样的,随说面试主考官都是有相当经验的工作人员,但总会遇到自己陌生的领域。如何向这些人员提问也是有一些技巧的。比如说我原来面试过一个做人工智能的研究生,人工智能是我从来没有接触过的一个领域,于是我首先让他讲解他的工作内容,在他的讲解过程中,我发现有一个方面让我很感兴趣的问题,就是如何判断一个文章是用户可能感兴趣的文章的方法,于是抛开了其他问题,专门就这个问题提问,如何判断,从词义、语义讲到语境,再到算法的实现和判断。很不错,这个30分钟的面试不但让我对这个人的能力有了了解,而且对人工智能有了初步的了解。所以在面试人员的如果遇到你不了解的领域不要着急,可以让他先讲,如果他可以给你讲明白他做的工作,说明他对自己的领域是很了解的(也说明这个人的潜质是很不错的),这个方法另外一个变形就是可以将被面试人员难住。比如说一个信息管理系统,你可以问他数据库设计的方法,从设计方法可以从1NF问到BCNF,一般来说没有人没有会记得那么清楚,具体到莫一个具体的数据系统,可以问他调优的方法,系统是如何设置的,总之问题越细越深入,别面试的人回答不上来的可能性越大。至于他的回答倒无所谓,你只要不做评判即可,这样会给你一种你是技术大拿的效果。哈哈

    好了还是说说我在面试过程中的一些故事吧。
    1不知道自己要干什么的哥们
      这是一个让我哭笑不得的故事,那次面试的是一群研究生,我们的一个女工作人员负责在外面招待他们,我在里边面试,面试完了一个人,我出去叫下一个工作人员的时候,顺便撩了一眼,十几个等待面试的人员都在安安静静等待着,惟独一个男研究生一双眼睛死盯着我们的招待人员。而且眼神很不对。看得我直生气(那个招待人员是我哥们的老婆)。我瞪了他一眼,示意他不要这样。那哥们看到了,却丝毫没有收敛的意思。得,既然你不是来找工作的,我也没有必要花时间来面试,两分钟解决问题,然后你就可以回家了,说实在的,我不是反对窈窕淑女,君子好逑。但你老人员总得明白你是干什么来的吧。什么时候该干什么事情都不知道,我怎么敢招你进来。

    2材料准备的要适当
      还是那回面试,一个哥们拿着他的简历进来了。在介绍完单位的基本情况同时我看了他的简历(主要是看他的工作经验),让我惊讶的是,他竟然参加了二十几个项目的开发。我的妈呀,即使从大三开始做项目,四年半的时间,一个项目平均参加时间也就是2个月左右,而一个项目你只做两个月是不可能是有深入的了解的。果然在谈项目经验的时候证实了我的想法。这哥们果然是广而不深。我对他的判断是缺乏深入研究问题的能力,而研究生是需要具有对问题进行深入研究的能力的,结果这个哥们也失去了机会。材料的准备要适当,拿这个哥们来说就是太烂了,其实他只要准备5、6个项目,并且准备好这几个项目的背景,解决方法,他在项目中的作用就可以了,而且即使你在项目中不是主要开发人员,只要你用心也是可以获得很多经验的,在面试的时候将你的看法谈出来往往会起到很好的作用。

    3回答问题出了错误要敢于承认
      一般来说,面试人员都是在其专业比较专业或优秀的人员,更重要的是他们在自己的专业上都有很多经验,所以他们对系统的理解会比被面试的人员深很多。被面试的人员往往在面试的时候出现很多概念性的问题,在发现自己回答错误的时候要敢于承认错误,千万不要企图存在蒙混过关的侥幸心理。我在面试测试人员的时候就遇到过这么一次,看得出来哪个姐们希望来单位工作,而且也做了很多准备工作,开始的时候她对测试方面的问题回答很让我满意。我当时是想了解他是否具有测试的实际工作经验,就问了一下黑盒测试和白盒测试的主要工作内容,(这我耍了一个小心眼,一般的书是先讲白盒测试,在说黑盒测试)。果然,她把白盒测试的内容安到黑盒测试上了在说黑盒测试的内容的时候她发现了问题,如果她这时承认错误,她的面试还是不错的,(对测试了解的人还是很少的,有这些基本概念已经很不错了),可惜她老人家惟恐因为这个问题答不上来会影响他的面试,于是就开始绕我。说了半天也无法自圆其说,而我对于她后来的表现实在失望,因为工作经验告诉我,一个人如果他的工作经验不够,你只要在关键的时候告诉他就可以了,但如果他总是回避问题或者总是拿这样那样的理由太搪塞你,那问题就大了,所以这个姐们就因为这个问题折了。
    4对一些敏感问题最好不做直接回答,
     (这不是故事,而是很严酷的现实)工资待遇是一个很敏感的问题,在不同的场合回答的方法是不同的,但就我接触的场合,一般来说是作为刷掉人员的一个条件,我自己的招聘过程中就经常发生这些现象,单位对招聘人员的福利都有一定的规定,除非是特殊的技术人员,否则很难给你超出规定的待遇,所以很多优秀的人员都是因为提出太高的待遇要求而被刷掉的。

    5有自信是很重要的
      我不希望我招聘的工作人员是一个太狂妄的人,但缺乏自信同样是不可取的,在面试测试人员的有一个女孩就是这样,她总是在说自己的不足,总是恳求我给她机会。说实在的,可以看到自己的不足是一件很可贵的事情,看如果想通过同情来获得机会却不是一个好方法,在做工作的总是要面临着挑战,有时候在只有30%的把握的时候都要冲上去,可对于一个缺乏自信的人她可以做到吗?要知道工作就是工作,是谋生的手段,我不可能还去哄你去做呀。

       好了先到这里吧。我说的东西只是自己的一些经验和体会,不是什么标准答案。希望对大家有一些帮助。


     

  • 界面测试用例

    2008-03-25 16:45:20

    【转】


    一、文本框、按钮等控件测试

    1、文本框的测试

    如何对文本框进行测试:

    a、输入正常的字母或数字;
    b、输入已存在的文件的名称;
    c、输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理;
    d、输入默认值,空白,空格;
    e、若只允许输入字母,尝试输入数字;反之,尝试输入字母;
    f、利用复制,粘贴等操作强制输入程序不允许的输入数据;
    g、输入特殊字符集,例如,NUL及\n等;
    h、输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
    i、输入不符合格式的数据,检查程序是否正常校验,如程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示。

    在测试过程中所用到的测试方法:

    1、输入非法数据;
    2、输入默认值;
    3、输入特殊字符集;
    4、输入使缓冲区溢出的数据;
    5、输入相同的文件名;

    2、命令按钮控件的测试

    测试方法:

    a、点击按钮正确响应操作。如单击确定,正确执行操作;单击取消,退出窗口;
    b、对非法的输入或操作给出足够的提示说明,如输入月工作天数为32时,单击“确定”后系统应提示:天数不能大于31;
    c、对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

    3、单选按钮控件的测试

    测试方法:

    a、一组单选按钮不能同时选中,只能选中一个;
    b、逐一执行每个单选按钮的功能。分别选择了“男”、“女”后,保存到数据库的数据应该相应的分别为“男”、“女”;
    c、一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空。

    4、up-down控件文本框的测试

    测试方法:

    a、直接输入数字或用上下箭头控制,如在“数目”中直接输入10,或者单击向上的箭头,使数目变为10;
    b、利用上下箭头控制数字的自动循环,如当最多数字为253时,单击向上箭头,数目自动变为1;反之亦适用;
    c、直接输入超边界值,系统应该提示重新输入;
    d、输入默认值,空白。如“插入”数目为默认值,点击“确定”;或删除默认值,使内容为空,单击“确定”进行测试;
    e、输入字符。此时系统应提示输入有误。

    5、组合列表框的测试

    测试方法:

    a、条目内容正确,其详细条目内容可以根据需求说明确定;
    b、逐一执行列表框中每个条目的功能;
    c、检查能否向组合列表框输入数据。

    6、复选框的测试

    测试方法:

    a、多个复选框可以被同时选中;
    b、多个复选框可以被部分选中;
    c、多个复选框可以都不被选中;
    d、逐一执行每个复选框的功能。

    7、列表框控件的测试

    测试方法:

    a、条目内容正确:同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;
    b、列表框的内容较多时要使用滚动条;
    c、列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

    8、滚动条控件的测试

    要注意一下几点:

    a、滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如word中浏览100页文档,浏览到50页时,滚动条位置应处于中间;
    b、拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;
    c、单击滚动条;
    d、用滚轮控制滚动条;
    e、滚动条的上下按钮。

    9、各种控件在窗体中混和使用时的测试

    a、控件间的相互作用;
    b、tab键的顺序,一般是从上到下,从左到右;
    c、热键的使用,逐一测试;
    d、enter键和esc键的使用。

    在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。

    ps:密码输入框测试时要特别注意进行字母大写输入的测试。二、查找替换操作

    案例演示:打开word中的“替换”对话框。

    测试本功能有通过测试和失败测试两种情况:

    通过测试:

    1、输入内容直接查找、或查找全部;
    2、在组合框中寻找已经查找过的内容、再次查找并确认文档的内容正确,如已经查找过“测试用例”、再次进入不用重新输入查找内容、直接在文档中搜寻就可以。

    失败测试:

    1、输入过长或过短的查询字符串。如假设查询的字符串长度为1到255,那么,输入0、1、2、256、255和254进行测试;
    2、输入特殊字符集。如在word中^g代表图片、^代表分栏符、可以输入这类特殊字符测试;

    替换测试大体相同。

    关于编辑操作窗口的功能测试的用例:

    1、关闭查找替换窗口。不执行任何操作、直接退出;
    2、附件和选项测试。假如设定“精确搜寻”、“向后”搜索等附件选项等等来测试;
    3、控件间的相互作用。如搜寻内容为空时、按钮“搜寻全部”、“搜寻”、“全部替换”、“替换”都为灰色。
    4、热键、Tab键。回车键的使用。

    插入操作

    1、插入文件

    测试的情况:

    a、插入文件;
    b、插入图像;
    c、在文档中插入文档本身;
    d、移除插入的源文件;
    e、更换插入的源文件的内容。

    2、链接文件

    测试方法:

    a、插入链接文件;
    b、在文档中链接文档本身;
    c、移除插入的源文件:
    d、更换插入的源文件的内容。

    3、插入对象

    要测试的内容:

    a、插入程序允许的对象、如在word中插入excel工作表;
    b、修改所插入对象的内容。插入的对象仍能正确显示;
    c、卸载生成插入对象的程序、如在word中插入excel工作表后卸载excel、工作表仍正常使用。

    编辑操作

    编辑操作包括剪切、复制、粘贴操作。

    测试剪切操作的方法

    a、对文本、文本框、图文框进行剪切;
    b、剪切图像;
    c、文本图像混合剪切。

    复制操作方法与剪切类似。

    测试时,主要是对粘贴操作的测试方法是:

    a、粘贴剪切的文本、文本框及图文框;
    b、粘贴所剪切的图像;
    c、剪切后,在不同的程序中粘贴;
    d、多次粘贴同一内容,如剪切后,在程序中连续粘贴3次;
    e、利用粘贴操作强制输入程序所不允许输入的数据。

    三、界面测试用例的设计方法

    1、窗体

    测试窗体的方法:

    a、窗体大小,大小要合适,控件布局合理;
    b、移动窗体。快速或慢速移动窗体,背景及窗体本身刷新必须正确;
    c、缩放窗体,窗体上的控件应随窗体的大小变化而变化;
    d、显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。

    进行测试时还要注意状态栏是否显示正确,工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确、无错别字且明确等等。

    2、控件

    测试方法:

    a、窗体或控件的字体和大小要一致;
    b、注意全角、半角混合;
    c、无中英文混合。

    四、菜单

    进行测试时要注意:

    a、选择菜单是否可以正常工作、并与实际执行内容一致;
    b、是否有错别字;
    c、快捷键是否重复;
    d、热键是否重复;
    e、快捷键与热键操作是否有效;
    f、是否存在中英文混合;
    g、菜单要与语境相关、如、不同权限的用户登陆一个应用程序、不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;
    h、鼠标右键快捷菜单。

    特殊属性

    1、安装界面应有公司介绍或产品介绍、有公司的图标;
    2、主界面及大多数界面最好有公司图标;
    3、选择“帮助”->“关于”命令、应看见相关版权和产品信息。
     

  • web test

    2008-03-25 16:43:52


    【转】

    1页面部分
    (1) 页面清单是否完整(是否已经将所需要的页面全部都列出来了)
    (2) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示)
    (3) 页面在窗口中的显示是否正确、美观(在调整浏览器窗口大小时,屏幕刷新是否正确)
    (4) 页面特殊效果(如特殊字体效果、动画效果)是否显示
    (5) 页面特殊效果显示是否正确

    2 页面元素部分
    (1)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮、单选框、复选框、列表框、超连接、输入框等等)
    (2)素是否显示(元素是否存在)
    (3)页面元素是否显示正确(主要针对文字、图形、签章)
    (4)页面元素的外形、摆放位置(如按钮、列表框、核选框、输入框、超连接等)
    (5) 页面元素基本功能是否实现(如文字特效、动画特效、按钮、超连接)
    (6) 页面元素的容错性列表(如输入框、时间列表或日历)
    (7) 页面元素的容错性是否存在
    (8) 页面元素的容错性是否正确

    3 功能部分
    (1) 数据初始化是否执行
    (2) 数据初始化是否正确
    (3) 数据处理功能是否执行
    (4) 数据处理功能是否正确
    (5) 数据保存是否执行
    (6) 数据保存是否正确
    (7) 是否对其他功能有影响
    (8) 如果影响其他功能,系统能否作出正确的反应
    (9) 其他错误
    (10) 对模块的具体功能进行测试时可以列出功能模块的所有功能,进行排列组合,测试所有情况
    如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试
    单项功能测试(增加、修改、查询、删除)
    增加——>增加——>增加 (连续增加测试)
    增加——>删除
    增加——>删除——>增加 (新增加的内容与删除内容一致)
    增加——>修改——>删除
    修改——>修改——>修改 (连续修改测试)
    修改——>增加 (新增加的内容与修改前内容一致)
    修改——>删除
    修改——>删除——>增加 (新增加的内容与删除内容一致)
    删除——>删除——>删除 (连续删除测试)
    (11)查询功能分为两种情况,验证操作结果。
    一、打开页面时自动显示结果,则不特别强调;
    二、需要手工操作进行查询,则每次在其他功能完成后进行。
    4 提示信息
    (1) 成功、失败提示
    (2) 操作结果提示
    (3) 确认提示
    (4) 危险操作、重要操作提示
    (5) 返回页面 提示后显示的页面
    5 容错性
    注意以下几种情况
    (1) 为空、非空
    (2) 唯一性
    (3 )字长、格式
    (4) 数字、邮政编码、金额、电话、电子邮件、ID号、密码
    (5) 日期、时间
    (6) 特殊字符 (对数据库)英文单、双引号,&符号
    6 权限部分
    功能权限: 指定用户可以使用那些功能,不能使用那些功能
    数据权限: 指定用户可以处理那些数据,不可以处理那些数据。可
    以合并到功能测试
    操作权限: 在逻辑关系上,操作前后顺序、数据处理情况。可以合
    并到功能测试
    权限变化: 可以合并到功能测试

    (1) 功能权限是否存在
    (2 )功能权限是否正确
    (3) 数据权限是否存在
    (4) 数据权限是否正确
    (5)操作权限是否存在
    (6) 操作权限是否正确
    (7) 引起权限变化的功能列表
    (8) 功能权限变化还是数据权限变化,或两者兼有
    (9) 权限变化是否正确

    7 键盘操作
    (1) Tab键的使用
    (2) 上下方向键的使用
    (3) Enter键的使用
    (4) 系统设定快捷键的使用(如果设置有快捷键)

    8 测试中还应注意的其他事项
    (6) 完整性:是否是一个整体,没有功能缺损
    (7) 易用性:使用是否方便
    (8) 一致性:类似的问题用类似的方法处理
    (9) 提示信息:提示信息是否完整、正确、详细
    (10) 帮助信息:是否提供帮助信息,帮助信息的表现形式(页面文字、提示信息、帮助文件),帮助信息是否正确、详细
    (11) 兼容性:包括操作系统兼容和应用软件兼容,可能还包括硬件兼容
    (12) 可扩展性:是否由升级的余地,是否保留了接口
    (13) 稳定性:运行所需的软硬件配置,占用资源情况,出现问题时的容错性,对数据的保护
    (14) 运行速度:运行的快慢,带宽占用情况

    有几点:
    1.功能点测试:是否满足需求所要求的功能
    2.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错.
    3.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.
    4.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确.
    5.中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错.
    6.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理.
    7.界面测试:界面的正确性、一致性、友好性、易用性。

    用户界面测试是从最终的使用者用户的角度来看软件,软件难以理解,不易使用就是软件缺陷。可以从以下几个方面重点来检查用户界面:
    1.易用性检查:确保软件易于理解,方便使用。
    2.一致性检查:
    a.注意系统页面的风格是否一致,如字的大小、颜色、字体要相同。
    b.提示信息的表达方式是否一致。
    c.按钮排列顺序是否一致。
    d.back, cancel等按钮跳转页面处理是否一致。
    e.各字段的名称,位置、长度、类型是否和设计文档要求一致,如Employee No和LoginName不一致。
    3.正确性检查:检查页面上的form, button, table, header, footer,提示信息,还有其他文字拼写,句子的语法等是否正确。
    4.友好性检查:
    a.提示信息是否友好.
    b.系统应该在用户执行错误的操作之前提出警告,提示信息.
    c.页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性。
    5.合理性检查:做delete, update, add, cancel, back等操作后,查看信息回到的页面是否合理。
    6.检查本地化是否通过:英文版不应该有中文信息,英文翻译准确,专业。
    7.页面最大化检查:测试最大化/最小化/还原时页面是否做了对应的处理

  • 一些日语学习网址

    2008-03-25 16:40:09

          我在大连,会日语很重要,如果你也想学习日语,就打开看看吧!

    神州视频日语教室:http://japan.szstudy.cn/japan.asp?userid=1265
    新闻报纸 NHK新闻 http://www.nhk.or.jp
    朝日新闻 http://www.asahi.com
    读卖新闻 http://www.yomiuri.co.jp
    每日新闻 http://www.mainichi.com
    产经新闻社 http://www.sankei.co.jp
    共同新闻社 http://www.kyodo.co.jp
    时事通信社 http://www.jiji.co.jp
    在线放送 NHK每日日语新闻 ttp://www.nhk.or.jp/rj/ram/jp/japanese.ram
    读卖新闻在线新闻在线收看 http://www.yomiuri.co.jp/stream/
    TBST每日新闻在线收看 http://news.tbs.co.jp
    jetro新闻在线 http://www.jetro.go.jp/cstv/
    青森新闻放送在线收看 http://www.rab.co.jp
    大阪在线新闻收听 http://mbs.co.jp/rnews impress
    电视新闻 http://www.impress.tv/
    株式会社E-NEWS http://www.e-news.co.jp/
    NNN24日本新闻网络 http://www.nnn24.com/
    朝日日语论坛 http://bbs.china-asahi.com/
    搜索引擎 yahoo日文搜索 http://www.yahoo.co.jp
    goo搜索 http://www.goo.ne.jp
    infoseek搜索 http://www.infoseek.co.jp
    bekkoame搜索 http://www.bekkoame.ne.jp
    lycos搜索 http://www.lycos.co.jp
    网络词典 三省堂网络词典 http://www.sanseido.net
    goo辞书 http://dictionary.goo.ne.jp/
    infoseekマルチ辞书 [url]http://jiten.www.infoseek.co.jp/[/url]
    日汉汉日词典 http://bitex-cn.com/
    网上翻译 excite中日英韩翻译 http://www.excite.co.jp/world/
    日语学习和风日语 http://www.jpwind.com
    谜语网站 http://www.geocities.jp/nazo2club/
    日本传说(有声)http://www.digital-lib.nttdocomo.co...shi4/index.html
    ALC语言教育出版社 http://www.alc.co.jp
    许多日语读解材料 http://language.tiu.ac.jp
    说话方法商谈室 http://www2.plala.or.jp/tngc
    日语教师个人网页链接 http://nihongo-online.jp/links/t-links.htm
    日文听力FLASH http://www.pref.toyama.jp/sections/.../dream/navi.swf
    日语水平测验网站 http://www.dragons.com.tw/jptest/testmain.asp
    关于“敬语”的网站 http://www3.kcn.ne.jp/~jarry/keig/keimn.html
    留学信息 日本大学索引 http://www.tokyohotline.net/htdocs/study/map.htm
    日本大学 http://www.gakkou.net/daigaku/
    日本大学入试情况 http://www.yozemi.ac.jp/
    SCHOOLNAVI http://www.schoolnavi-jp.com/
    日本留学综合指南 http://www.studyjapan.go.jp/ch/index.html
    日本学生支援机构 http://www.jasso.go.jp
    日本国际教育支援协会 http://www.jees.or.jp
    日本就业信息 http://www.ejbox.com/carifo/
    东京外国人雇佣服务中心 http://www.tfemploy.go.jp
    休闲娱乐日语歌词 http://www.utamap.com
    日语歌词搜索 http://www.uta-net.com
    日本旅行 http://www.nta.co.jp
    日本棋院 http://www.nihonkiin.or.jp
    科技信息 科学技术振兴事业团 http://www.jst.go.jp
    日本信息处理开发协会 http://www.jipdec.jp
    历史文化 日本文化 http://www.ffortune.net/calen/index.htm
    历史知识搜索 http://macao.softvision.co.jp/dbpwww/
    东京国立博物馆 http://www.tnm.jp
    文学艺术 日本文学电子图书馆 http://j-texts.com
    日本古典文学 http://www.osk.3web.ne.jp/~t819kwbt
    青空文库 http://www.aozora.gr.jp
    儿童电子图书馆 http://www.digital-lib.nttdocomo.co...uten/index.html
    公共图书馆大全 http://plng.p.u-tokyo.ac.jp/text/Reference2.html
    日语图书俱乐部 http://www.bookclub.kodansha.co.jp
    其它实用网址 日本法律知识 http://list.room.ne.jp/~lawtext/forest/home.html
    网络邮政信息 http://www.post.yusei.go.jp 
      

     

  • [转]激励你成功的七个故事

    2008-03-20 11:19:46

        1、成功并不像你想像的那么难 并不是因为事情难我们不敢做,而是因为我们不敢做事情才难的。

        1965年,一位韩国学生到剑桥大学主修心理学。在喝下午茶的时候,他常到学校的咖啡厅或茶座听一些成功人士聊天。这些成功人士包括诺贝尔奖获得者,某一些领域的学术权威和一些创造了经济神话的人,这些人幽默风趣,举重若轻,把自己的成功都看得非常自然和顺理成章。时间长了,他发现,在国内时,他被一些成功人士欺骗了。那些人为了让正在创业的人知难而退,普遍把自己的创业艰辛夸大了,也就是说,他们在用自己的成功经历吓唬那些还没有取得成功的人。

        作为心理系的学生,他认为很有必要对韩国成功人士的心态加以研究。1970年,他把《成功并不像你想像的那么难》作为毕业论文,提交给现代经济心理学的创始人威尔布雷登教授。布雷登教授读后,大为惊喜,他认为这是个新发现,这种现象虽然在东方甚至在世界各地普遍存在,但此前还没有一个人大胆地提出来并加以研究。惊喜之余,他写信给他的剑桥校友——当时正坐在韩国政坛第一把交椅上的人—— 朴正熙。他在信中说,“我不敢说这部著作对你有多大的帮助,但我敢肯定它比你的任何一个政令都能产生震动。”

        后来这本书果然伴随着韩国的经济起飞了。这本书鼓舞了许多人,因为他们从一个新的角度告诉人们,成功与“劳其筋骨,饿其体肤”、“三更灯火五更鸡”、“头悬梁,锥刺股”没有必然的联系。只要你对某一事业感兴趣,长久地坚持下去就会成功,因为上帝赋予你的时间和智慧够你圆满做完一件事情。后来,这位青年也获得了成功,他成了韩国泛业汽车公司的总裁。

        温馨提示:人世中的许多事,只要想做,都能做到,该克服的困难,也都能克服,用不着什么钢铁般的意志,更用不着什么技巧或谋略。只要一个人还在朴实而饶有兴趣地生活着,他终究会发现,造物主对世事的安排,都是水到渠成的。

        2、阴影是条纸龙 人生中,究竟会对你产生怎样的影响,最终决定权在你手中。

        祖父用纸给我做过一条长龙。长龙腹腔的空隙仅仅只能容纳几只蝗虫,投放进去,它们都在里面死了,无一幸免!祖父说:“蝗虫性子太躁,除了挣扎,它们没想过用嘴巴去咬破长龙,也不知道一直向前可以从另一端爬出来。因而,尽管它有铁钳般的嘴壳和锯齿一般的大腿,也无济于事。 “当祖父把几只同样大小的青虫从龙头放进去,然后关上龙头,奇迹出现了:仅仅几分钟,小青虫们就一一地从龙尾爬了出来。

        温馨提示:命运一直藏匿在我们的思想里。许多人走不出人生各个不同阶段或大或小的阴影,并非因为他们天生的个人条件比别人要差多远,而是因为他们没有思想要将阴影纸龙咬破,也没有耐心慢慢地找准一个方向,一步步地向前,直到眼前出现新的洞天。

        3、 飞翔的蜘蛛 信念是一种无坚不催的力量,当你坚信自己能成功时,你必能成功。

        一天,我发现,一只黑蜘蛛在后院的两檐之间结了一张很大的网。难道蜘蛛会飞?要不,从这个檐头到那个檐头,中间有一丈余宽,第一根线是怎么拉过去的?后来,我发现蜘蛛走了许多弯路——从一个檐头起,打结,顺墙而下,一步一步向前爬,小心翼翼,翘起尾部,不让丝沾到地面的沙石或别的物体上,走过空地,再爬上对面的檐头,高度差不多了,再把丝收紧,以后也是如此。

        温馨提示:蜘蛛不会飞翔,但它能够把网凌结在半空中。它是勤奋、敏感、沉默而坚韧的昆虫,它的网制得精巧而规矩,八卦形地张开,仿佛得到神助。这样的成绩,使人不由想起那些沉默寡言的人和一些深藏不露的智者。于是,我记住了蜘蛛不会飞翔,但它照样把网结在空中。奇迹是执着者造成的。

        4、为生命画一片树叶 只要心存相信,总有奇迹发生,希望虽然渺茫,但它永存人世。

        美国作家欧;亨利在他的小说《最后一片叶子》里讲了个故事:病房里,一个生命垂危的病人从房间里看见窗外的一棵树,在秋风中一片片地掉落下来。病人望着眼前的萧萧落叶,身体也随之每况愈下,一天不如一天。她说:“当树叶全部掉光时,我也就要死了。”一位老画家得知后,用彩笔画了一片叶脉青翠的树叶挂在树枝上。最后一片叶子始终没掉下来。只因为生命中的这片绿,病人竟奇迹般地活了下来。

        温馨提示:人生可以没有很多东西,却唯独不能没有希望。希望是人类生活的一项重要的价值。有希望之处,生命就生生不息!

        5、昂起头来真美 别看它是一条黑母牛,牛奶一样是白的。

        珍妮是个总爱低着头的小女孩,她一直觉得自己长得不够漂亮。有一天,她到饰物店去买了只绿色蝴蝶结,店主不断赞美她戴上蝴蝶结挺漂亮,珍妮虽不信,但是挺高兴,不由昂起了头,急于让大家看看,出门与人撞了一下都没在意。

        珍妮走进教室,迎面碰上了她的老师,“珍妮,你昂起头来真美!”老师爱抚地拍拍她的肩说。

        那一天,她得到了许多人的赞美。她想一定是蝴蝶结的功劳,可往镜前一照,头上根本就没有蝴蝶结,一定是出饰物店时与人一碰弄丢了。

        自信原本就是一种美丽,而很多人却因为太在意外表而失去很多快乐。

        温馨提示:无论是贫穷还是富有,无论是貌若天仙,还是相貌平平,只要你昂起头来,快乐会使你变得可爱——人人都喜欢的那种可爱。

        6、生命的价值 不要让昨日的沮丧令明天的梦想黯然失色!

        在一次讨论会上,一位著名的演说家没讲一句开场白,手里却高举着一张20美元的钞票。面对会议室里的200个人,他问:“谁要这20美元?”一只只手举了起来。他接着说:“我打算把这20美元送给你们中的一位,但在这之前,请准许我做一件事。”他说着将钞票揉成一团,然后问:“谁还要?”仍有人举起手来。

        他又说:“那么,假如我这样做又会怎么样呢?”他把钞票扔到地上,又踏上一只脚,并且用脚碾它。尔后他拾起钞票,钞票已变得又脏又皱。 现在谁还要?”还是有人举起手来。 “朋友们,你们已经上了一堂很有意义的课。无论我如何对待那张钞票,你们还是想要它,因为它并没贬值,它依旧值20美元。人生路上,我们会无数次被自己的决定或碰到的逆境击倒、欺凌甚至碾得粉身碎骨。我们觉得自己似乎一文不值。但无论发生什么,或将要发生什么,在上帝的眼中,你们永远不会丧失价值。在他看来,肮脏或洁净,衣着齐整或不齐整,你们依然是无价之宝。”

        温馨提示:生命的价值不依赖我们的所作所为,也不仰仗我们结交的人物,而是取决于我们本身!我们是独特的——永远不要忘记这一点!

        7、断箭 不相信自己的意志,永远也做不成将军。

        春秋战国时代,一位父亲和他的儿子出征打战。父亲已做了将军,儿子还只是马前卒。又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭囊,其中插着一只箭。父亲郑重对儿子说:“这是家袭宝箭,配带身边,力量无穷,但千万不可抽出来。”

        那是一个极其精美的箭囊,厚牛皮打制,镶着幽幽泛光的铜边儿,再看露出的箭尾。一眼便能认定用上等的孔雀羽毛制作。儿子喜上眉梢,贪婪地推想箭杆、箭头的模样,耳旁仿佛嗖嗖地箭声掠过,敌方的主帅应声折马而毙。

        果然,配带宝箭的儿子英勇非凡,所向披靡。当鸣金收兵的号角吹响时,儿子再也禁不住得胜的豪气,完全背弃了父亲的叮嘱,强烈的欲望驱赶着他呼一声就拔出宝箭,试图看个究竟。骤然间他惊呆了。一只断箭,箭囊里装着一只折断的箭。我一直刳着只断箭打仗呢!儿子吓出了一身冷汗,仿佛顷刻间失去支柱的房子,轰然意志坍塌了。结果不言自明,儿子惨死于乱军之中。

282/2<12
Open Toolbar