如果你有一个苹果,我有一个苹果,我们交换以后还是一人一个苹果,但如果你有一种思想,我有一种思想,我们交换以后,每个人便拥有了两种思想。

发布新日志

  • MySql数据库备份与恢复

    2008-09-03 17:27:50

    备份:
    第一种方法:   mysqldump

    备份一个表 mysqldump  -h主机名  –u用户名 –p口令 数据库  表名 >文本文件
                    恢复: mysql   -h  主机名 –u用户名 –p口令 数据库 <文本文件
    备份一个数据库中的两个表或是多个表怎么办?
      Mysqldump –h 主机名 –u用户名 –p口令 数据库 表名1 表名2  >文本文件
     恢复的时候: mysql –h 主机名 –u用户名 –p 口令 数据库<文本文件

    备份整个数据库:
    格式: mysqldump –u用户名  -p密码 数据库名>文本文件名
    如:C:\test>mysqldump -uroot -p111111 net14  >net14.txt

    删除数据库net14:         drop database net14
    进行恢复:
    C:\test>mysql -u root  -p111111 net14<net14.txt
    ERROR 1049 (42000): Unknown database 'net14'
    报错.说找不到数据库net14;
    必须先手工建立一个空的net14数据库,然后才能把数据导进来!
    C:\test>mysql -u root  -p111111 net14<net14.txt

    那还有一个问题,如果想同时备份两个以上的数据库怎么办?
    格式: mysqldump –u用户名  -p密码  -B 数据库1   数据库2 >文本文件名
    如:    C:\test>mysqldump -uroot -p111111 -B net14 net28  >net1428.txt
    然后删除net14和net28再进行恢复
    但是要注意:必须一个一个的恢复,不能同时恢复两个:
    如: C:\test>mysql -uroot -p111111 -B net14   <net1428.txt
    C:\test>mysql -uroot -p111111 -B net28   <net1428.txt

    第二种方法:  select into 作备份:这相对于第一种方法就简单多了!
    格式:  select 语句 into outfile “路径及文件名”;
    如: mysql> select * from student into outfile 'c:\\abc1.txt';
    Query OK, 13 rows affected (0.00 sec)
    注意:
    1.路径中的盘符后是两个\\,其中第一个代表转义作用,第二个才是代表根目录.有时写成一个\时不会报错,因此要注意检查备份的正确性;
    2.不允许重写文本文件;
    恢复方法:
    那么怎么恢复呢::
    用LOAD DATA来恢复:
    格式: load data infile ‘路径及文件名’ into table 表名
    如: load data infile 'c:\\student.txt' into table student;
    注意:表必须存在.可用delete,清空其中的所有记录 或者用: truncate 表名,只删除记录,不删除结构!
    如果恢复出错怎么办?
    1. 权限问题.
    2. 分界符不匹配!
    3. 路径和文件名不对!
    十一、数据的导入/导出:
    如何与其他数据源之间进行数据的导入与导出!
    例如:如何将  SQL server 的数据导到mysql中来
    1. 先在MS SQL 2000的导入导出工具将数据导出成*.txt文件格式
    注意打开backup.txt
    观察其中的分隔字符 MS SQL 2000好像是用逗号分隔的
    2. 在mysql中利用 load data infile 命令导入
    mysql> load data infile 'c:\\sql.txt' into table abc fields terminated by ',';
    Query OK, 5 rows affected (0.00 sec)
    Records: 5  Deleted: 0  Skipped: 0  Warnings: 0
    注意  目标表必须已经存在,并结构要与源表的结构相同!
    ACCESS 导到 MYSQL:
    1. 先建立一个access文件,保存成文本文件
    2. 打开文本文件,再转换一下编码成ansi
    3. 建立数据库,导入到mysql中!
    mysql> load data infile 'c:\\abc1.txt' into table abc fields terminated by ',';
    Query OK, 3 rows affected (0.00 sec)
    EXCEL 导到mysql
     步骤同上。只是要注意的是:excel默认是以 TAB 分隔的所以应用以下的语句:
    mysql> load data infile 'c:\\book1.txt' into table abc fields terminated by '\t';

  • 如何写性能测试用例

    2008-08-27 21:01:14

    由于性能测试与功能测试有很大的区别,所以讨论出的结果可能与预先的设想有一定的区别。
    性能测试的目的
    为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系统的目的。
    性能测试指标的来源:
    用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。(需求+经验)
    主要的性能指标:
    服务器的各项指标(CPU、内存占用率、平均负载等等)、后台数据库的各项指标、网络流量、响应时间。
    BUG观点:
    1、性能测试就象人在无风情况下跑步(正常情况下的性能指标);
    2、压力测试就象人在微风中跑步(在正常的基础上加大多少百分比压力的性能指标);
    3、负载测试就象人在强风中跑步(不断加压,直到系统崩溃)。
    HTTP观点:
    1、  负载测试是正常情况下持续的加压;
    2、  压力测试是直接加压达到一个极限值。
    大家统一的观点:
    性能测试、压力测试、负载测试密不可分,可统称为性能测试。
    性能测试要点:
    1、  性能测试是在功能测试完成之后进行。
    2、  性能测试计划、方案一般与测试用例统一在一个文档里。
    3、  测试环境应尽量与用户环境保持一致。
    4、  性能测试一般使用测试工具和测试人员编制测试脚本来完成,性能测试的环境应单独运行尽量避免与其他软件同时使用。
    5、  性能测试的重点在于前期数据的设计与后期数据的分析。
    6、  性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不大,所以做性能测试的重复使用率一般比较高。(说明:当系统中出现的某个功能点需要修改,它一般只会影响到功能测试的设计用例,而对于性能测试,很少影响到性能测试的设计用例。但是如果某个功能有较大的修改,性能测试也应该进行重新测试。)
  • [论坛] 《密码学与网络安全》学习笔记 [ 1 ]

    2008-08-15 16:33:16

    网络安全的原则:
    a,保密性;(截获破坏了保密性原则)
    b,完整性; (修改会失去消息的完整性)
    c,鉴别性; (缺乏鉴别机制可能导致伪造)
    d,不可抵赖性:(不可抵赖性不允许发消息者拒绝承认发消息)

    还有两个安全原则是访问限制(访问控制指定和控制谁能访问什么)与可用性(中断会破坏可用性原则)。

    网络攻击类型
    1,被动攻击;
    被动攻击不对数据进行任何修改,又可分为两类:内容泄漏和通信量分析

    2,主动攻击。
    主动攻击会以某种方式修改消息内容
    a,中断攻击又称为伪装攻击:
    b,修改攻击又可以分为重放攻击和改变消息;
    c,伪造会产生拒绝服务;

    加密技术

    明文是发送人,接受人和任何访问消息的人都能理解的消息;经编码后的消息称为密文。
    明文消息可以用两种方式变为密文消息:替换法与变换法,两者结合时,称为求积密文。
    替换方法:
    使用替换加密法时,明文消息的字符替换成另一个字符,数字或符号。
    凯撒加密法(消息中每个字母换成向后三个字母的字母,其弱点是可预测性);
    单码加密法(将消息中的所有字母不是采用相同的模式,而是使用随机替换。其弱点是密码分析员可以利用英文知识进行攻击);
    同音替换加密法(也是一次把一个明文字母换成一个密文字母,但密文字母可以是所选集合的任意字母,即一个明文字母可能对应多个密文字母);
    块替换加密法(是把一块字母换成另一块字母,而不是把一个字母换成另一个字母)
    多码替换加密法(未曾深入理解)

    变换加密技术

    栅栏加密技术(将明文消息写成对角线序列,并将写出的明文读入行序列)
    简单分栏式变换加密技术(是将明文排成距阵中的行序列,按随机顺序读取,多次迭代之后,称为多轮简单分栏式变换加密技术,其密文更复杂);
    Vernam加密法(也称为一次性板,用随机的非重复字符集合作为输入密文,其加密算法是(1),按递增顺序把每个明文字母作为一个数字,即A=1,B=2,。。。Z=25(2)对输入密文的每个字母进行相同处理(3)将明文的每个字母与输入密文中相应字母相加(4)如果得到的和大于26,则从中减去26(5)将和编成相应的字母,从而得到输入密文)

    加密与解密

    要加密明文消息,发送方进行加密,即采用加密算法;要解密收到的加密消息,接收方要进行解密,即采用解密算法,两者的算法相同,消息加密和解密的另一个方面是密钥。广义的,根据使用的密钥,有两种加密机制。如果加密与解密使用相同密钥,则称为对称密钥加密;如果加密与解密使用不同密钥,则称为非对称密钥加密。
  • 用户及权限管理功能常规测试方法

    2008-08-07 20:49:46

    1)     赋予一个人员相应的权限后,在界面上看此人员是否具有此权限,并以此人员身份登陆,验证权限设置是否正确(能否超出所给予的权限);

    2)     删除或修改已经登陆系统并正在进行操作的人员的权限,程序能否正确处理;

    3)     重新注册系统变更登陆身份后再登录,看程序是否能正确执行,具有权限是否正确;

    4)     在有工作组或角色管理的情况下,删除包含用户的工作组或角色,程序能否正确处理;

    5)     不同权限用户登录同一个系统,权限范围是否正确;

    6)     覆盖系统所有权限设定;

    7)     能否添加信息为空的用户(其中包括空用户名及空口令、空用户名非空口令、非空用户名及空口令);

    8)     能否添加长用户名及长口令,如果允许,新用户能否正确登录

    9)     系统是否允许删除系统管理员这一特殊用户或修改系统管理员口令,删除或修改后系统的实际情况

    10)  登录用户能否修改自己的权限;

    11)  添加用户(有标识或编号):标识相同,用户名不同;标识相同,用户名相同;标识不同,用户名相同;标识不同,用户名不同;

    12)  登录用户能否修改本人(或其他人)的信息,删除本人(或其他人);

    13)  修改用户的信息(包括权限,口令,基本信息等),对其他模块的影响;

    14)  修改用户信息:修改后的用户信息和已经存在的用户信息相同;修改后的用户信息和已经存在的用户信息不同;

    15)  不给用户授权,是否允许登录;

    15)  改某些设置时,是否会影响具有上级权限及相同权限人员的设置;

    16)  系统管理员修改了某些数据,以其他人员身份登录时数据是否改变;

    17)  用户能否同时属于多个组,各个组的权限能否交叉;

    删除后重新添加的用户是否具有以前的权限;更改用户各项属性(包括权限)看对权限是否有影响。
  • Windows操作系统中组策略常见安全设置

    2008-08-07 20:25:44

    设置用户权限
      当多人共用一台计算机时,中设置用户权限,可以按照以下步骤进行:
    在“组策略”窗口依次展开“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“用户权限指派”,比如我们设置用户名为“GT”的用户可以远程系统强制关机,那么我们在右边窗口找到并双击“从远端系统强制关机”
      我们单击“添加用户或组”按钮,在弹出的“选择用户或组”窗口中点击“高级”,然后点击“立即查找”按钮,此时我们就可以从下面的用户列表框中选中用户名为“GT”的用户,最后单击“确定”按钮退出即可为此用户设置了此权限,当然你也可以删除用户的权限

    禁止访问注册表编辑器
      为了防止他人修改你的注册表,我们可以在组策略中禁止访问注册表编辑器,具体步骤如下:
      依次展开“用户配置”→“管理模板”→“系统”,然后在右边窗口中找到并双击“阻止访问注册表编辑器”项,并将其设置为“已启用”,这样用户在试图启动注册表编辑器时,系统将提示:注册编辑已被管理员停用。
      另外,如果你的注册表编辑器被锁死,也可以双击此设置,在弹出对话框的“设置”标签中点选“未被设置”项,这样你的注册表就可以解锁了。如果要防止用户使用其他注册表编辑工具打开注册表,请双击启用“只运行许可的Windows应用程序”,这样用户只能运行您所指定的程序了。

    隐藏或删除资源管理器中的项目
    一直以来,资源管理器就是Windows系统中最重要的工具,如何高效、安全地管理资源也一直是电脑用户的不懈追求。依次展开“用户配置”→“管理模板”→“Windows组件”→“Windows资源管理器”项,可以看到“Windows资源管理器”节点下的所有设置。(如图8)比如“文件夹选项”是资源管理器中一个重要的菜单项,通过它可修改文件的查看方式,编辑文件类型的打开方式,为了防止他人随意更改,可将此菜单项删除,我们找到并双击启用“从‘工具’菜单删除‘文件夹选项’菜单”便能完成这一设置;此外,双击启用“隐藏Windows资源管理器上下文菜单上的‘管理’项目”项则可以屏蔽电脑中的“管理”菜单;我们还可以通过启用“隐藏‘我的电脑’中的这些指定的驱动器”来隐藏你指定的驱动器;双击启用“不要将已删除的文件移到‘回收站’”则以后删除文件时将不进入回收站直接删除掉。当然还有不少项目这里没有讲到,大家可根据需要自行探讨,进行适当的配置]

    我们可以从“控制面板”中的“添加或删除程序”项目中安装、卸载、修复并添加和删除 Windows 的功能和组件以及种类很多的 Windows 程序。如果你想阻止其他用户安装或卸载程序,可利用组策略来实现。
      依次展开“用户配置”→“管理模板”→“控制面板”→“添加/删除程序”,然后在右边窗口中启用“删除‘添加/删除程序’程序”即可。
      此外,在“添加/删除程序”分支中还可以对Windows“添加/删除程序”项中的“添加新程序”、“从CD-ROM或软盘添加程序”、“从Microsoft添加程序”、“从网络添加程序”等项进行隐藏,通过这些策略项目的设置,起到了保护计算机中系统文件及应用程序的作用
    如果不希望别人对IE浏览器的设置随意更改,可以将“‘工具’菜单:禁用‘Internet选项...’”策略启用。具体设置步骤如下:
      依次展开“用户配置”→“管理模板”→“Windows组件”→“Internet Explorer”→“浏览器菜单”,然后在右边窗口中启用“‘工具’菜单:禁用‘Internet选项...’”菜单项即可
      另外,根据个人的需要,在该窗格中还可以禁用其他项目(例如隐藏IE收藏夹,在文件菜单中禁用另存为、新建、打开等)。
  • 总结系统安全常见的一些问题

    2008-08-07 19:14:14

    安全策略: 没有明确的安全管理制度;
    管理层:   没有系统安全管理规章制度、策略、负责人的落实;
    操作系统安装后使用缺省配置,不打补丁,运行许多与系统不相关或不必要的服务;(大多数情况下系统的安全问题都来自于配置;)
    多种服务安装在同一服务器上;
    共用服务器用户名密码过于简单;
    系统审计功能未开启或管理人员根本不检查系统审计日志信息;
    没有备份系统瘫痪后难以恢复;

    用户对系统安全意识不够;
    缺少对系统安全到理解及对安全工具的使用;

  • 解决LoadRunner监控Linux中遇到的问题

    2008-07-29 16:12:37

    LoadRunner监控Linux安装成功,所以共享出来,备忘. 需要下载3个包,到网上google一个吧:

    (1)rsh-0.17-14.i386.rpm
    (2)rsh-server-0.17-14.i386.rpm
    (3)rpc.rstatd-4.0.1.tar.gz

    1.安装rsh,和rsh-server两个服务包。
    a. 卸载rsh
    rpm –q rsh----------查看版本号
    rpm -e 版本号---------卸载该版本。

    b.安装
    rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
    这两个包在我的目录下有共享。

    2.下载并安装rstatd
    gunzip rpc.rstatd-4.0.1.tar.gz
    Tar –cvf rpc.rstatd-4.0.1.tar.
    ./configure ---配置
    make ---编译
    make install ---安装
    rpc.rstatd ---启动rstatd进程

    3. 打开/etc/xinetd.conf
    里面内容是:
    # Simple configuration file for xinetd
    #
    # Some defaults, and include /etc/xinetd.d/
    defaults
    {
    instances = 60
    log_type = SYSLOG authpriv
    log_on_success = HOST PID
    log_on_failure = HOST
    cps = 25 30
    }
    includedir /etc/xinetd.d

    4.重启xinetd:
    A: service xinetd reload
    B: /sbin/service xinetd rstart

    5.修改/etc/xinetd.d/下的三个conf文件 rlogin ,rsh,rexec 这三个配置文件

    打这三个文件,将里面的disable = yes都改成 disable = no (disabled用在默认的{}中禁止服务)

    或是把# default: off都设置成 on ,并把“#”去掉,这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!

    6.启动rstatd: rpc.rstatd

    7.查看rstatd是否启动:
    rpcinfo –p

    如果能看到:
    100001 5 udp 618 rstatd
    100001 3 udp 618 rstatd
    100001 2 udp 618 rstatd
    100001 1 udp 618 rstatd

    就说明rstatd服务已经启动。可以用LR去监视了。

  • 系统安全性测试问题举例

    2008-07-28 16:35:27

    转载请保留:本文出自ruanyongjie的51Testing软件测试博客:http://www.51testing.com/?59943

    1:没有被验证的输入

    测试方法
    数据类型(字符串,整型,实数,等)
    允许的字符集
    最小和最大的长度
    是否允许空输入
    参数是否是必须的
    重复是否允许
    数值范围
    特定的值(枚举型)
    特定的模式(正则表达式)

    2:有问题的访问控制

    测试方法:
    主要用于需要验证用户身份以及权限的页面,复制该页面的url地址,关闭该页面以后,查看是否可以直接进入该复制好的地址
    例:从一个页面链到另一个页面的间隙可以看到URL地址
    直接输入该地址,可以看到自己没有权限的页面信息

    3,错误的认证和会话管理

    例:对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解析出来

    4:跨站脚本(XSS)

    分析:攻击者使用跨站脚本来发送恶意代码给没有发觉的用户,窃取他机器上的任意资料
    测试方法:
    •HTML标签:<…>…</…>
    •转义字符:&(&);<(<);>(>); (空格) ;
    •脚本语言:
          <scrīpt language=‘javascrīpt’>
           …Alert(‘’)
           </scrīpt>
    •特殊字符:‘  ’ <  >  /
    •最小和最大的长度
    •是否允许空输入

    5,缓冲区溢出

    没有加密关键数据
    例:view-source:http地址可以查看源代码
    在页面输入密码,页面显示的是 *****,  右键,查看源文件就可以看见刚才输入的密码,

    6,注入式漏洞。

    例:一个验证用户登陆的页面,如果使用的sql语句为:
    Select *  from  table A where  username=’’ + username+’’ and pass word …..
    Sql 输入
    ‘ or 1=1 ――
    就可以不输入任何password进行攻击

    7,不恰当的异常处理

    分析:程序在抛出异常的时候给出了比较详细的内部错误信息,暴露了不应该显示的执行细节,网站存在潜在漏洞,

    8,不安全的存储

    分析:帐号列表:系统不应该允许用户浏览到网站所有的帐号,如果必须要一个用户列表,推荐使用某种形式的假名(屏幕名)来指向实际的帐号。
    浏览器缓存:认证和会话数据不应该作为GET的一部分来发送,应该使用POST,

    9,拒绝服务

    分析:攻击者可以从一个主机产生足够多的流量来耗尽狠多应用程序,最终使程序陷入瘫痪。需要做负载均衡来对付。

    10,不安全的配置管理

    分析:Config中的链接字符串以及用户信息,邮件,数据存储信息都需要加以保护

    程序员应该作的:
    配置所有的安全机制,关掉所有不使用的服务,设置角色权限帐号,使用日志和警报。
  • 个人对性能测试的理解

    2008-07-20 08:42:58

    测试系统在指定的环境或某一场景中的性能表现是否与预期目标达成一致,根据测试结果识别系统瓶颈,判断系统存在的性能缺陷,并改善、优化系统性能的整个过程;
  • http错误代码含义

    2008-07-20 08:16:04

    HTTP

    1xx - 信息提示

    这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。

    100 - 继续。
    101 - 切换协议。
    2xx - 成功

    这类状态代码表明服务器成功地接受了客户端请求。
    200 - 确定。客户端请求已成功。
    201 - 已创建。
    202 - 已接受。
    203 - 非权威性信息。
    204 - 无内容。
    205 - 重置内容。
    206 - 部分内容。
    3xx - 重定向

    客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。
    302 - 对象已移动。
    304 - 未修改。
    307 - 临时重定向。
    4xx - 客户端错误

    发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。
    400 - 错误的请求。
    401 - 访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示:
    401.1 - 登录失败。
    401.2 - 服务器配置导致登录失败。
    401.3 - 由于 ACL 对资源的限制而未获得授权。
    401.4 - 筛选器授权失败。
    401.5 - ISAPI/CGI 应用程序授权失败。
    401.7 – 访问被 Web 服务器上的 URL 授权策略拒绝。这个错误代码为 IIS 6.0 所专用。
    403 - 禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因:
    403.1 - 执行访问被禁止。
    403.2 - 读访问被禁止。
    403.3 - 写访问被禁止。
    403.4 - 要求 SSL。
    403.5 - 要求 SSL 128。
    403.6 - IP 地址被拒绝。
    403.7 - 要求客户端证书。
    403.8 - 站点访问被拒绝。
    403.9 - 用户数过多。
    403.10 - 配置无效。
    403.11 - 密码更改。
    403.12 - 拒绝访问映射表。
    403.13 - 客户端证书被吊销。
    403.14 - 拒绝目录列表。
    403.15 - 超出客户端访问许可。
    403.16 - 客户端证书不受信任或无效。
    403.17 - 客户端证书已过期或尚未生效。
    403.18 - 在当前的应用程序池中不能执行所请求的 URL。这个错误代码为 IIS 6.0 所专用。
    403.19 - 不能为这个应用程序池中的客户端执行 CGI。这个错误代码为 IIS 6.0 所专用。
    403.20 - Passport 登录失败。这个错误代码为 IIS 6.0 所专用。
    404 - 未找到。
    404.0 -(无) – 没有找到文件或目录。
    404.1 - 无法在所请求的端口上访问 Web 站点。
    404.2 - Web 服务扩展锁定策略阻止本请求。
    404.3 - MIME 映射策略阻止本请求。
    405 - 用来访问本页面的 HTTP 谓词不被允许(方法不被允许)
    406 - 客户端浏览器不接受所请求页面的 MIME 类型。
    407 - 要求进行代理身份验证。
    412 - 前提条件失败。
    413 – 请求实体太大。
    414 - 请求 URI 太长。
    415 – 不支持的媒体类型。
    416 – 所请求的范围无法满足。
    417 – 执行失败。
    423 – 锁定的错误。
    5xx - 服务器错误

    服务器由于遇到错误而不能完成该请求。
    500 - 内部服务器错误。
    500.12 - 应用程序正忙于在 Web 服务器上重新启动。
    500.13 - Web 服务器太忙。
    500.15 - 不允许直接请求 Global.asa。
    500.16 – UNC 授权凭据不正确。这个错误代码为 IIS 6.0 所专用。
    500.18 – URL 授权存储不能打开。这个错误代码为 IIS 6.0 所专用。
    500.100 - 内部 ASP 错误。
    501 - 页眉值指定了未实现的配置。
    502 - Web 服务器用作网关或代理服务器时收到了无效响应。
    502.1 - CGI 应用程序超时。
    502.2 - CGI 应用程序出错。application.
    503 - 服务不可用。这个错误代码为 IIS 6.0 所专用。
    504 - 网关超时。
    505 - HTTP 版本不受支持。

    常见的 HTTP 状态代码及其原因

    200 - 成功。 此状态代码表示 IIS 已成功处理请求。
    304 - 未修改。 客户端请求的文档已在其缓存中,文档自缓存以来尚未被修改过。客户端使用文档的缓存副本,而不从服务器下载文档。
    401.1 - 登录失败。 登录尝试不成功,可能因为用户名或密码无效。
    401.3 - 由于 ACL 对资源的限制而未获得授权。 这表示存在 NTFS 权限问题。即使您对试图访问的文件具备相应的权限,也可能发生此错误。例如,如果 IUSR 帐户无权访问 C:\Winnt\System32\Inetsrv 目录,您会看到这个错误。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    187506 (http://support.microsoft.com/kb/187506/) INFO: IIS 4.0 的基础 NTFS 权限
    403.1 - 执行访问被禁止。 下面是导致此错误信息的两个常见原因:
    您没有足够的执行许可。例如,如果试图访问的 ASP 页所在的目录权限设为“无”,或者,试图执行的 CGI 脚本所在的目录权限为“只允许脚本”,将出现此错误信息。若要修改执行权限,请在 Microsoft 管理控制台 (MMC) 中右击目录,然后依次单击属性目录选项卡,确保为试图访问的内容设置适当的执行权限
    您没有将试图执行的文件类型的脚本映射设置为识别所使用的谓词(例如,GET 或 POST)。若要验证这一点,请在 MMC 中右击目录,依次单击属性目录选项卡和配置,然后验证相应文件类型的脚本映射是否设置为允许所使用的谓词。
    403.2 - 读访问被禁止。验证是否已将 IIS 设置为允许对目录进行读访问。另外,如果您正在使用默认文件,请验证该文件是否存在。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    247677 (http://support.microsoft.com/kb/247677/) 错误信息:403.2 Forbidden:Read Access Forbidden(403.2 禁止访问:读访问被禁止)
    403.3 - 写访问被禁止。 验证 IIS 权限和 NTFS 权限是否已设置以便向该目录授予写访问权。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248072 (http://support.microsoft.com/kb/248072/) 错误信息:403.3 Forbidden:Write Access Forbidden(403.3 禁止访问:写访问被禁止)
    403.4 - 要求 SSL。禁用要求安全通道选项,或使用 HTTPS 代替 HTTP 来访问该页面。如果没有安装证书的 Web 站点出现此错误,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    224389 (http://support.microsoft.com/kb/224389/) 错误信息:HTTP 错误 403、403.4、403.5 禁止访问:要求 SSL
    403.5 - 要求 SSL 128。禁用要求 128 位加密选项,或使用支持 128 位加密的浏览器以查看该页面。如果没有安装证书的 Web 站点出现此错误,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    224389 (http://support.microsoft.com/kb/224389/) 错误信息:HTTP 错误 403、403.4、403.5 禁止访问:要求 SSL
    403.6 - IP 地址被拒绝。您已把您的服务器配置为拒绝访问您目前的 IP 地址。 有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248043 (http://support.microsoft.com/kb/248043/) 错误信息:403.6 - Forbidden:IP Address Rejected(403.6 - 不可用:IP 地址被拒绝)
    403.7 - 要求客户端证书。您已把您的服务器配置为要求客户端身份验证证书,但您未安装有效的客户端证书。 有关其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    190004 (http://support.microsoft.com/kb/190004/) 错误 403.7 或“Connection to Server Could Not Be Established”(无法建立与服务器的连接)
    186812 (http://support.microsoft.com/kb/186812/) PRB:错误信息:403.7 Forbidden:Client Certificate Required(403.7 禁止访问:要求客户端证书)
    403.8 - 站点访问被拒绝。您已为您用来访问服务器的域设置了域名限制。有关如何解决此问题的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中相应的文章:
    248032 (http://support.microsoft.com/kb/248032/) 错误信息:Forbidden:Site Access Denied 403.8(禁止访问:站点访问被拒绝 403.8)
    403.9 - 用户数过多。与该服务器连接的用户数量超过了您设置的连接限制。 有关如何更改此限制的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248074 (http://support.microsoft.com/kb/248074/) 错误信息:Access Forbidden:Too Many Users Are Connected 403.9(禁止访问:连接的用户太多 403.9)
    注意:Microsoft Windows 2000 Professional 和 Microsoft Windows XP Professional 自动设置了在 IIS 上最多 10 个连接的限制。您无法更改此限制。
    403.12 - 拒绝访问映射表。 您要访问的页面要求提供客户端证书,但映射到您的客户端证书的用户 ID 已被拒绝访问该文件。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248075 (http://support.microsoft.com/kb/248075/) 错误信息:HTTP 403.12 - Access Forbidden:Mapper Denied Access(HTTP 403.12 - 禁止访问:映射表拒绝访问)
    404 - 未找到。 发生此错误的原因是您试图访问的文件已被移走或删除。如果在安装 URLScan 工具之后,试图访问带有有限扩展名的文件,也会发生此错误。这种情况下,该请求的日志文件项中将出现“Rejected by URLScan”的字样。
    500 - 内部服务器错误。 很多服务器端的错误都可能导致该错误信息。事件查看器日志包含更详细的错误原因。此外,您可以禁用友好 HTTP 错误信息以便收到详细的错误说明。 有关如何禁用友好 HTTP 错误信息的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    294807 (http://support.microsoft.com/kb/294807/) 如何在服务器端禁用 Internet Explorer 5 的“显示友好 HTTP 错误信息”功能
    500.12 - 应用程序正在重新启动。 这表示您在 IIS 重新启动应用程序的过程中试图加载 ASP 页。刷新页面后,此信息即会消失。如果刷新页面后,此信息再次出现,可能是防病毒软件正在扫描 Global.asa 文件。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    248013 (http://support.microsoft.com/kb/248013/) 错误信息:HTTP Error 500-12 Application Restarting(HTTP 错误 500-12 应用程序正在重新启动)
    500-100.ASP - ASP 错误。 如果试图加载的 ASP 页中含有错误代码,将出现此错误信息。若要获得更确切的错误信息,请禁用友好 HTTP 错误信息。默认情况下,只会在默认 Web 站点上启用此错误信息。有关如何在非默认的 Web 站点上看到此错误信息的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    261200 (http://support.microsoft.com/kb/261200/) 显示 HTTP 500 错误信息,而不显示 500-100.asp 的 ASP 错误信息
    502 - 网关错误。 如果试图运行的 CGI 脚本不返回有效的 HTTP 标头集,将出现此错误信息。

  • LoadRunner资料整理(性能测试)

    2008-07-20 07:31:00

    环境搭建

    1.安装LR8.0版本

    a.\doc复制安装包到本地,解压后,里面有2个文件:Loadrunner 8.0 (Web Site Load Test Tool - Good).iso和说明.txt10000并发用户注册码)

    b.用光驱工具(DAEMON Tools)打开iso镜像文件,安装LR

    c.安装过程注意:光驱工具在/doc中的daemon347.exe

                   按默认步骤一步步安装下来

    二.web性能测试计划

    1.性能测试基本概念

       性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

    负载测试和压力测试都属于性能测试,两者可以结合进行。

    通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

    压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

    2.什么时候需要做web性能测试

       一般来说,开发人员或项目经理会提出需求,帮忙测下某个网站或某个功能点的性能如何?所以基本的测试需求和性能标准需要自己来设定。

       首先先了解到测试的范围,如果是整个网站的性能水平,则选择网页流量最多的几个页面,进行页面概率测试,首先判断出该网站流量最大的页面有:首页,下载页,个人管理页,广告页,等等其他页面。页面和页面之间的流量也存在着某种关系。假使用户群的20%会浏览首页,其中20%中的80%会到下载页面,20%会进入个人管理页面,20%会进入广告页面。

       如果是某个功能的测试,可以先进行试探性的测试,可以开始录制基本的脚本。例如测试网站注册功能的性能如何?先得出基本的性能标准。

       这次我要测的是网站的注册性能。首先注册功能的功能测试要全部通过,保证功能上没有问题。然后分析所测对象的模块结构是如何的?注册方式有3种:直接注册,第三方帐号注册,手机注册。其中预期到直接注册和第三帐号的注册量最大,所以测试2种方式下的注册性能如何。那么这次的性能测试范围就是直接注册了。然后在考虑测试环境

       测试工具:LoadRunner工具模拟多用户并发请求注册的客户端请求。那么如何模拟这个压力,如何得出压力过程中网站的是否稳定,事务的失败率是否太大?这些都要在开始压力之前想好。

    3Web性能测试计划

       5W“5W”规则指的是“What(做什么)“Why(为什么做)“When(何时做)“Where(在哪里)“How(如何做)

       做什么:也就是测试范围,测试web注册系统性能是否满足用户需求?

       为什么做:在上线之前,或用户快速增长之后,及早的验证系统是否能支持多用户同时注册,以免在线时才发现系统承载不了。

       何时做:也就是测试任务的时间,基本上要1个星期的时间。

       在哪里:需要2台测试机,一台是web服务(注册系统,linux系统),一台是压力测试专用机(安装LRwindows系统)。另外需要准备一个自己的观察机(远程桌面操作并观察压力2台系统的结果)。

       如何做:也就是测试脚本的录制和测试场景的设置了。有几个问题必须先考虑清楚才开始做,LoadRunner能做些什么?

    a.功能是一个什么流程?用户点击页面->下一步到号码页面->用户输入验证码->设置用户密码->后台注册成功(数据库及日志)->用户注册成功

    b. LoadRunner 通过使用虚拟用户来代替实际用户来减少人员要求。这些Vuser 模拟实际用户的行为(也就是注册)

    c. LoadRunner 联机监视应用程序的性能,使您可以在测试执行期间对您的系统进行微调。从服务器的性能调试还是代码的性能调试。

    d. LoadRunner 在测试过程中会自动记录应用程序的性能。您可以从众多的图和报告中进行选择以查看性能数据。

    e. LoadRunner 可检查出现性能延迟的地方:网络或客户端延迟、CPU 性能、I/O延迟、数据库锁定和数据库服务器上的其他问题。LoadRunner 将监视网络和服务器资源以帮助改进性能。

    f.性能测试并不是12次就能完成的工作,可能需要多轮的场景设置然后观察。

    三.一轮测试的整个过程

    1.规划测试

    也就是刚才所说的性能测试计划,想好第一探测要怎么做,从最表面的性能指标观察(响应时间,定义明确的测试计划确保方案能完成本次测试的目标

    2.创建user脚本

    录制单个用户完成整个功能时所做的动作(用户点击页面->下一步到号码页面->用户输入验证码->设置用户密码->后台注册成功(数据库及日志)->用户注册成功),而且后面的方案需要,可以设置单个用户反复录制该脚本的次数

    3.创建方案(测试场景)

    设置整个压力过程中,客户端请求动作的所有情况,你可以设置用户数量,多个脚本的百分比,而且还可以创建面向目标的方案,在其中定义你希望达到的测试目标,LR将根据你所设置的目标自动为你创建方案。

    4.运行方案(在运行前,先想好需要监视那些数据)

    第一次运行方案时,你可以观察下监视的性能指标图表变化,看是否有太大的异常,因为初次用工具肯定会有些问题,这时候可以查找答案排除问题。

    5.监视方案(LR能满足大部分的性能指标观察,但有些性能指标需要自己写些sh脚本录制)

    你可以观察用户加载数量,事务成功数,系统资源,web资源,WEB服务器资源,web应用程序服务器资源,数据库服务资源,网络吞吐量等。

    6.分析测试结果,得出更有效的下一步测试用例设计

    LR可以记录下不同负载下的性能数据,可以使用图表和报告来分析应用程序的性能,而这一环节也是最难的一步

    四.测试计划

    1.分析应用程序

    分析单用户完成整个功能的过程:用户从客户端机发出请求,网络环境,web服务器响应请求,数据库服务器保存结果

    先不考虑网络环境的瓶颈,在内网中进行性能测试

    2.定义测试目标

    度量最终用户的响应时间:完成一个注册需要多长时间

    定义最优的硬件配置:哪一种硬件配置可以提供最佳性能

    检查可靠性系统:无错误或无故障运行的时间长度或难度

    度量系统容量在没有显著性能下降的前提下,系统能够处理多大的负载:确定瓶颈哪些因素会延长响应时间

    3.计划测试实施方案

    定义用户的活动,一个用户的请求可以定义为一个事务,而且可以在脚本中设置集合点:指示多个用户同一时刻执行。

    4.检测测试目标

     度量最终用户响应时间:从客户端请求到服务器响应完毕所花费的时间

     定义最优的硬件配置(服务器的):检查各项系统配置对性能测试的影响

     检查可靠性:确定系统在高工作长期负载下的稳定性级别

    确定瓶颈(客户端,网络,服务器,数据库服务器,程序)

    五.录制脚本

    虚拟用户模拟实际用户的操作,开始录制(urlaction,在页面上操作,完成注册后,停止脚本录制。就可以得出整个虚拟用户注册过程客户端部分的行为录制了。

    录制基本的vuser脚本

    VuGen 通过录制浏览器和 Web 服务器之间的活动来创建 Web Vuser 脚本。VuGen 监控系统的客户端(浏览器),并跟踪所有发送到服务器以及从服务器接收的请求。

    VuGen 中或从 LoadRunner Controller 运行录制的 Vuser 脚本时, Vuser 将与服务器直接通信,无需依赖客户端软件。而 Vuser 脚本则通过 API 函数直接执行对 Web 服务器的调用。

    过程:新建脚本->设置录制选项为action>录制浏览网站时执行的操作->终止操作

    增强并编辑脚本

    通过插入事务、集合点、检查和服务步骤来增强 Vuser 脚本。需要的话还可以定义参数(有变量时),vuser_init vuser_end 部分通常用于录制服务器登录和注销过程。

    配置运行时设置

    以独立模式运行vuser脚本

    调试脚本,查看脚本是否有错。

    脚本保存,以便集成到LR方案中

    保存脚本。

    六.设置方案

    1.选择方案类型

    选择下列两个选项之一:

    a.手动方案:如果要生成手动方案,请选择此方法。通过创建组并指定脚本、负载

    生成器和每组中包括的 Vuser 数,可以生成手动方案。

    使用百分比模式在脚本间分配Vuser,如果要通过指定许多要在选定 Vuser

    本间分配的 Vuser 来生成手动方案,请选择此选项。

    b.面向目标的方案:选择此方法可让 LoadRunner 为您生成方案。在面向目标的方

    案中,可以定义通过测试要实现的目标, LoadRunner 将根据这些目标自动生成

    方案。

    2.选择脚本

    选择刚刚保存录制的脚本

    3.设计方案

    a.“方案计划窗格显示了与计划配置文件有关的信息:名称、计划模式、方案持

    续时间、负载行为和方案中要使用的 Vuser 总数。负载预览显示已定义方案

    计划的预览图。

    主要用途是设置虚拟用户的加载数,以及用户随着时间的增长如何加载用户数量(上升虚拟用户数,保持最高用户数,下降讯用户数),而且可以指示 LoadRunner 在一段延迟之后开始执行方

    案。您可以指定让 LoadRunner 自发出Run命令以来等待的分钟数,也可以指定让方案开始的特定时间。

    设置相同的时间加载一定的用户数量,直到全部加载完毕为止,这样设置的目的是为了方便记录用户数量明显增大时,性能指标的变化情况。

    b.“方案脚本窗格列出了所有启用和禁用的 Vuser 脚本、脚本路径、负载生成器

    计算机以及分配给每个脚本的 Vuser 在总数中所占的百分比。

    4.预设计方案输出窗口,监视vuser状态。需要加进你想要的性能指标图表

    七.执行方案

    开始执行方案,保存执行方案的结果。方案将会持续你所设计的时间限制,也可以在中途手工停止或某些条件下停止。

    八.监视方案

    1.运行时和事务监视

    a.正在运行的用户数,已加载时间,每秒点击次数(表明每个 Vuser 所运行的每一秒钟内对测试的网站有多少次点击(HTTP 请求)),通过的事务数,失败的事务数,错误数(点击后可看到具体的错误日志)。

    b.事务监视图

    事务响应时间

    每秒事务数(通过)

    每秒事务数(失败、停止)

    每秒事务总数(通过)

    2Web 资源

    每秒点击次数图:每秒点击次数图将点击(HTTP 请求) Web 服务器的次数显示为方案已用时间的函数。可将此图与事务响应时间图进行比较,以查看点击次数对事务性能产生的影响。

    吞吐量图:吞吐量图显示 Web 服务器在 方案运行的每一秒中的吞吐量。吞吐量的度量单位是字节,表示

  • 开发与测试常见问题与建议

    2008-07-17 09:45:58

    1、存在问题:模块与模块之间没有做好联调,集成测试需要经过多次代码修改才能完成烟雾测试 
      
    解决建议:(1 各模块的开发负责人在进行模块设计和代码编写的时候,主动和与该模块相关的其它模块负责人交流、讨论接口交互规则和存在的疑问。我们的开发目前对自己的模块都很清楚和负责,也非常配合问题追踪以及修改问题,如果大家在此基础上多点主动与互动,产品的开发效率和质量就会更高了。(2 在各模块单元测试完成后,由项目负责人或测试负责人协调搭建项目联调环境,协助各模块进行联调测试。(3 在正式测试前一天,由项目负责人或测试负责人检查联调环境,确认系统基本功能已经实现,也就是说代码提交测试时确保项目是可work的。
    2
    、存在问题:部分模块未能按时提交代码,测试不能如期开始 
       解决建议:(1 项目启动前由项目经理和项目负责人一起根据工作量及项目需求确定开发计划,各模块负责人树立起提交代码的deadline的时间观念,在deadline前提交经过单元测试和联调的代码,并提交该模块的安装文档、功能说明文档和错误代码说明文档。(2 对于因为其他工作不能如期提交的模块,提前通知项目经理和测试负责人。同时,项目负责人或测试负责人及时跟进项目进度,协助各模块负责人解决存在问题以及提供必要的资源。
    3
    、存在问题:部分模块的设计或代码实现不符合网关小组规范 
       解决建议:(1 模块负责人在设计和代码实现的时候,建议使用网关小组目前的规范,一方面,可以充分利用前辈们留下的资源;另一方面,一个团队中,每个人都有自己的特色,如果大家都不遵循规则,那一个产品的代码和设计风格就五花八门了,不利于以后的维护和产品的整理架构。(2 在项目启动前,由项目负责人或测试负责人制定相关规范,大家讨论认为合理后遵循该规范进行设计和编码。
    4
    、存在问题:bug的修改引进了新的问题 
      
    解决建议:(1 开发在修改bug的时候,通盘考虑与该bug相关联的情况,避免因为修改bug而引进其它问题,确保代码修改质量。(2 开发修改bug 之后,在联调环境进行单元测试或联调测试,初步验证该问题已经解决再提交代码。
    5
    、存在问题:测试人员对业务流程不够熟识 
      
    解决建议:(1 测试负责人在需求阶段开始跟进项目,了解项目需求、设计思想和业务流程,在测试前对负责该产品测试的其他测试人员进行业务培训。同时测试相关人员也认真阅读相关需求和规范文档,主动与开发确认业务处理细节。(2 测试前组织一次产品介绍,由项目经理对产品的主要功能和设计思想进行介绍,同时由模块负责人对该模块实现的功能和设计思想进行介绍,听取大家的建议后对模块进行改进。(3 在测试前进行一次开发与测试之间的face to face业务培训,由各模块负责人讲解该模块业务处理流程、某业务流程触发的条件及结果、该模块所使用的配置文件,测试与开发对业务流程进行face to face的交流和讨论。在交流之前,测试人员先阅读相关文档,对业务有一个初步的认识。(4 开发在提交代码的同时,提交一份功能说明文档和单元测试或联调测试案例说明文档。
    6
    、存在问题:在测试阶段讨论本应该在设计阶段讨论的问题 
      
    解决建议:(1 在开发完成设计后,由项目负责人和测试负责人对设计文档进行审核,记录不合理的设计或疑问,反馈给模块负责人。(2 开发在完成设计后对设计进行介绍,项目负责人、测试负责人或其它相关人员对设计不合理的地方提出修改建议,并对存在歧义的问题进行讨论。
    7
    、存在问题:开发与测试之间对问题存在严重分歧 
      
    解决建议:(1 对于小的问题可以简单做记录然后搁置处理。(2 对于原则性的问题,组织一次face to face讨论,通过良性的free talking对问题的解决达成一个共识。对于不能达成共识的问题,由项目经理或少数服从多数的原则确定解决方案。在大家意见存在严重分歧的情况下,的确需要有一个角色对问题进行衡量之后做最后的定夺,否则这个讨论就得不到更好的解决,继续讨论也比较浪费时间。
    8
    、存在问题:需求或规范定义不明确 
      
    解决建议:(1 需求或规范存在疑问时,及时提出并与项目相关人员讨论,对于未能解决的疑问由项目负责人或测试负责人统一收集,向需求人员或工程人员一一确认。(2 使用配置项灵活实现模糊的需求或规范。

  • 自我激励的二十种方法【转】

    2008-07-07 11:04:34

    1、离开舒适区
      不断寻求挑战激励自己。提防自己,不要躺倒在舒适区。舒适区只是避风港,不是安乐窝。它只是你心中准备迎接下次挑战之前刻意放松自己和恢复元气的地方

      2、把握好情绪
      人开心的时候,体内就会发生奇妙的变化,从而获得阵阵新的动力和力量。
      但是,不要总想在自身之外寻开心。令你开心的事不在别处,就在你身上。因此,找出自身的情绪高涨期用来不断激励自己。

      3、调高目标
      许多人惊奇地发现,他们之所以达不到自己孜孜以求的目标,是因为他们的主要目标太小、而且太模糊不清,使自己失去动力。如果你的主要目标不能激发你的想象力,目标的实现就会遥遥无期。因此,真正能激励你奋发向上的是,确立一个既宏伟又具体的远大目标。

      4、加强紧迫感
      20世纪作者Anais Nin(阿耐斯)曾写道:"沉溺生活的人没有死的恐惧".自以为长命百岁无益于你享受人生。然而,大多数人对此视而不见,假装自己的生命会绵延无绝。惟有心血来潮的那天,我们才会筹划大事业,将我们的目标和梦想寄托在enis Waitley(丹尼斯)称之为 "虚幻岛" 的汪洋大海之中。其实,直面死亡未必要等到生命耗尽时的临终一刻。事实上,如果能逼真地想象我们的弥留之际,会物极必反产生一种再生的感觉,这是塑造自我的第一步。

      5、撇开朋友
      对于那些不支持你目标的 "朋友" ,要敬而远之。你所交往的人会改变你的生活。与愤世嫉俗的人为伍,他们就会拉你沉沦。结交那些希望你快乐和成功的人,你就在追求快乐和成功的路上迈出最重要的一步。对生活的热情具有感染力。因此同乐观的人为伴能让我们看到更多的人生希望。

      6、迎接恐惧
      世上最秘而不宣的秘密是,战胜恐惧后迎来的是某种安全有益的东西。哪怕克服的是小小的恐惧,也会增强你对创造自己生活能力的信心。如果一味想避开恐惧,它们会象疯狗一样对我们穷追不舍。此时,最可怕的莫过于双眼一闭假装它们不存在。

      7、做好调整计划
      实现目标的道路绝不是坦途。它总是呈现出一条波浪线,有起也有落。但你可以安排自己的休整点。事先看看你的时间表,框出你放松、调整、恢复元气的时间。即使你现在感觉不错,也要做好调整计划。这才是明智之举。在自己的事业波峰时,要给自己安排休整点。安排出一大段时间让自己隐退一下,即使是离开自己爱的工作也要如此。只有这样,在你重新投入工作时才能更富激情。

      8、直面困难
      每一个解决方案都是针对一个问题的。二者缺一不可。困难对于脑力运动者来说,不过是一场场艰辛的比赛。真正的运动者总是盼望比赛。如果把困难看作对自己的诅咒,就很难在生活中找到动力。如果学会了把握困难带来的机遇,你自然会动力陡生。

      9、首先要感觉好
      多数人认为,一旦达到某个目标,人们就会感到身心舒畅。但问题是你可能永远达不到目标。把快乐建立在还不曾拥有的事情上,无异于剥夺自己创造快乐的权力。记住,快乐是天赋权利。首先就要有良好的感觉,让它使自己在塑造自我的整个旅途中充满快乐,而不要再等到成功的最后一刻才去感受属于自己的欢乐。

      10、加强排练
      先"排演"一场比你要面对的珲要复杂的战斗。如果手上有棘手活而自己又犹豫不决,不妨挑件更难的事先做。生活挑战你的事情,你定可以用来挑战自己。这样,你就可以自己开辟一条成功之路。成功的真谛是:对自己越苛刻,生活对你越宽容;对自己越宽容,生活对你越苛刻。

      11、立足现在
      锻炼自己即刻行动的能力。充分利用对现时的认知力。不要沉浸在过去,也不要耽溺于未来,要着眼于今天。当然要有梦想、筹划和制订创造目标的时间。不过,这一切就绪后,一定要学会脚踏实地、注重眼前的行动。要把整个生命凝聚在此时此刻。

      12、敢于竞争
      竞争给了我们宝贵的经验,无论你多么出色,总会人外有人。所以你需要学会谦虚。努力胜过别人,能使自己更深地认识自己;努力胜过别人,便在生活中加入了竞争 "游戏 " .不管在哪里,都要参与竞争,而且总要满怀快乐的心情。要明白最终超越别人远没有超越自己更重要。

      13、内省
      大多数人通过别人对自己的印象和看法来看自己。获得别人对自己的反映很不错,尤其正面反馈。但是,仅凭别人的一面之辞,把自己的个人形象建立在别人身上,就会面临严重束缚自己的危险。因此,只把这些溢美之词当作自己生活中的点缀。人生的棋局该由自己来摆。不要从别人身上找寻自己,应该经常自省并塑造自我。

      14、走向危机
      危机能激发我们竭尽全力。无视这种现象,我们往往会愚蠢地创造一种追求舒适的生活,努力设计各种越来越轻松的生活方式,使自己生活得风平浪静。当然,我们不必坐等危机或悲剧的到来,从内心挑战自我是我们生命力量的源泉。圣女贞德(Joan of Arc)说过:"所有战斗的胜负首先在自我的心里见分晓。"

      15、精工细笔
      创造自我,如绘巨幅画一样,不要怕精工细笔。如果把自己当作一幅正在描绘中杰作,你就会乐于从细微处做改变。一件小事做得与众不同,也会令你兴奋不已。总之,无论你有多么小的变化,点点都于你很重要。

      16、敢于犯错
      有时候我们不做一件事,是因为我们没有把握做好。我们感到自己"状态不佳"或精力不足时,往往会把必须做的事放在一边,或静等灵感的降临。你可不要这样。如果有些事你知道需要做却又提不起劲,尽管去做,不要怕犯错。给自己一点自嘲式幽默。抱一种打趣的心情来对待自己做不好的事情,一旦做起来了尽管乐在其中。

      17、不要害怕拒绝
      不要消极接受别人的拒绝,而要积极面对。你的要求却落空时,把这种拒绝当作一个问题: "自己能不能更多一点创意呢?"不要听见不字就打退堂鼓。应该让这种拒绝激励你更大的创造力。

      18、尽量放松
      接受挑战后,要尽量放松。在脑电波开始平和你的中枢神经系统时,你可感受到自己的内在动力在不断增加。你很快会知道自己有何收获。自己能做的事,不必祈求上天赐予你勇气,放松可以产生迎接挑战的勇气。

      19、一生的缩影
      塑造自我的关键是甘做小事,但必须即刻就做。塑造自我不能一蹴而就,而是一个循序渐进的过程。这儿做一点,那儿改一下,将使你的一天(也就是你的一生)有滋有味。今天是你整个生命的一个小原子,是你一生的缩影。

      20、大多数人希望自己的生活富有意义。
      但是生活不在未来。我们越是认为自己有充分的时间去做自己想做的事,就越会在这种沉醉中让人生中的绝妙机会悄然流逝。只有重视今天,自我激励的力量才能汩汩不绝。
  • 测试需求分析的步骤

    2008-07-07 10:29:57

    1 、 熟悉需求背景及商业目标:

    a)   了解清楚项目发起的原因,是为了解决用户的什么问题。

    b)   当前的解决方案是不是最优的,为什么会这样做。

    2 、业务模型法:

    a)  考虑本项目与外部系统的交互,划分系统边界(除了本项目的需求中要求做的事情,其他的都可以是外部系统,本系统和外部系统之间的交互就是系统的边界),。可以参考系统分析说明书。

    b)  确定测试范围和关注点。系统的边界是测试的重点,特别需要关注边界交互时的数据交互。

    3 、业务场景法:

    a) 考虑用例的调用者;考虑每一个用例提供的服务是供哪些外部用例或者系统调用,找出所有的调用者。调用的前提、约束都要考虑。每一个调用都可以考虑成一个大的业务流程。(一般和外部有交互的用例出错的概率比较大,需要重点关注。具体被哪些外部调用,每个产品线都需要自己整理添加。)

    b) 考虑系统内部各个用例之间的交互(有可能 PD 划分用例的粒度不同,我们暂时考虑用户一次提交并且系统的状态及数据发生变化的功能是一个用例),形成内部业务流程图。需要分析每个用例之间的约束关系、执行条件,组织出各种业务流程图。

    4 、功能分解法(对每一个 UC ):

      1. 业务功能:与用户实际业务直接相关的功能 或细节。

      2. 辅助功能:辅助完成业务功能的一些功能或者是细节,比如,设置过滤条件。

      3. 数据约束:功能的细节,主要是用于控制在执行功能时,数据的显示范围、数据之间的关系等。

      4. 易用性需求:功能的细节,产品中必须提供了,便于功能操作使用的一些细节,比如快捷健就是典型的易用性需求。

      5. 编辑约束:功能的细节,在功能执行时,对输入数据项目的一些约束性条件,比如只能输入数字。

      6. 参数需求:功能的细节,在功能中,需要根据参数设置不同,进行不同处理的细节。

      7. 权限需求:功能的细节,这里的权限是指在功能的执行过程,根据根据不同的权限进行不同处理的,不包括直接限制某个功能的权限。

    性能约束:功能的细节,执行功能时,必须满足的性能要求,目前基本不涉及(因为无法量化)。
  • 【译】测试人员应对开发人员的几个要点

    2008-07-07 10:24:15

    当一个测试人员证实了程序里充满bug的时候,他是一个好的还是一个糟糕的测试人员呢?在某些开发人员看来,这是一份糟糕的工作。看上去荒谬可笑,因为项目经理等人会因产品的延期交付而责备测试人员,而且开发人员会抱怨(通常是以玩笑的形式):“测试人员对于程序过于较真。”因此很明显的,还有比计bug数更好的测试方法。这里是一些测试人员如何应对开发人员的小窍门。

    当我作为一个测试人员开始我的工作时,我意识到在开发人员和测试人员之间存在一种持久的对抗关系,而且我毫不费力的相信了:这太常见了!我接受开发人员不欢迎的态度,因此我认为所有的测试人员在他们工作的不同时刻都会有相同的经历。从冷漠的不屑一顾到坦白的敌对相视(有时掩饰以同情的微笑),一个测试人员不得不忍受开发人员很多。这样很难保持测试人员积极的态度。但我们测试人员积极的态度取决于我们保持的优先权和保证项目质量的责任。我从Cem Kaner的《计算机软件测试》一书中摘得一句优美的话:“最好的测试人员不是发现了最多个bug或者使最多的开发人员感到不安的那个人,而是使开发人员fix最多bug的那个测试人员。”那么,我们从中能得到什么样的启发呢?

    态度诚恳,有耐心。

    作为一个测试人员,你也许发现说服一个开发人员修改你发现的缺陷比你发现缺陷本身更难。通常情况是,测试人员发现一个bug,开发人员会准备好十个理由来反驳。对于开发人员而言。有时很难接受自己的代码有缺陷这一事实——即便是另外一些人已经查明确实如此。开发人员需要测试团队的支持,他们能说服开发人员发现一个新的bug,对于尽可能使产品达到最好这一目的,是想望的、具有建设性的并且是非常重要的。采用一种人性化的方式,将更有利于测试人员了解开发人员。相信我,没有这样的一个人会和你坐在一起嘲笑他自己引出的bug。诚恳地态度常使开发人员说:“是吗?多亏你的bug报告,我得到一个非常重要的进步!”

    要善用交际手段。

    试着机智圆滑的展示你发现的bug并不带任何抱怨的解释它:“我肯定这是一个很小的bug,你会马上解决掉它。这是迄今为止非常完美的程序。”开发人员会非常欢迎解决它。

    要善于采取心理战术,

    时不时地赞美开发人员的工作。大多数开发人员不喜欢我们的bug报告的原因很简单:他们认为我们破坏了他们的辛勤劳动的成果。一些测试人员在只有发现问题的时候才与开发人员交流。对于开发人员而言,软件就像自己的孩子,而你测试人员只是一个外来的干预者。我告诉我的开发人员因为他们我才能留在公司,并且因为我,他们工作上的失误才能得以补救。这是在开发人员和测试人员之间的一种具有象征意义并且非常有益的关系。

    不要使开发人员不安。

    没有人喜欢别人指出自己的错误,这是人的本性。试着解释fix某个bug的具体办法,譬如需要一个大的图片,远比自顾自的提一大堆bug报告好的多。一大堆的缺陷报告不仅不能使开发人员着急,还会使你的辛苦工作在他们看来毫无用处。就像测试人员不能对程序测试完全一样,开发人员也不可能设计出没有错误的程序。他们比需要其他事情更强烈的需要测试人员的理解。我们期望出现错误,因为他们是整个过程的一部分。

    有得必有失

    我知道测试人员尽可能的将bug报告提的很严格。他们甚至不去听取开发人员关于这个bug不能fix或者是为了实现某个特性的解释。试着让自己放松下来,坐下来和开发人员一道分析这个bug的优先级和严重程度,如果这个开发人员对于不乐意修改这个bug有合理的和明智的解释的话,试着去理解他。只是要确保哪里是保证产品质量的底线。

    警惕心理

    外交手段和弹性应对并不能替换必需的警惕心理。开发人员经常找理由解释他们拒绝fix一个bug时,说因为他们没有意识到(或者你没有告诉他们)这个问题有多严重。设计你的bug报告和测试文档,使其能清楚地显示出问题的风险和严重程度。甚至更好的办法是召开一次会议,向开发人员解释这个bug。一个聪明的测试人员是一个在聆听与表达之间取得一个平衡的人。如果一个开发人员不能说服你不fix一个bug时,说服他fix这个bug就是你义不容辞的责任了。

  • BugFree2.0安装教

    2008-07-02 19:05:20

    1、安装目录不要有中文(比如安装在“c:\WEB服务器”是不恰当的)

    2、安装目录不要有空格(比如安装在“c:\Green AMP”是不恰当的)

    3、登录phpmyadmin系统的默认用户名是root,密码为空
      请执行“3管理数据库.bat”,及时修改数据库密码防止被攻击
       (修改密码时请用MySQL 4.0 兼容方式,否则会登录不上服务器)
      请记住修改后的密码,下次登录phpmyadmin时需要用新密码登录
       另外安装bugfree也需要这个用户名和密码
       
    4、安装Bugfree时需要MySQL的用户名和密码
       登录phpmyadmin(管理数据库)时用到的用户名和密码就是MySQL的默认用户名和密码
       当然你也可以执行“3管理数据库.bat”,添加一个专门用于bugfree的用户名和密码

    5、登录Bugfree系统的默认用户名是admin密码是123456

    6、安装过程遇到问题,请先查阅以下资料,再到论坛提问。

    BugFree常见问题解答(FAQ):
    http://bugfree.1zsoft.com/Doc/FAQ.htm

    BugFree帮助文档索引
    http://bugfree.1zsoft.com/Doc/

    BugFree1.0 常见问题解答(FAQ)
    http://forum.1zsoft.com/viewtopic.php?id=418

    AMP-Bugfree下载地址: http://www.fztj.net/AMP-Bugfree.rar
    http://bugfree.1zsoft.com/Download/AMP-Bugfree.rar

    BugFree2.0测试版已经可以下载。大家可以到下面地址下载试用。http://www.bugfree.org.cn 

    BugFree2.0与BugFree1.1相比,主要增加了测试用例和测试结果的管理,涵盖了整个测试的流程。应该是开源软件里面第一款集成了Bug管理和Case管理的软件。

    由于身体原因,我只参加了BugFree2.0前期的讨论和数据库设计。后期的开发、测试就没有参与。在此感谢振飞、玉鹏、立川这半年多来的辛苦工作,同时也要感谢谢兄,给BugFree换上了漂亮的外观。

    由于BugFree2.0的需求和讨论和我初期参加时已经有很大的变化,因此关于BugFree2.0的问题、下载、讨论,请大家去以下站点:http://www.bugfree.org.cn 。原来的http://bugfree.1zsoft.com 切换到http://www.bugfree.cn,将只提供BugFree1.1版本及之前的下载和支持。

    后面我关于BugFree的计划:

    1. 不再参与BugFree2.0后续版本的开发和维护工作。
    2. 如果有时间,会着手做一些BugFree和其他工具集成的工作。
    3. 如果还有时间,会做一些BugFree1.x版本后续的一些完善工作。目标人群是不需要使用BugFree2.0里面的Case和Result管理功能的用户。

    1. BugFree2.0支持网站:http://www.bugfree.org.cn
    2. BugFree2.0讨论论坛:http://www.bugfree.org.cn/forum/
    3. BugFree1.x支持网站:
    4. BugFree1.x讨论论坛:
    http://forum.1zsoft.comhttp://www.bugfree.cn

  • 第四章 逻辑运算和判断选取控制

    2008-06-24 11:25:07

    好久没有上来了,把本周学习c语言程序笔记整理了一下;

    1. 关系运算符:

    c提供6种关系运算符(> < <= >= == != )前四种优先级高于后两种。

    2. If语句

    C提供了三种形式的if语句
    If(表达式) 语句
    If(表达式) 语句1 else 语句2
    If(表达式1) 语句1
    Else if(表达式2) 语句2

    else 语句n

    3. 条件运算符

    (a>b)?a:b 条件为真,表达式取值a,否则取值b

    4. Switch语句

    Switch(表达式)
    {
    case 常量表达式1:语句1; break;
    case 常量表达式2:语句2; break;
    case 常量表达式n:语句n; break;
      default :语句n+1;
    }

  • 测试人员如何赢得开发人员的尊重

    2008-06-15 23:09:12

    1开发人员是一个比较单纯的人员,他们衡量一个人价值的方法是你的技术实力,因此好水平的测试人员很容易赢得开发人员的尊重

    2测试人员赢得开发人员尊重的方法首先是做好自己的工作,即掌握测试方法,并且可以发现系统的问题(bug)

    3测试人员赢得开发人员注重不但要能发现问题,而且可以重现问题,这是一个比较关键的问题,对于不能每次都

    重新的问题,也要搞清楚什么条件下问题出现的概率比较大

    4测试人员不但要能发现问题,而且要能描述问题发生时的情况,包括设备情况,系统配置,操作过程,问题出现的情况

    5测试人员会使用自动化测试工具,提高测试覆盖率,而自动化测试工具实际是需要编程能力,如果你熟练掌握这些工具说明和开发人员已经没有本质的区别

    6测试人员掌握开发人员不掌握的技能,比如性能测试的原理\方法\工具,这些东西在项目前期的技术验证都可以给开发人员提供很大的帮助,

    7测试人员要了解系统架构等开发方面的知识,这些知识不是开发人员所独有的,作为高级测试人员这些知识是必备,这些知识的掌握不但可以提高测试人员的技术水平,而且缩小了测试人员和开发人员差距

    8测试人员要掌握软件质量保证的知识,测试的高级阶段就是软件质量保证,而软件质量保证会含盖开发的全过程,掌握软件质量保证实际从项目的需求阶段就可以参与开发,另外多说一句,很多公司质量保证和测试实际是不分家的

    9掌握开发技术,测试人员如果掌握开发技术,实际上增强了bug查找和定位能力,很多时候,有经验的测试人员可以通过bug表现形式说出问题发生的原因,这没有什么新鲜的,如果你有开发经验,这些问题估计就是你犯过的错误,或者是你长期测试积累的知识,

    你要有了以上几点能力,还怕开发人员不尊重你这个测试人员吗?

  • 怎样制作高水准的个人求职简历?【转】

    2008-06-14 09:19:00

    一、简历种类

        1. 中式。

        如果中英文简历一起递交,建议中文不写政治面貌,因为如果去外企工作,背景中的政治色彩越少越好,起码没必要让老外知道。

        性格是一个主观的东西,有经验的招聘人员从来不相信任何人自己写的性格, 因为它不是一个硬性的东西,不象学历、技能。有些人如果认为要招聘一个比较活跃一点的,便会在简历中写性格开朗,有的是真相信自己性格开朗,有的是觉得写上开朗更好,其实没必要。

        身高体重,向外资求职时,就不必写了,因为属于特别隐私性的内容,写了显得不了解国外文化。

        2.港式。

        香港出版的简历书写技巧书籍中都要求写年龄、婚否,报纸的招聘广告中还要求求职者写上工资现状及预期工资,这些都属于隐私问题,美式简历则不要求提供这些信息。

        3.英式。

        很接近港式,但个人资料没有港式说得那么多,篇幅长但不详细,我们这里不做过多评论。

        4.美式。

        国际大公司中比较流行,一页纸,是我们重点参考的样式。美式简历书写格式也有十几种,有些书籍登载了上百种样本,但我们所介绍的式样是美国大公司中比较流行的,如华尔街的投资银行、大的咨询公司、工业公司、制造业公司、营销业公司等都采用这种式样;同时,我们也参考了三个名牌学校 —— 哈佛商学院、沃顿商学院和哥伦比亚商学院的简历样本,式样大同小异,这里主要以哈佛商学院的为主。

     

    二、简历要领

        1.招聘人员怎样鉴别简历?

        写得好,当然要保留,如果其背景又是公司急需的,可能马上就要见;写得不好的,就会丢掉,实际上,连看都不看。任何一个知名的大公司,每天都有成百上千人递简历,如果写得太差,根本就不值得保留。因为这些公司认为,一个人连自己的简历都写不好,将来进了公司,对外行文质量不够;对内说件事情也说不清楚,公司肯定不要这样的人。大家经常说大公司的人训练有素,实际上这也是其中一方面。即使不进大公司,简历写得不好,也会显得不懂基本格式,没有智慧。

        2.YRIS 原则。

        Your resume is scanned, not read. (“YRIS”)。

        一方面简历要写得好,另一方面招聘人员看简历只是扫描式的,最初看也就是几秒钟左右,写得不好就扔了。这儿你就会问了:“写得好,短时间他看不出来怎么办?”不用担心,他们是可以看出来的,因为招聘人员每天干的就是这一行,如果您怀疑他看不出来,说明两点:第一,您对招聘人员的工作性质还不了解。假设您是司机,经常走北京那么多胡同,自然就记住了,而一般人就会觉得很难记;第二,说明您对行文格式、专业写作形象还不熟悉。我们见到,美国很多职位很高的大老板,在看他的下属写的东西时,一点点小错,哪怕换了一种字体,漏了一个逗号,多了一个空格,都能及时指出来,说明他们的眼很尖,速度很快,您要是怀疑的话,说明您对这个领域还很不熟悉,那么您需要做的工作就很多了。即使您进了这种公司,也要在这方面下工夫,否则,很难成为他们当中合格的一员。另外,YRIS 原则还说明写的内容千万不要多,而且要控制在一页内,因为没有人会认真看您的简历。关于这两点,我们在后面有时还会提到。

        3.简历中的任何字句,都有可能成为面试中的话题。

        一定要有把握的才写,没有把握的不要写,要实事求是,千万不要夸张。外资公司是最忌讳撒谎的,一旦让他觉得你在撒谎,你就丧失了进入这个公司的资格。比如说,你在简历中写了你会讲日语,凡是派到国外来的老外,有的人不一定会说中文,但会一两门外语的人大有人在,不定撞到什么人手上。

     

    三、格式结构

        包括页眉部分、教育背景、工作经历和个人资料四部分,在后面分四个章节讲。

        如果已经有全职工作了,一定把工作经历放在第二;如果您目前还是在校学生,应该把教育背景放在第二。举个例子,一个美国商学院的学生,在一个很大的公司里工作了三年,不断得到提升,从未换过工作;由于新换了老板,他想换个工作,猎头让他把简历传过去,传过去后几天迟迟没有消息,他问为什么,猎头左找右找,终于在学生类的简历里找到了他的简历。原来,他用的是学生简历的格式,被当作了在校生。所以,作为在职人员,若把教育背景放在前面,人家会对你很不重视。

     

    四、页眉部分

        1.名字。

        通常有 7 种写法,我们认为都有可接受的原因,或适合用的地方。比如说第四种 —— Yang Li(李阳),很方便招聘人员,尤其是人事部经理为中国人,声调弄错了或者名和姓搞不清楚,会很尴尬;但标准的、外资公司流行的、大家约定俗成的简历中的名字写法,则是第二种,YANG LI。

        我们在审阅了大量的中国人的简历之后,发现一个非常值得纠正的地方,就是有人用粤语拼写自己的姓氏。比如,王写成 Wong,李写成 Lee。这里要告诉大家两点:一个是这只是香港人的拼法,并不是国际的拼法;第二是将来您办护照准备出国时,公安局是不会批准您用粤语拼音的。但是,我们也见到一些出过国的中国人,由于种种原因,他们的姓和汉语拼音并不一样,那是各有各的原因,我们建议不用汉语拼音以外的写法。

        另外,也发现有少量一部分人用外国人的姓,如 Mary Smith,也是非常不可取的。因为如果你用外国人的姓,别人会认为你是外国人,或者你父亲是外国人,或者你嫁给了外国人。名字用英文是很常见的,也是很方便的,尤其是名字拼音的第一个字母是q、x或z,老外们很难发出正确读音的字母。有个叫王强的先生,名片上印着 John Wang,这样,中外人士叫起来都很方便。

        名和姓之间,如果有英文名,中文名可以加,也可以不加,或者用拼音的第一个字母简称。

        双字名,也有四种写法,我们建议用第三种,Xiaofeng,最简单方便。大家一看就知是名而不是姓,要不然,大家有可能会误认为你是姓肖的。

        2.地址。

        北京以后要写中国。很多人说:“谁不知道北京呀!”但一个完整的地址、全球畅通的邮址应该是加国名的,但不必用 PRC 等,因为用 China 简单清楚。邮编的标准写法是放在省市名与国名之间,起码放在 China 之前,因为是中国境内的邮编。

        3.电话。

        写法很有讲究,中国人名片中的电话经常写得不清楚、不专业,有几点提醒大家注意:

        前面一定要加地区号,如(86-10)。因为您是在向外国公司求职,您的简历很可能被传真到伦敦、纽约,大家不知道您的地区号,也没有时间去查,如果另一位求职者的电话有地区号,招聘者很可能先和这个人沟通。另外,国外很流行“user friendly”,即想尽办法给对方创造便利,尤其是在找工作时,更要加深这一意识。用中国人的思维逻辑来解释,“是你求他,而不是他求你”。

        八个号码之间加一个“-”,如 6505-2266。这样,认读拨打起来比较容易,否则,第一次打可能会看错位。

        区号后的括号和号码间加空格,如(86-10) 6505-2266。这是英文写作格式的规定,很多人忽略了,甚至不知道。

        写手机号码或者向别人通报手机号码时,也有一定的规范,要用“3-4-4原则”,如“138-0135-1234”。我们追求的是国际规范。

        传真号千万不要留办公室的,免得办公室的同事都知道你想跳槽。如果家里有传真号,最好告诉对方,万一他找不到你,可以发几个字,比较快;将来对方发聘书或材料时,比较方便。不要等到将来再给,我们应该从现在起就培养“user friendly”的意识,处处方便对方。

        国外很流行留言电话,有人为找工作,专门去买留言电话。这里顺带讲一下留言文化,中国人甚至包括很多亚洲人,都不习惯使用留言电话,但随着国际间商业文化交往的增多,愿意在电话中留言的人越来越多了,留言技巧也越来越高了。

        家中老人试写留言条。经常会出现这么一种情况:您出门了,朋友打来电话,回来时,妈妈告诉你:“今天有人来电话找你。”你会问:“谁来的?”一般她只会告诉你:“是个男的”或“是个女的”。当你问到:“您怎么不问一问他的电话呀?”妈妈往往会回答:“我还没问呢,他就挂了。”这里我们要说两点:一是要跟家长交流一下写留言条的方式,就是怎么接听电话及写留言条;第二,这里有一个中国的传统观念。以前,只有办公室才有电话,打电话来的人一般都是找你办事的,接听电话的人总觉得高高在上,并且形成了习惯。这种习惯带到家里,甚至在年轻一代中也很流行。很多人接听电话时,若没能及时识别出对方身份,起初语气往往非常冷漠。在这里,我们向全社会建议:任何给您打电话的人,都有可能是您的朋友、同事或者合作伙伴,即便目前不是,将来大部分都有可能成为他们中的一员,所以,务必热情对待每一个电话。另外,换个角度想:如果您打电话给别人,别人是这样的态度,您又会作何感想呢?我们要在全社会提倡一种礼貌热情的电话语言,在我们以后的专题讲座中会提到。

     

    五、教育背景

        1.时间要倒序。

        最近的学历情况要放在最前面。

        2.学校名要大写并加粗。

        这样便于招聘者迅速识别您的学历,这里又用到了 YRIS 原则。

        3.地名右对齐,全部大写并加粗。

        地名后一定写中国。例如,海口(Haikou)的拼写与日本北海道(Hokaido)的拼写很相近。读简历的有可能是外国人,不知道的会搞不清楚是哪个国家。可能你出过国,这是件好事,但如果去的地方并不太出名,没加国名,大家也意识不到。总之是造成了一些不方便,效率不高。我们应该一切从最完善的角度出发。

        如果是大城市,如广州、大连等,则后面不必加省名,因为如果不知道这些城市的老外,也很难对它们所属的省份有什么概念。而象黄石、邯郸这样的城市,后面还是加上省名为好,但 province 一词可以省略。

        如果地名的字数过多,甚至公司名的字数也不少,不妨将所有公司名、学校名及地名都改成只第一个字母大写,这样就腾出地儿了。

        4.学历。

        如果正在学习尚未毕业,用 Candidate for 开头比较严谨;如果已经毕业,可以把学历名称放在最前。

        5.社会工作

        担任班干部,只写职务就可以了;参加过社团协会,写明职务和社团名,如果什么职务都没有,写“member of club(s)”。社团协会,国外一般都用club。不必写年月和工作详情,有些可留待工作经历中写。

        顺便讲一下几个职称的译法:

        班长 —— 国内很流行用 Monitor,但国外常见的是 Class President,这样显得更国际化;另外,根据 YRIS 原理,显得官更大一点儿。

        团支部书记 —— 用 Secretary 也可以,但在与外国人打交道时,如果参加的是纯商业机构,背景中政治色彩越少越好。经常一个班就是一个支部,我们可以用 class 表示支部,那么 class 用 Secretary 不合适,不妨用 President。在某种意义上,班长和团支部书记二者的角色是相同的。但如果二者是并驾齐驱的,不妨用 Co-president。再有,如果你写了 President,当有人问班长时,他可能会不高兴,为处理好关系,你不妨谦虚一下,用 Vice President。这样,发生副作用的可能性就会很小。

        副会长 —— 用Vice President是最合适的,在国外也很常见。

        6.奖学金。

        一般用一句话概括。如果有多个,也争取用一句话概括。但如果是学生简历,则有其它的处理方式,我们将在下面讲解。

        7.成绩。

        如果不是前五名,建议不写。因为如果排在五名之外,感觉您不是一个优秀的学生。一旦写上,有些人会穷追不舍地猛问,让你尴尬。

     

    六、个人资料

        1.名称。

        有四种写法:Personal, Personal Information, Other Information, Additional Information。无论是教育背景、工作经历,还是个人资料,既可以首字母大写,也可以全部字母大写,还可以全部字母小写。哈佛商学院的标准格式却是全部字母小写,这在主流商业社会中已沿用多年。另外,名称可以写在最左侧,也可居中。

        2.语言。

        有几个层次。Native speaker of 指母语;从严谨的角度讲,Fluent in 显得更流利;English as working language 显得不非常流利,但可靠性更强; Some knowledge of 会一些,没有把握的千万别写。在面试中,语言是最轻松的,一旦被考倒,他会认为你在撒谎,甚至认为通篇简历都有很多撒谎的地方。

        3.电脑。

        中国人最爱用“熟悉”(familiar)。无论中文还是英文简历,“熟悉”是一个很弱的字眼,只能说明你不熟练、不常用。如果几个软件,有的熟练,有的熟悉,建议只写软件名。完全没把握的,一点儿不熟悉的,千万不要写。不要以为没有电脑,就不会考你,他也会考你一两个关键用法。如果真的用的很多,不妨用“Frequent user of”。

        4.资格证书。

        最需要注意的是,有些人将注册会计师笼统地翻译成 CPA,但全世界各国都有自己的 CPA,有些是互不承认的,所以一定要写上国别,写明考取年份。

        有一些业余爱好,能显示出一定素养的内容,也可以写上,如钢琴考级。

        TOEFL, GRE 和 GMAT 成绩,最好哪个都别写,因为外资公司一般都希望新聘雇员不要很快就离开,如果他们知道您要出国的话,当然不愿充当无谓的跳板。但也有例外,如一些美国的大型咨询公司,如 McKinsey, BCG, Bain, A. T. Kearney, Booz Allen 等,以及华尔街的投资银行。他们会在北大清华这类学校招聘应届毕业生作 Analyst(级别相当于科员),三年之后自动期满,一般都会去美国读 MBA,若知道您已把 TOEFL 与 GMAT 考完,他们就不再担心您会在工作期间,利用业余时间去新东方听课了。要知道,这类公司每周平均要工作 100 小时左右。

        5.爱好与特长。

        写强项。弱的一定不要写,面试人员不定对哪个项目感兴趣,有时会跟你聊两句,尤其是接连几个、十几个面试之后,有些招聘人员爱聊一些轻松的话题,一旦是你的弱项,绝大部分人会很尴尬的,显出窘态,丧失自信,这对你是很不利的。更重要的是,他会觉得你在撒谎。

        另外,即使要写也只写两到三项。因为极少有人在很多方面都很强。如果您觉得自己玩得都可以的话,您的标准可能稍低了点儿。当然,确实有的人七八样都玩得挺好的,但一般人不相信每个人的强项有特别多,所以您也没必要写那么多,以免给人轻浮的感觉。

        不具体的爱好不写,如 sports、music、reading。大家不知道你喜好什么,或者让大家觉得你根本就没有真正的爱好,更糟糕的是,人们会认为你的写作水平很差。

        举几个用词。如 traveling。如果你喜欢旅行,而有些工作需要经常出差,那么你写上 traveling 是非常有利的;有些女性写上 cooking,是很实事求是的,也给人以踏实的感觉,对于象秘书这样的职位,总是有好处的。

     

    七、工作经历

        首先要再次强调一下,对于正在工作的人,Experience 应写在 Education 的前面;而对于在校生,Education 则应放在 Experience 之前。

        1. 时间

        目前的工作要最先写,左侧写时间,如写成 1997-present。此外更要注意拼写,不要把 present 写成 president,否则您现在就成了总裁,老板怎么还敢雇佣您呢?这种往往是拼写检查无法查出的“漏网之鱼”,所以要特别小心。这个问题我们在后面还会谈到。

        以前的工作,只写年份,如 1993-1995。这样的写法主要适于以下三种情况:一是工作时间较早;二是工作时间在两年以上;三是旨在巧妙地拉长工作时间。例如,如果您曾于1997年12月到1998年1月就职于某家公司,虽然只有短短两个月,但写成 1997-1998 就显得工作时间较长,同时也没撒谎。

        以前的工作,加上月份,如 May 1998。这样的写法自然会显得精确一些,也投合银行业雇主的口味。有的中国人则喜欢用 5, 1998 或 1998, 5。前一种写法很少见,只有在实在写不下的情况下才使用。1998, 5 则是纯粹的 Chinglish(洋泾帮英语),是完全不能接受的。

        Summer Intern(夏期工作)的几种写法:一是直接写 Summer Intern,不管职务职称;二是写成 Summer Analyst,这种写法比较适合大学本科或研究生期间的暑期工作;三是写 Summer Assistant,这种写法适合多种情况;四是写 Summer Associate,这一写法专指 MBA 学生的暑期工作。而且一般认为 Summer Associate 的级别会比 Summer Analyst 要高一些。我们将在以后的专题讲座中为大家介绍美国投资银行家的职业生涯发展的阶梯模式,到时候会涉及到不同职务和职称的写法。

        2. 公司名

        公司名称应大写加粗。若全称太复杂,可以写得稍微简单一些。如 ARRAIL CHAINSHINE INVESTMENT COMPANY LIMITED 不如写成ARRAIL CHAINSHINE来得简单明了,大家一看就知道指的是哪家公司。

        有些公司的全称往往不为人知,但缩写名却尽人皆知。比如在中国就不是每个人都知道 INTERNATIONAL BUSINESS MACHINE 是什么公司,但 IBM 的大名却是家喻户晓的。所以在中国,我们建议大家写 IBM,因为许多外企人事经理都是中国人,这样写更顺眼也更顺口。而在美国,大家还是会写全称的。

        3. 地名

        地名写法与 Education 部分相同,这里就不再赘述。请参阅上面的内容。

        4. 职务与部门

        应该从公司名称之后的第二行开始写。如果想介绍公司情况,则职务与部门应写在公司简介之后。

        另外,职务与部门应加粗,每个词的第一个字母要大写,如 Manager, Finance Department。

        5. 公司简介

        对于新公司、小公司或招聘公司不甚熟悉的某些行业的公司,为了保险起见都不妨介绍一两句。甚至对于那些业内知名的企业往往也不一定名声在外。求职者一般不会针对每家应聘的公司都量身定做一份专门的简历(tailor-made resume),目前可能只想在行业内跳一跳,但也不排除将来在别的行业发展的可能,所以不妨都略带提一下公司的简介。

        此外,有些外国人可能对中国的公司不太知道,因此要介绍一下。 这不是说别人孤陋寡闻,而是缺乏对中国的了解。比如说,您也许对美国、德国、日本的一些大公司耳熟能详,但对于加拿大、俄罗斯、澳大利亚、印度、巴西一些有名的大公司,您就不一定都知道了。千万不要觉得中国的公司很大,别人就一定知道,一不留神,就成了井底之蛙。例如,中国银行叫 Bank of China (BOC)。在海外很多银行都知道中国银行,但他们都误认为中国银行就是中国的中央银行,这个概念已经被混淆十多年了,到目前还没有彻底更正。

        具体简介的长度以两行为宜。只用一行易与别的内容相混,而三四行就显得比较累赘。总之要恰到好处,让人一目了然。

        6. 工作经历顺序

        首先是应该采取倒序,这是非常流行的方式。

        技能类别:这主要是为了强调自己的某种技能,如翻译、电脑等。如果招聘公司正是需要一名翻译,这样写可以正中下怀。此外,对于那些工作经历有时间断层的人,如下岗、休产假等,不妨也可使用这种方法。根据上周所讲的 YRIS 原则,雇主往往会在短短几秒的时间里,忽略时间断层这个问题。但要注意,并不是说只要有时间断层问题就一定要死板地用这种方法。因为这种写法只适合技能性比较强的情况,其它可参考前面所提到的只写年的方法加以弥补。如果断层时间长达两三年,则一定要解释清楚,说明确切的原因,实事求是。越诚实越坦荡,越能给人好印象。

        在需要两者结合的情况下,先按技能类别加以分类,再以倒序的方式一一列出。

        7. 工作内容

        要用点句(bullet point),避免用大段文字。中国人在写简历时往往会走两个极端,一是过于简单,只有哪年哪月在哪工作,蜻蜓点水,具体内容一点都没有;二是过于复杂,大段描写,洋洋洒洒说了半页纸,却让人摸不着所以然。

        点句的长度以一行为宜,最多不要超过两行;句数以三到五句为佳,最多不超过八句。一位美国的招聘经理曾对我说,一般只重点看前三句,超过八句之后的百分之百不看。

        点句以动词开始。目前的工作用一般现在时,以前工作用过去时。为了便于大家撰写简历,我们从一些简历书籍中精选了 148 个常用动词,供大家参考。

        主要职责与主要成就,谁先谁后?有人认为应把主要职责放在前面,因为别人一看就知道我在做什么。其实这种写法较适合初级工作以及开创性不强的工作。若是较高级或开创性较强的工作则应把主要成就写在前面,因为别人看的就是您的工作业绩。所以不能一概而论地断定谁先谁后。

        工作成就要数字化,精确化,避免使用 many, a lot of, some, several 等模糊的词汇,应尽量使用具体的数字,到底管理了多少人,销售额是多少等等。

        在同一公司的业绩中,不必拘泥于时间顺序,而应秉持“重要优先”的原则。例如,在成就里可先写最重要的成就;在职责里可先写最高的职位,不要拘泥于倒序或正序的方法。关键是要使雇主在短短几秒中之内就发现您的最高卖点。

        培训内容可放在每个公司的后面。我们认为培训是公司内部的活动或是在公司工作期间接受的外部培训,与在该公司的经历有关,但不是 Education 的一部分。

        8. 五个避免

        避免长句:没有人愿意看太冗长的句子,而且切记 YRIS 原则,雇主只是在扫描您的简历。

        避免缩写:因为外行人往往很难看懂。不要想当然的认为这是人所皆知的事情。上一次我们讲了“user friendly”的原则,所以不要先入为主的认为别人能理解,别人能猜到或者能查到。

        避免“I”(我):因为正规简历多用点句,以动词开头,是没有“我”的。当然若在公司简介中一定要用到一两次,也不是完全不可以。

        避免不利因素:我们讲过简历的原则是不要撒谎,但不写不等于骗人。大家可能还记得上次提到过的“简历中的任何字句都可能成为面试中的话题”。扬长避短的道理,我想大家都是知道的。

        避免 "Reference available upon request":这个短语的意思是如需证明,可提供见证人。这在许多英式、港式简历范文中经常出现,但是美式的简历则不要这样写。因为在现实生活中,招聘人员认为任何人都能随便抓来一两个见证人应急。而且如果您在简历中也没有写上他们的名字及联系方法,这句话则完全是多此一举了。

     

    八、学生简历

        之所以要把学生简历单拿出来讲一讲,是因为学生的工作经验很少,写不出东西来,显得页面不够丰满。要按我们在前面讲的格式,也很尴尬。因此我们在这里特别介绍一些弥补的技巧:

        教育背景中写相关课程。但千万不要为了拼凑篇幅,把所有的课程一股脑儿地都写上,如体育等。这样不很有效,别人也没耐心看。

        奖学金一项一行。许多学生每年都有奖学金,这样一来,也可写出三四行,甚至更多。

        拉长句子。每个句子都可加入一些词拉长一些。其实拉长并不难,难的是缩短。

        自然地多换行,多写点句子。

        加大字号。可将“10号、小五”改成“12号、小四”。

        社会工作细节放在工作经历中,这样会填补工作经验少的缺陷,例如,您在做团支书、学生会主席等社会工作时组织过什么,联系过什么,参与过什么都可以一一罗列。如果只做过一件事,那就应该尽量把它掰开了写,如领导过多少人,完成了什么事,起到了什么作用。这样一来,起码就有了三行。如果做了更多的事,一件一行就可以了。行文简洁的原则还是要遵守的。

        至于暑期工作,作为大学生,雇主通常并不指望您在暑期工作期间会有什么惊天动地的成就。当然如果您有就更好了。不过即使实在没有,就算是在父母的单位呆过几天,也不妨写上。这样也算是显得接触过社会,了解了些行业,做过了些工作。但您一定要能说上几句才写在简历上。否则将来面试时,您恐怕会被问得张口结舌,显得很尴尬。

        还有,对于中学情况,这方面的内容不要写太多。有的人中学经历特辉煌,做过学生会主席、当过团支部书记,学习成绩也名列前茅。其实中学成绩如何如何好是最没有参照性的,除非是北京四中这样的全国知名学校,否则作用不大,因为最重要的还是您当前的情况。当然,如果您在中学时得过国际奥林匹克比赛大奖或全国性的大奖,不妨提上一笔。

     

    九、特别注意

        1. 绝无拼写错误。

        现在文字处理软件都有拼写检查(Spelling Check),您实在没有理由拼错,否则雇主会觉得您连最基本的东西都不去做。因此这是完全不能容许的错误。

        2. 小心相近字。

        这是拼写检查查不出的错误,要尤为小心。例如,有一位专业是经济学的同志,他本应写 Major: Economics(专业:经济学),但却误写成了 Mayor: Economy,摇身一变,成了主管经济的市长。

        3. 避免明显的语法错误。

        这并不是说一点儿语法错误都没有,因为英语毕竟不是咱们的母语,稍微有一点小错,别人也是能够谅解的。

        4. 请友人帮忙看一下。

        这是非常有效的一个方法。一是从拼写、语法、句式等方面来看,有无错误;二是从构思的角度上来看,有没有更合适、更恰当的表达。旁观者清,换一个角度,别人经常能提出一些特别好的建议来。

        5. Objective 写不写?

        有人写,有人不写。其实写和不写各有利弊。如果写上,当然显得目标明确,非这个行业、这个部门不可,但同时也就限制了您在别的行业发展的可能性。比如,毕业生在申请象“诚迅”一类的公司时明确写上了所选部门,那么万一这个部门没有录用您,而您又好象非这个部门不可,您就很可能失去了在“诚迅”其他部门工作的机会。但如果您什么都不写,雇主参照您的背景和一些测试的结果也许认为您更适合别的部门,这样您就可能获得新的机会。通常美式简历的规范写法都是不写 Objective 的。

     

    十、纸与字体

        1. 黄色的故事。

        1997 年,我在香港做猎头。当时金融市场的状况是蛮好的。有个在国内做过银行,之后到美国念书的人,来香港找工作。他觉得以自己的资历在外国银行谋到个一官半职应该不成问题,但结果却找了半天都毫无结果。后来通过朋友介绍找到我,让我给他出点主意。他一边给我看他的简历,一边抱怨说:“你看,我每发一份都没消息,到最后找工作的事全黄了”。我一看,发现他使用的纸的颜色的确是够黄的,于是我说:“就是因为您的纸的颜色太黄了,所以每发一份就都黄了”。他辩驳说他还是听了别人的意见特意去找的那种看上去泛黄的纸张。其实他用的这种纸根本不是简历专用的高级米黄色钢古纸,而是“黄过了头”的宣传广告纸,即大字报纸,所以一发出去便杳无音信。顶着这样一张“黄脸婆”, 自然很难受到雇主的青睐。其实纸的颜色和质地在求职中都是至关重要的。我们收到的简历各种颜色的都有,甚至还有蓝色的,这就犯了同样的错误。

        2. 规格。

        至少 80 克,或 100 克左右。在北京许多地方都用 60、70 克的纸,这类纸往往显得轻飘飘的,质感很差,这是会丢分的。

        3. 尺寸。

        A4,即 29.7 厘米长,21 厘米宽。

        4. 字体。

        建议用 Times New Roman 或 Palatino。在哈佛商学院的字体是“"Palatino preferred, Times New Roman acceptable.”

        5. 字号。

        一般最好用 10 号,即小五。不过,就象刚才讲的那样,在学生简历中也可用 12 号字,即小四。

        6. 打印。

        简历一定要用激光打印,这无非是稍微贵一些。另外,还要注意尽量要提前一点打好。因为在光洁的打印纸上检查文字会比在屏幕中搜索更能找到简历中细微的错误。一旦发现问题,再回过头去订正就难免手忙脚乱。因为谁知道打印机会不会塞了纸,缺了墨或出了什么别的差错,到时候再抓耳挠腮就来不及了。匆匆而就的简历往往疏于斟酌而出现纰漏,专业人员一眼就能看出来。

        7. 间距。

        上下(天地头)一样,大约 2-3 厘米;左右一样,大约 1.2-2.5 厘米;最左边的 bullet point 到左页边的距离保持在 3.8-5 厘米。

     

    十一、提问与回答

        问:我刚刚毕业不久,在写简历时要注意些什么?

        答:如果你是一位刚刚走出校门的毕业生,那你面临很可能是和你有着相似的学历但却更富工作经验的竞争对手。如果没有足够多与欲申请的工作相关的经验,你应该更着重强调最近的教育与培训,尤其是与正在申请的工作最直接相关的课程或实践活动。刚毕业的学生应该重视自己在学校里完成的毕业实践和毕业设计,这些活动也同样要求高度自律的特性、完成不同任务的能力以及其它方面的个人素质,而这些素质也正是许多工作所需要的。

        年代式的简历罗列了求职人的种种工作经历,缺少工作经历的新毕业生不妨制作一份技巧列表式的简历。对于申请的工作职位要求的某些素质,你可以罗列在你的技巧式简历中,就象在年代式简历中罗列工作经验一样。另外,如果可能,你也可以将你所了解和熟悉的,这一工作领域的最新知识与工作技能写入简历,这些知识和技能应该对你未来的工作很有帮助,而且,因为你刚刚在学校里研究和学习了最新的知识与技能,在适应新岗位的过程中你也有不小的优势。

     

        问:您是否能再详细地讲一下简历中应该避免的问题?

        答:在我们的社会中,要想找工作,必然需要一份简历。不管你申请的是会计师、教师、执行总裁还是市政官都慨莫能外。但在你发送一份简历之前,应该再三地进行检查和修改,只有这样,你所准备的简历才不会去充塞别人的字纸篓。

        在你发送你的简历之前,不妨对照着以下的“十不要”原则再检查一遍。

        一、不要出现表相的错误;准备简历时不要试着在打印纸上省钱,要使用优质纸张(比如专门的简历用纸)而不要只用劣质的复印纸。检查完成的简历上是否有错别字,病句或不应有的污迹。可以用字处理软件中的“拼写检查”功能进行检查,也可以请一位朋友来帮你通览整份简历,看看有没有你漏掉的小错误。

        二、不要缩排字号;如果一页纸写不下你的所有工作经历,那就创建一份足以列下你所有的工作经验和技能的简历吧。不要缩排字号,这样会使你的简历变得不易阅读。

        三、不要在简历中说谎;不管你过去是否曾被解聘,或者曾频繁地换工作,或者只有一些低层职位的工作经验,千万不要试图在你的简历中修改日期或标题来掩饰真相,一旦你未来的老板试图核实你的背景资料而且发现你在说谎,只怕你只能与这份工作说“拜拜”了。

        四、不要以弱敌强;如果你缺乏与正在申请的职位相关的工作经验,那么就不要使用年代式的经历。不妨试试功能式或技巧式的简历格式,这样你可以把与此职位最相关的经验和技能放在最醒目的位置。

        五、不要简单学舌;要说明自己的工作能力,仅仅把招聘公司的工作职位说明拷贝到简历中,再加上自己说明的是远远不够的。你可以列出特殊的工作技能、获奖情况等资料证明你比竞争者更适合这个职位。

        六、不要使用任何借口;以往的工作离职原因无需在简历中说明。所谓的“公司领导换人”、“老板没有人情味”或者“赚钱太少”这类话是绝对不应该出现在个人简历中的。

        七、不要不分巨细地罗列所有工作经验;虽说你可以呈递篇幅超过两页纸以上的简历,但是要注意不要罗列所有的大小工作经验。人力资源经理们最关心的是你近 10 年来的工作情况,所以应将简历重点放在你最近和最相关的工作经验的说明上。

        八、不要不分对象盲目出手;千万不要准备一份简历然后就照着人才市场报上的地址给每个招聘公司都发一套。在申请一个职位之前,先判断一下自己是否合乎他们的要求。仔细阅读一下招聘广告,如果觉得自己不适合这份工作,就不要无谓地浪费你的打印机耗材了。

        九、不要夹带多余的资料;发送简历时,除非招聘公司有特别的说明,否则最好不要附带成绩单、推荐信或获奖证书等附加资料。如果你被通知面试,你应该带上这些资料以备出示。

        十、不要涉及太多个人信息;按美国式简历写法,你无须在简历中说明太多个人信息,比如婚姻状况、个人年龄、种族、家庭情况及个人爱好等。


        问:我是否能够用 EMAIL 发送简历?

        答:随着网络技术的发展,因特网已经成为人们寻找工作的一个重要工具,通过 EMAIL 发送简历也越来越多见。那么,用 EMAIL 发送简历时需要注意哪些事项呢?

        一、某些计算机的屏幕只能阅读每行 30 个汉字的文章,所以,应把你的简历行宽设为 30 个汉字;

        二、如果你的简历中使用了项目符号(bullet),将其替换为“*”或者“-”;

        三、在需要空白的地方,不要用 TAB 键,而用空格键。使用回车分隔不同的工作职位和段落;

        四、将文件存为 ASCII 纯文本格式,目前几乎所有的字处理软件都可以支持此种格式;

        五、将修改过的简历以不同的文件名存盘,避免覆盖原始文件;

        六、发送时,打开 ASCII 文本,拷贝全部内容,然后粘贴到 EMAIL 中。完成后,可以发送一份回自己的信箱,查看效果如何;

        通过 EMAIL 发送的简历不如打印装订的简历一样有吸引力,但在网络的环境下它非常富有效率。而且无论是通过 EAMIL 发送还是输入在线数据库,这样的电子版简历也有利于树立你熟悉计算机及网络技术的专业形象。

        另外,现在有不少求职者把简历用附件(Attachment)的形式 E-mail 给公司,但收件人有时却无法打开附件。因此不要用附件的形式发你的简历,除非你知道这家公司接受某种形式的附件。

        最后,用 E-mail 发出的简历在格式上应该简洁明了,重点突出,因为公司通常只看他们最感兴趣的部分。另外还有一个好办法就是把你制作精美的简历放到网上,再把网址告诉给公司即可。

  • 软件单元测试工具比较[转载]

    2008-06-05 12:49:12

    一、JTEST

    1、简介:

    jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。Jtest先分析每个java类,然后自动生成junit测试用例并执行用例,从而实现代码的最大覆盖,并将代码运行时未处理的异常暴露出来;另外,它还可以检查以DbC(Design by Contract)规范开发的代码的正确性。用户还可以通过扩展测试用例的自动生成器来添加更多的junit用例。Jtest还能按照现有的超过350个编码标准来检查并自动纠正大多数常见的编码规则上的偏差,用户可自定义这些标准,通过简单的几个点击,就能预防类似于未处理异常、函数错误、内存泄漏、性能问题、安全隐患这样的代码问题。

    2、优势:

    1)使预防代码错误成为可能,从而大大节约成本,提高软件质量和开发效率

    2)使单元测试——包括白盒、黑盒以及回归测试成为可能

    3)使代码规范检查和自动纠正成为可能

    4)鼓励开发团队横向协作来预防代码错误

    3、特征:

    1)通过简单的点击,自动实现代码基本错误的预防,这包括单元测试和代码规范的检查

    2)生成并执行junit单元测试用例,对代码进行即时检查

    3)提供了进行黑盒测试、模型测试和系统测试的快速途径

    4)确认并阻止代码中不可捕获的异常、函数错误、内存泄漏、性能问题、安全弱点的问题

    5)监视测试的覆盖范围

    6)自动执行回归测试

    7)支持DbC编码规范

    8)检验超过350个来自java专家的开发规范

    9)自动纠正违反超过160个编码规范的错误

    10)允许用户通过图形方式或自动创建方式来自定义编码规范

    11)支持大型团队开发中测试设置和测试文件的共享

    12)实现和IBM Websphere Studio /Eclipse IDE 的安全集成

    4、价格:昂贵

    二、JMETER

    1、简介:

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。使用JMeter进行性能测试

    2、特征:

    JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。

    3、价格:未知

    三、JUNIT

    1、简介:

    JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JUnit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;第二个是使测试单元保持持久性;第三个则是可以利用既有的测试来编写相关的测试。

    2、优势:

    2.1)junit是完全Free的。

    2.2)使用方便。在你提升程序代码的品质时JUnit测试仍允许你更快速的撰写程序 那听起来似乎不是很直觉,但那是事实。当你使用JUnit撰写测试,你将花更少的时间除虫,同时对你程序代码的改变更 俱有信心。这个信心让你更积极重整程序代码并增加新的功能。没有测试,对于重整及增加新功能你会变得没有信心;因为你不知道有甚么东西会破坏产出的结果。采用一个综合的测试系列,你可以在改变程序代码之后快速的执行多个测试并对于你的变动并未破坏任何东西感到有信心。在执行测试时如果发现臭虫,原始码仍然清楚的在你脑中,因此很容易找到臭虫。在JUnit中撰写的测试帮助你以一种极 大(extreme)的步伐撰写程序及快速的找出缺点。

    2.3)JUnit非常简单撰写测试应该很简单--这是重点!如果撰写测试太复杂或太耗时间,便无法要求程序设计师撰写测试。使用JUnit你可以快速的撰写测试并检测你的程序代码并逐 步随着程序代码的成长增加测试。只要你写了一些测试,你想要快速并频繁的执行测试而不至于中断建立设计及开发程序。使用JUnit执行测试就像编译你的程序代码那么容易。事实上,你应该执行编译时也执行测试。编译是检测程序代码的语法而测试是检查程序代码的完整性(integrity)。

    2.4)JUnit测试检验其结果并提供立即的回馈。 如果你是以人工比对测试的期望与实际结果那么测试是很不好玩的,而且让你的速度慢下来。JUnit测试可以自动执行并且检查他们自己的结果。当你执行测试,你获得简单且立即的回馈; 比如测试是通过或失败。而不再需要人工检查测试结果的报告。

    2.5)JUnit测试可以合成一个测试系列的层级架构。 JUnit可以把测试组织成测试系列;这个测试系列可以包含其它的测试或测试系列。JUnit测试的合成行为允许你组合多个测试并自动的回归(regression)从头到尾测试整个测试系列。你也可以执行测试系列层级架构中任何一层的测试。

    2.6)撰写JUnit测试所费不多。 使用Junit测试框架,你可以很便宜的撰写测试并享受由测试框架所提供的信心。撰写一个测试就像写一个方法一样简单;测试是检验要测试的程序代码并定义期望的结果。这个测试框架提供自动执行测试的背景;这个背景并成为其它测试集合的一部份。在测试少量的投资将持续让你从时间及品质中获得回收。

    2.7)JUnit测试提升软件的稳定性。 你写的测试愈少;你的程序代码变的愈不稳定。测试使得软件稳定并逐步累积信心;因为任何变动不会造成涟漪效应而漫及整个软件。测试可以形成软件的完整结构的胶结。

    2.8)JUnit测试是开发者测试。 JUnit测试是高度区域性(localized)测试;用以改善开发者的生产力及程序代码品质。不像功能测试(function test)视系统为一个黑箱以确认软件整体的工作性为主,单元测试是由内而外测试系统基础的建构区块。开发者撰写并拥有JUnit测试。每当一个开发反复(iteration)完成,这个测试便包裹成为交付软件的一部份提供一种沟通的方式,「这是我交付的软件并且是通过测试

    2.9)JUnit测试是以Java写成的。 使用Java测试Java软件形成一个介于测试及程序代码间的无缝(seamless)边界。在测试的控制下测试变成整个软件的扩充同时程序代码可以被重整。Java编译器的单元测试静态语法检查可已帮助测试程序并且确认遵守软件接口的约定。

    一段测试的程序代码无法单独的执行,它需要是执行环境的一部份。同时,它需要自动执行的单元测试--譬如在系统中周期性的执行所有的测试以证明没有任何东西被破坏。由于单元测试需要符合特定的准则:一个成功的测试不应该是人工检查的(那可要到天荒地老了啊),一个未通过测试的失败应可以产出文件以供诊断修改。而Junit可以提供给我们这些便利.。这样所有测试开发者所需撰写的只是测试码本身了。跟optimizeit、Jtest那些昂贵而又超级麻烦的tool比较起来,其利昭然可见!

Open Toolbar