欢迎大家来到测试人生,在你休息的时候你可以畅所欲言,空间里也许有些资料可以帮助到你,来吧,朋友,测试人生欢迎你!!!!

发布新日志

  • firefox访问TD/QC不兼容的解决办法

    2009-04-23 16:51:35

    TD安装目录搜索找到Start_a.htm这个文件,用编辑工具(如记事本、editplus等)打开,你在Start_a.htm这个文件可以看到
    var fNS3456   = ((ua.lastIndexOf('Mozilla/6') != -1) || (ua.lastIndexOf('Mozilla/5') != -1) || (ua.lastIndexOf('Mozilla/4') != -1) || (ua.lastIndexOf('Mozilla/3') != -1)) && (ua.lastIndexOf('MSIE') == -1);
    就是在这里进行相应的修改就可以了....
  • TD/QC浏览器兼容问题处理.

    2009-04-23 16:47:52

    随着OS及其相关软件的不断升级,TD/QC默认并不支持IE7/IE8浏览器,提示:“Microsoft Internet Explorer : 4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR.3.0.04131.06) is not supported


    解决方法:
    TD/QC安装目录搜索找到Start_a.htm这个文件,用编辑工具(如记事本、editplus等)打开,找到f// Sniff Browser代码段的var fMSIE3456参数,在|| (ua.lastIndexOf('MSIE 6.0') != -1)后粘贴|| (ua.lastIndexOf('MSIE 7.0') != -1)

    || (ua.lastIndexOf('MSIE 8.0') != -1)并保存即可。

     

     

     

  • 服务器性能瓶颈分析方法

    2009-01-15 16:59:10

    1. 内存分析方法
       内存分析用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现。
       内存分析需要使用的计数器:Memory类别和Physical Disk类别的计数器。内存分析的主要方法和步骤:
       (1)首先查看Memory\Available Mbytes指标
       如果该指标的数据比较小,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。
    注:   在UNIX/LINUX中,对应指标是FREE(KB)
       (2)注意Pages/sec、Pages Read/sec和Page Faults/sec的值
    操作系统会利用磁盘较好的方式提高系统可用内存量或者提高内存的使用效率。这三个指标直接反应了操作系统进行磁盘交换的频度。
       如果Pages/sec的计数持续高于几百,可能有内存问题。但Pages/sec值不一定就表明有内存问题,可能是运行使用内存映射文件的程序所致。Page Faults/sec说明每秒发生页面失效次数,页面失效次数越多,说明操作系统向内存读取的次数越多。此事需要查看Pages Read/sec的计数值,该计数器的阀值为5,如果计数值超过5,则可以判断存在内存方面的问题。
       注:在UNIX/LINUX系统中,对于指标是(page)si和(page)so.
       (3)根据Physical Disk计数器的值分析性能瓶颈
       对Physical Disk计数器的分析包括对Page Reads/sec和%Disk Time及Aerage Disk Queue Length的分析。如果Pages Read/sec很低,同时%Disk Time和Average Disk Queue Length的值很高,则可能有磁盘瓶颈。但是,如果队列长度增加的同时Pages Read/sec并未降低,则是内存不足。
    注:在 UNIX/LINUX系统中,对应的指标是Reads(Writes)per sec、Percent of time the disk is busy和Average number of transactions waiting for service.

    2.处理器分析法
       (1)首先看System\%Total Processor Time 性能计数器的计数值
    该计数器的值体现服务器整体处理器利用率,对多处理器的系统而言,该计数器提醒所有CPU的平均利用率。如果该值持续超过90%,则说明整个系统面临着处理器方面的瓶颈,需要通过增加处理器来提高性能。
       注:多处理器系统中,该数据本身不大,但PUT直接负载状况极不均衡,也应该视作系统产生处理器方面瓶颈。
       (2)其次查看每个CPU的Processor\%Processor Time 和 Processor\%User   Time 和 Processor\%Privileged Time
    Processor\%User   Time 是系统非核心操作消耗的CPU时间,如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器, Processor\%User   Time 值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。
       (3)研究系统处理器瓶颈
    查看 System\Processor Queue Length 计数器的值,当该计数器的值大于CPU数量的总数+1时,说明产生了处理器阻塞。在处理器的%Process Time很高时,一般都随处理器阻塞,但产生处理器阻塞时,Processor\%Process Time 计数器的值并不一定很大,此时就必须查找处理器阻塞的原因。
    %DOC Time 是另一个需要关注的内容,该计数器越低越好。在多处理器系统中,如果这个值大于50%,并且Processor\%Precessor Time非常高,加入一个网卡可能回提高性能。

    3.磁盘I/O分析方法
       (1)计算梅磁盘的I/O数
       每磁盘的I/O数可用来与磁盘的I/O能力进行对比,如果经过计算得到的每磁盘I/O数超过了磁盘标称的I/O能力,则说明确实存在磁盘的性能瓶颈。
       每磁盘I/O计算方法
    RAID0计算方法:(Reads +Writes)/Number of Disks
    RAID0计算方法:(Reads +2*Writes)/2
    RAID0计算方法:[Reads +(4*Writes)]/Number of Disks
    RAID0计算方法:[Reads +(2*Writes)]/Number of Disks
       (2)与Processor\Privileged Time 合并进行分析
       如果在Physical Disk 计数器中,只有%Disk Time 比较大,其他值都比较适中,硬盘可能会是瓶颈。若几个值都比较大,且数值持续超过80%,则可能是内存泄漏。
       (3)根据Disk sec/Transfer进行分析
    一般来说,定义该数值小于15ms为Excellent,介于15~30ms之间为良好,30~60ms之间为可以接受,超过60ms则需要考虑更换硬盘或是硬盘的RAID方式了。

    4.进程分析方法
       (1)查看进程的%Processor Time值
       每个进程的%Processor Time反映进程所消耗的处理器时间。用不同进程所消耗的处理器时间进行对比,可以看出具体哪个进程在性能测试过程中消耗了最多的处理器时间,从而可以据此针对应用进行优化。
       (2)查看每个进程产生的页面失效
    可以用每个进程产生的页面失效(通过PRCESS\PAGE FAILURES/SEC计数器获得)和系统页面失效(可以通过MEMORY\PAGE FAILURES/SEC计数器获得)的比值,来判断哪个进程产生了最多的页面失效,这个进程要么是需要大量内存的进程,要么是非常活跃的进程,可以对其进行重点分析。
       (3)了解进程的Process/Private Bytes
    Process/Private Bytes是指进程所分配的无法与其他进程共享的当前字节数量。该计数器主要用来判断进程在性能测试过程中有无内存泄漏。例如:对于一个IIS之上的 WEB应用,我们可以重点监控inetinfo进程的Private Bytes,如果在性能测试过程中,该进程的Private Bytes计数器值不断增加,或是性能测试停止后一段时间,该进程的Private Bytes仍然持续在高水平,则说明应用存在内存泄漏。
       注:在UNIX/LINUX系统中,对应的指标是Resident Size

    5.网络分析方法
       (1)Network Interface\Bytes Total/sec为发送和接收字节的速率,可以通过该计数器值来判断网络链接速度是否是瓶颈,具体操作方法是用该计数器的值和目前网络的带宽进行相除,结果小于50%。
        1Mdit/sec(兆比特/秒)=131072bytes/sec(字节/秒)
        1byte=8bit
  • 如何在QC中调用QTP

    2009-01-15 16:03:40

    1、在本机上安装QC连接QTP所需要的插件。步骤如下:

    a)  请卸载该加载项的任何先前版本。要进行卸载,选择“开始”>“设置”>“控制面板”>“添加/删除程序”,然后按屏幕说明进行操作。

    b)  下载并安装QTP加载项。进入加载项主页面,根据链接其他 Mercury Quality Center 加载项---- QuickTest Professional 加载项进入下载页面,单击“下载 Quality Center 8.2 的加载项”进行下载并在您的客户端计算机上安装此加载项。注意,要安装该加载项,必须以管理员权限登录。

    c)  下载并安装QC连通性加载项。进入加载项主页面,根据链接Mercury Quality Center连通性进入下载页面,下载并安装。

    d)  重新启动。

    2、设置QTP允许外部程序执行。 Tools—Option Run标签页给Allow other Mercury products to run tests and components打勾。

    3、在QTP中连接QC。Tools—Quality Center Connection 在对话框中输入连接QC时需要的各项参数。Server:一般只要录入客户端访问QC时的url地址即可。例如:http://alipay-qcserver:8080/qcbin 这个值是安装时确定的。Domain Project User Password这几个参数跟都很常见,不用介绍。

    4、在QTP中打开一个已经存在的脚本文件,另存为QC的测试[必须在QTP中连通QC]。如下图所示。

    5、此时在QC中就有了一个测试用例,在QC的测试实验室里建一个测试集,就可以在QC中执行这个测试了。

    截止到现在,可以在QC中执行一个单独的QTP脚本了。

  • QTP插件页

    2009-01-15 11:14:53

    QTP插件页:http://updates.merc-int.com/qualitycenter_chs/qc90/.
  • IBM雇员将罢工15分钟 为抗议公司裁员

    2008-12-12 12:46:41

    5月16日消息,据国外媒体报道,一个名为“Alliance@IBM”的工会组织日前呼吁IBM雇员罢工15分钟,以抗议IBM的裁员行为。
    据悉,此次罢工将于美国东部时间星期二下午3点在美国举行,而IBM意大利公司也计划罢工,以援助美国雇员。
    根据lliance@IBM工会的要求,在罢工的15分钟内,雇员停止一些工作,包括拒接电话,拒绝回复IM信息等。
    lliance@IBM在其网站上称:“罢工的目的在于告诫IBM,不要取消美国的就业岗位。”最近有消息称,IBM可能在全球范围裁员15万人。但IBM后来澄清,裁员15万人是子虚乌有。
    但是,IBM近期在缩减资源却是事实,并且得到了IBM高层的证实。Alliance@IBM5月初曾表示,IBM近期在全球服务部门解雇了1300多名美国员工。
    最近几年,IBM大举拓展印度和中国市场的运营规模。因此,一些美国雇员担心,这种增长可能会以牺牲美国的业务为代价。

  • 转个td或qc工作流的使用

    2008-12-03 12:29:01

    流程需要和工具结合,只有好的工具才能有力推动我们的流程实施起来。我们在实际工作中当bug状态修改的时候让我们的开发人员添加研发的评论在里面,针对这个功能我们来进行实现?针对该功能进行实现,打开qc9.2,登陆项目进行自定义,选择Workflow,打开scrīpt editor,编写代码
      Dim PreviousStatus
      Dim StatusChanged
      Dim RDCommentChanged
      Sub Bug_New
      End Sub
      Sub Bug_MoveTo
      'Enter code to be executed after another bug receives focus
      ' save the status into PreviousStatus
      PreviousStatus = Fields("BG_STATUS").Value
      StatusChanged = False
      RDCommentChanged = False
      End Sub
      Sub Bug_FieldChange (FieldName)
      'Enter code to be executed after a bug field is changed
      'if Status changed, then StatusChanged is TRUE
      If FieldName = "BG_STATUS" Then
      StatusChanged = True
      'if R&D Comment is changed, then RDCommendChanged is TRUE
      ElseIf FieldName = "BG_DEV_COMMENTS" Then
      RDCommentChanged = True
      End If
      'if Status is changed from Open/Researching to Rejected and no R&D Comment is entered, then prompt user to enter R&D Comment
    If StatusChanged And (PreviousStatus = "Open" Or PreviousStatus = "Researching") And (Fields("BG_STATUS").Value = "Rejected") And (Not RDCommentChanged) Then
      MsgBox "lease enter reasons in "
      'if Status is changed from MGR Action to Reschedule and no R&D Comment is entered, then prompt user to enter R&D Comment
      ElseIf StatusChanged And (PreviousStatus = "MGR Action") And (Fields("BG_STATUS").Value="Reschedule") And (Not RDCommentChanged) Then
      MsgBox "lease enter scheduled release version in "
      End If

    附件是一个详细的说明文档,vb代码,有兴趣的可以参考。

    附件: 




    td的工作流很强大,值得学习研究。但是别太深,毕竟只是个管理工具,能满足自己的需求的就行。以下是我的代码,供参考
    Dim Fields
    Fields = Bug_Fields

    Sub Defects_Bug_New 'edit by redforce
    AddDefect_SetDefaultValues
    ' Set default values for the fields
    End Sub

    Sub AddDefect_SetDefaultValues 'edit by redforce
    Fields("BG_STATUS").Value = "open"
    'set default bug status to open
    End Sub
    ——设置新添加bug的状态为open

    Sub Defects_Bug_FieldChange(FieldName)
    if FieldName="BG_STATUS" then
    if Fields("BG_STATUS").Value = "fixed" then
    Fields("BG_USER_02").Value=now()
    end if
    end if
    End Sub
    ——自定义字段BG_USER_02,用来记录bug状态变为fixed的时间。date类型记录年月日;string类型记录年月日时分秒
  • 解决登录TestDirector时出现RPC错误

    2008-12-03 12:20:39

    现象:
    打开IE,输入TD的地址,比如 http://1.2.3.4/tdbin/default.htm ,回车以后点击“TestDirector”,在TD主登录界面上,又出现RPC错误的提示!

    RPC Server is unavailable
    Press OK to continue or CANCEL to close application

    解决过程:
    首先,重启机器(冒着比较大的风险,上次就是因为TD不能登录,重启机器后系统不能正常启动,搞了很久才正常的,后来TD也正常了),但是这次机器重启正常,TD还是不行,报同样的错误。

    然后,检查客户端设置,比如IE设置,去掉代理,去掉cookie,删掉临时文件,还是不行;在登录报错界面上刷新IE时,报一个tdclientui.TdFrameX控件下载错误,所以想到将客户端的 C:\Program Files\Common Files\Mercury Interactive\TD2000_80 文件夹删掉,再登录TD,让IE自己重新下载这些控件,结果还是不行。

    再到TD服务器机器上,看看RPC相关服务是否正常启动。上次将Remote Procedure Call (RPC) Locator服务禁用,现在将其启动,还是不行,其它服务应该无关。

    记得有一个TD的检测工具,原来在windows状态栏图标上有,现在找不到了,只好自己找应用程序exe,还好在 C:\Inetpub\TDBIN\Apps 目录下找到一个 CheckTD.exe ,运行一下,果然就是这个检测工具,做一下Check All,结果发现在DCOM Configuration节点下有三个子节点上出现了黄色的问号,分别是 TD Application Server (OTAServer) ,TD Domain Server (TDDomSrv) , OTA scrīpting 。点击每一个节点看了看细节信息,发现好像是用户权限问题,就到 IIS管理器中去查看 TDBIN 这个虚拟目录的权限。点右键,选“权限”,果然提示说权限有问题,点击“确定”继续,点击“取消”重置权限。

    先点击“确定”,进入用户权限设置窗口,和其它正常的虚拟目录比较了一下用户列表和权限,给TDBIN增加了几个用户,如IIS_WPG, NETWORK SERVICE等等,再重启IIS,还是不行。再在刚才的提示框中点“取消”重置权限,结果就剩下一个Everyone用户,还是不行。

    记得原来在TD状态栏图标上点击右键,还有一个程序可以运行,好像是RunAsUser,现在没有状态图标,也只能自己找exe了,还好在 C:\Inetpub\TDBIN\Apps 目录下一眼就看到 ChangeRunAsUser.exe ,肯定就是这个了,运行起来,一个小窗口,看窗口标题中有 DCOM Configuration ,知道应该有些用处。要求输入Domain\User , Password , Confirm Password , 我输入了administrator 和其密码,点击确定按钮以后说用户名密码不对,以为密码敲错了,再来,还是一样的错误,估计是Domain\User中只输入了User,没有输入Domain,我就将主机名加了进去,输入 Computer-Name\administrator ,密码输两遍,点击确定,出现了set permission这样的字样,看来是在工作了。等了一会儿,回到窗口初始状态,关闭之。

    再到CheckTD的界面上,单独检测一下DCOM Configuration节点,结果全部打勾变绿,通过检测。再启动IE登录TD,终于正常了!不再提示那个令人讨厌的RPC错误了,Project下拉框中的东西也出来了,登录正常!!
  • td的邮件服务器配置

    2008-12-03 12:10:36

    首先我用的邮件服务器软件是mail direct pro ,这个就是51一个朋友给我的,他很热心,在这里也要谢谢他,曾经使过cmail servr,没有配置成功。有一个需要特别注意的地方,如果td使用smtp server的方式时,那么系统iis自带的simple mail transport protocol服务一定要停用,否则就会冲突的。

    再讲一下邮件服务器的配置,安装完软件以后,进入“工具-〉选项”,选择“服务器”标签,这个内容是最关键的,其余都是次要的,具体配置见附件一,需要注意的是,不要勾选“要求验证”的复选框,还有邮件发送服务器的名字填写localhost

    接下来是配置td,进入site administrator -〉td server标签,在mail protocol里选择smtp server,服务器名填写localhost即可

    进入“users”标签,为登陆用户设置邮箱地址(注意:这个邮箱地址不是随便填的,是刚才配置邮件服务器时设置的发件人的邮件地址)

    最后,登陆td,单击send mail即可。呵呵

    同时遇上问题,希望可以共同讨论:
    1。td发送的邮件是html格式的,用客户端软件接受时文本格式看不到内容(我是这样的情况),不知道其他人怎么样
    2。我配置的发送邮件的服务器是公司的,接受的是163,在接收时利用foxmail,没有遇上直接送到垃圾邮件的情况
    3。遇上了发送中文是乱码的情况,按照51以前的帖子说的将编码类型改为UTF-8,还是不行,改了BUG_HTML文件里的默认设置也不行,希望高人指点。

    图片附件: mai_PmJ4kJ6WR8Vy.jpg
    2008/10/28 05:49, 41.6 KB, 下载次数: 0
    点击查看大图



    图片附件: mail2_a6mN1QLzZHmD.jpg
    2008/10/28 05:49, 10.03 KB, 下载次数: 0
    点击查看大图

     

    1、保证smtp server正常
    2、site administrator 中对应的项目,钩选send defect emails automatically
    3、site config中mail_interval后的数字设置bug提交后多长时间发送邮件
    4、customize中configure mail配置自动发送邮件的条件

  • TestDirector使用的一些经验

    2008-12-03 12:02:21

    TestDirector使用的一些经验

    这两天部门决定使用TestDirector7.6做为用例服务器。在安装配置TD的过程中,出现了一些问题,也有了一定的心得体会,写出来给大家分享。

    1.安装
    第一次安装的时候,因为硬盘资源分配方面的问题,把所有相关的设置都修改了。结果最后使用中出现了问题。

    后来又使用缺省设置安装了一次,一点问题都没有。我猜想是因为在配置Virtual Directory的时候,我修改了Physical Location,可能TD对虚拟目录的处理有问题,结果最后无法使用。所以建议大家安装的时候,不要修改这里的缺省配置。

    Domain Repository是存储数据使用,由Administrator用户共享控制。每一个Domain都会在TD_dir中创建一个目录,每一个Project都会在Domain目录中创建一个子目录,数据配置信息放在此对应目录中。。

    2.数据库
    这里我犯了一个天大的错误。我使用的是MS SQL数据库。因为我原先使用CQ,还以为也需要建立空数据库连接,结果数据库的Connect String自己修改到了新建的库上,使用的时候,就总提示连接不上数据库。

    后来查资料,有人说删除添加一个DB Server就没有问题了,我就照做了,没有修改配置,结果就没有问题了。Project的数据库也按照直接创建连接的方法,也成功了。所以TD的数据库都是自动生成的,不能修改Connect String的设置。

    后来我去查数据库,数据库中存在TestDirector库,应该对应DB Server连接库;每个Project有自己的数据库,名称方式为:TD_[Domain]_[Project]_db。

    3.汉化

    按照汉化补丁包的说明,我去找服务器上面相关目录,发现“系统盘\Program Files\Common Files\Mercury Interactive\TD2000”里面根本没有tdclientui.ocx这个文件。

    客户端倒是存在tdclientui.ocx,替换注册后界面还是英文版的,弄的我很郁闷。

    后来才发现自己的TD没有打SP4补丁,下载安装SP4补丁后,在客户端覆盖注册tdclientui.ocx后,界面终于是中文版了。

    所以汉化有两个条件,一个是必须打SP4补丁,第二个就是在访问TD的客户端使用tdclientui.ocx。

    4.用户组和用户相关的一些内容

    在Site Administrator中,有Users一项,但在里面只能添加一个用户名,个人感觉只是为了使用Import功能批量导入用户方便使用。所以真正添加用户,还是去CUSTOMIZE中。

    在Users中,有两个缺省的用户Admin和Guest是不可删除的;Groups中缺省的Developer、Project Manager、QATester、TDAdmin、Viewer组不可修改和删除。

    每个用户至少要属于一个用户组。

    权限设置在用户组(Groups)中,用户的权限其实就是他所在组的权限和。

    用户的E-mail就是发送接收邮件的使用的E-mail。

    5.字段汉化

    汉化补丁,汉化是仅仅是界面,字段的内容没有进行汉化。

    进入CUSTOMIZE,选择Customize Project Entities,在这里,就可以进行字段的汉化工作。有人已经做好了TD7.6字段中英文对照表,在http://www.51testing.com/tool/20050103_2.htm,对有心人的工作表示感谢。

    6.自定义列表内容

    CUSTOMIZE-%26gt;Customize Project Lists中可以设置列表内容。

    一些缺省的列表字段是不可修改的,比如Statue列表。列表的项目储存在数据库中的ALL_LISTS表,我曾经尝试着修改数据库,但使用过程中,缺省的取值还是原来的而不是修改的。

    7.添加新字段

    CUSTOMIZE,选择Customize Project Entities,在里面的User Fields中可以添加新字段。

    在程序中,相应的会出现“其它信息项”框架,里面有新添加的字段,说真的,位置很难看。

    8.新建工程

    上面的工作做好后,会发现都是基于一个Project中的,当建立一个新的Project的时候,汉化内容、新字段等都没有了。

    解决方法很简单,建立新工程的时候,不使用Create,而使用Copy,选择一个已经建立好的工程和需要保留的内容进行复制。其实比较标准的做法是建立一个标准Project,把常用的内容全部建立好,以后建立新Project的时候,Copy标准Project就OK了。

    9.汉化所遗留的问题

    从本质来讲,TD是英文版的,后来大家为了方便,做了字段补丁和汉化补丁等,但英文版的本质是不变的。

    汉化后,会有一些问题。我遇到的一个问题就是TEST LAB中,添加重复的test plan的时候,就会出现错误。英文版没有此问题,猜测是因为添加相同记录的时候,会把字段前面自动添加[1]、[2]等,中文可能在添加的时候出现了问题。

    10.从其它的环境导入内容

    这个主要说的是从Excel或Word环境中导入内容到TD。

    点击Add-Ins Page,选择More TestDirector Add-ins,进入TD附加控件下载页面,下载Word和Execl控件并安装。

    打开需要导入的Excel文档,选择工具中的Export To TestDirector。最后填写的字段,必须要把使用的字段和Excel的列字面对应。
    还有要注意的是,Excel文档必须标准规范,不能有合并单元格,也不能有分格的情况。Excel里面的一行,代表输入的一条用例内容。

    Word的处理方法相当的复杂,就不多介绍了。

    11.关于项目的显示

    在Site Administraor中,Projects页,选中需要隐藏的项目,点击“Deactivate”,再登陆界面,就无法看到此项目了。

    12.关于项目的控制问题1

    TD对于各种元素的控制实在算不上很好,比如新添加的字段,位置和大小都是固定的,无法修改,比如如果新添加一个字段,需要录入大量的文本,实际只能看到最前面的几个字符而已。

    还有就是一些缺省的值无法修改(Plan、Subject等),在使用的时候,中间总夹杂着英文(特别是在出报表的时候,看着就讨厌)。

    13.关于项目的控制问题2

    在Test LAB中,如果使用了自己的State,在自己的状态前面无法使用小图标,和缺省的不一样。

    自己的状态几乎无法控制。状态分用例的状态和步骤的状态,如果步骤的状态使用了自定义的状态,结果用例的状态,还是以缺省定义的状态为主。而直接修改用例的状态为自定义的状态,则步骤的状态都变成了“No Run”,这是最讨厌的。

    14.录入用例的稳定性问题

    在TEST PLAN中录入的时候,总发现有的时候数据没有录入进去。界面也没有保存按钮,只能通过切换来看。

    在统计表也有同样的问题存在,没有有效的保存机制,总是不确定是否已经保存!!

    15.关于EXCEL导入用例的问题

    Excel导入的时候,需要选中导入的行,导入的时候,只导入选中的那些行。

    Excel导入的时候,如果Subject和Test Name一样,则只能导入第一行,其实这里TD应该处理一下的,比如名称加序号等。

    16.界面内容的控制

    TD这点不好,界面元素无法隐藏,特别是Tab,只能取消相应的控制。控制里面包含的也不全,一些操作无法取消。

    17.列问题

    列无法保存,只能每次手工进行调整。

    18.Execution Flow

    Execution Flow的150条限制有些莫名其妙。

    19.Tools中的内容

    Document Generator是比较好玩的,生成的文档比较大,唬人最好,很Easy就能做出几百页的文档。

    Product Information的版权信息(C)显示的是?,应该算一个bug吧。

    20.过滤条件

    过滤的时候,在符号的左右都需要加空格,特别是( ),不加空格不承认。

    21.用例的提交问题

    测试用例有些死板,因为自定义的东西加入不到Step面板中,写的时候也就有了一些限制。比如Actual只有用例的,没有步骤的,不方便。

    22.State的转换

    这里也不好,所有的状态都显示出来,只是无法选择限制的状态而已,其实最好把不需要的状态都隐藏,只显示受控制的状态。
  • 相关测试工具下载

    2008-12-02 17:38:11

    相关测试工具下载

    HP-Mercury软件测试工具下载,随时更新

    官方下载:
    http://downloads.mercury.com/cgi-bin/portal/download/index.jsp
    LoadRunner 8.1下载
    http://esd.mercury.com/akdlm/trial/lr/LR81Download.exe
    TestDirector for Quality Center
    http://esd.mercury.com/akdlm/trial/qc/quality-center-starter-edition.zip
    QTP 9.2下载
    http://esd.mercury.com/akdlm/trial/qtp/qtp92.zip
    其他下载地址:
    LoadRunner 8.0下载
    http://www.tomore.com/catalog/3_25/7.htm
    LoadRunner.8.0.工业级测试工具.part01.rar
    ……
    ……
    LoadRunner.8.0.工业级测试工具.part22.rar
    QTP 8.2下载:
    http://www.tomore.com/catalog/3_25/5.htm
    QuickTest.Pro.8.2.中文版.强大测试工具.QuickTest_Pro_82_CHS_ENG.part01.rar
    ……
    ……
    QuickTest.Pro.8.2.中文版.强大测试工具.QuickTest_Pro_82_CHS_ENG.part18.rar

    测试工具下载推荐
    CC/CQ,PCVS, CVS ,WinCVS , TD/QC所有配置管理工具下载网站:
    SCMLife--致力于做一流得配置管理社区电驴测试工具资源下载:
    1)        LoadRunner7.8
    http://lib.verycd.com/2005/01/07/0000034096.html
    2)WinRunner7.6
    http://lib.verycd.com/2005/03/16/0000042388.html
    3)TestDirector 7.6 http://board.verycd.com/t162206.html
    FTP:TD7.6下载:
    TD 7.6 SP4 企业版
    TD 7.6 SP4标准版
    4)WinRunner 7.6下载用快车就行http://www.clzx.net.cn/Soft/ShowSoft.asp?SoftID=450
    WinRunner8。0电驴下载
    http://lib.verycd.com/2005/09/18/0000065515.html
    5)QuickTest Pro 8.2 电驴下载http://lib.verycd.com/2005/09/19/0000065551.html
    6)LoadRunner 8.0下载地址:http://lib.verycd.com/2005/10/01/0000067173.html
    LoadRunner 8.1下载地址
    Ftp: LoadRrunner 8.0下载http://esd.mercury.com/akdlm/trial/lr/LR8DownLoad.exe
    7).  TestDirector 8.0 电驴下载http://lib.verycd.com/2006/03/19/0000095046.html
    七  Java开源测试工具汇总
            1  JUnit  
    JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
    http://www.junit.org/
    2 Cactus  
    Cactus是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的Java方法如HttpServletRequest,HttpServletResponse,HttpSession等
    http://jakarta.apache.org/cactus/
    3 Abbot  
    Abbot是一个用来测试Java GUIs的框架。用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。
    http://abbot.sourceforge.net/
    4 JUnitPerf  
    Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化http://www.clarkware.com/software/JUnitPerf.html
    5        DbUnit  
    DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。
    http://dbunit.sourceforge.net/
    6        Mockrunner  
    Mockrunner用在J2EE环境中进行应用程序的单元测试。它不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
    http://mockrunner.sourceforge.net/index.html
    7        DBMonster  
    DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。
    http://dbmonster.kernelpanic.pl/

    8        MockEJB  
    MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。
    http://mockejb.sourceforge.net/
    9        StrutsTestCase  
    StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,可以通过运行servlet引擎来测试。http://strutstestcase.sourceforge.net/
    10  JFCUnit  
    JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
    http://jfcunit.sourceforge.net/
    11JTestCase  
    JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。
    http://jtestcase.sourceforge.net/
    12SQLUnit  
    SQLUnit是一个单元测试框架,用于对数据库存储过程进行回归测试。用 Java/JUnit/XML开发。
    http://sqlunit.sourceforge.net
    13 JTR  
    JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。JTR的licensed是GPL协议。
    http://jtrunner.sourceforge.net/
    14 Marathon  
    Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。Marathon的焦点是放在最终用户的测试上。
    http://marathonman.sourceforge.net
    15 TestNG  
    TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:
    *支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)
    *灵活的Test配置
    *支持默认的runtime和logging JDK功能
    *强大的执行模型(不再TestSuite)
    *支持独立的测试方法。
    http://testng.org/
    16 Surrogate Test framework  
    Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。这个框架基于AspectJ技术
    http://surrogate.sourceforge.net
    17 MockCreator  
    MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。
    http://mockcreator.sourceforge.net/
    18 jMock  
    jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。
    http://www.jmock.org/
    19 EasyMock  
    EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。
    http://www.easymock.org/
    20 The Grinder  
    The Grinder是一个负载测试框架。在BSD开源协议下免费使用。
    http://grinder.sourceforge.net/
    21 XMLUnit  
    XMLUnit不仅有Java版本的还有.Net版本的。Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。这些类可以用来比较两张XML之间的不同之处,展示XML利用XSLT来,校验XML,求得XPath表达式在XML中的值,遍历XML中的某一节点利DOM展开,
    http://xmlunit.sourceforge.net/
    22        Jameleon  
    Jameleon一个自动化测试工具。它被用来测试各种各样的应用程序,所以它被设计成插件模式。为了使整个测试过程变得简单Jameleon提供了一个GUI,因此Jameleon实现了一个Swing 插件。
    http://jameleon.sourceforge.net/index.html
    23        J2MEUnit  
    J2MEUnit是应用在J2ME应用程序的一个单元测试框架。它基于JUnit.
    http://j2meunit.sourceforge.net/
    24        Jetif  
    Jetif是一个用纯Java实现的回归测试框架。它为Java程序单元测试以及功能测试提供了一个简单而且可 伸缩的架构,可以用于个人开发或企业级开发的测试。它容易使用,功能强大,而且拥有一些企业级测试的重要功能。Jetif来源于JUnit, JTestCase以及TestNG的启发,有几个基本的概念直接来自于JUnit, 比如说断言机制,Test Listener的概念,因此从JUnit转到Jetif是非常容易的。
    http://jetif.sourceforge.net/
    25        GroboUtils  
    GroboUtils使得扩展Java测试变得可能。它包括用在Java不同方面测试的多个子项目。在GroboUtils中最常被到的工具是:多线程测试(multi-threaded tests),整体单元测试(hierarchial unit tests),代码覆盖工具(code coverage tool)。
    http://groboutils.sourceforge.net/
    26        Testare  
    TESTARE是用来简化分布式应用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI环境下)测试开发过程的一个测试框架.
    https://testare.dev.java.net/
  • 软件工程基本知识

    2008-11-13 12:05:02

    一、软件工程的产生

        随着1946年世界上第一台电子计算机的诞生,计算机的灵魂——软件也慢慢发展起来。在5060年代开发大型系统软件用手工方式进行,生产效率低、出错率高。例如,IBM公司的OS/360操作系统用了5000人年开发,软件产品每个版本均有1000多个大大小小的错误,这种状态无法满足日益增长的软件生产的需要。产生了以下几个方面的问题:

    (1)       软件复杂性飞速增长

    (2)       软件成本极高

    (3)       开发周期长

    (4)       维护工作量大

    由于以上几个方面的原因,导致了60年代的“软件危机”,软件危机是指软件在开发和维护过程中所遇到的一系列严重。概括地说软件危机包含以下两方面的问题:

    (1)       如何开发软件,怎样满足软件日益增长的需求;

    (2)       如何维护数量不断膨胀地已有软件。

    具体地说,软件危机主要有以下表现:

    (1)       对软件开发成本和进度的估计常常很不准确;

    (2)       用户对“已完成的”软件系统不满意的现象经常发生;

    (3)       软件产品的质量往往靠不组合;

    (4)       软件常常是不可维护的;

    (5)       软件通常没有适当的文档资料;

    (6)       软件成本在计算机系统总体成本中所占的比例逐年上升;

    (7)       软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

        为了解决软件危机中出现的问题,在1968年计算机软件学术会议上第一次的提出了“软件工程”的概念。

    软件工程强调使用生命周期方法学和各种结构化分析与设计技术。用“系统的观点来分解问题然后再分别解决各个子问题。”

    生命周期:和生命的孕育、诞生、成长于衰亡一样,软件生命周期指软件的有关概念的提出到软件的消亡共包括可行性分析概要设计详细设计编码测试运行和维护6个阶段。 

    二、软件工程核心思想

    软件工程是指导计算机软件开发和维护的工程科学。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,这就是软件工程。管理和技术是软件工程的核心

    软件工程的七条基本原理:

    1.  用分阶段的生命周期计划严格管理;

    这条原理意味着应把软件生命周期分成若干阶段,并制定相应地切实可行的计划,然后严格按照计划对软件的开发维护工作进行管理。

    Boehm认为,在软件的整个生命周期中应该制定并严格执行六类计划:

    1)  项目概要计划

    2)  里程碑计划

    3)  项目控制计划

    4)  产品控制计划

    5)  验证计划

    6)  运行维护计划

         不同层次管理人员都必须严格按照计划各尽其责地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离预定计划。

    2.  坚持进行阶段评审;

    软件的质量保证工作不能等到编码阶段结束之后再进行。至少有两个理由:

    第一,   大部分错误是在编码之前造成的,根据Boehm等人的统计,设计错误占软件错误的63%,编码错误仅占37%。

    第二,   错误发现与改正的越晚,所需付出的代价也越高。

    因此,在每个阶段都进行严格的评审,以便尽早发现在软件开发过程中所犯的错误,是一条必须遵循的重要原则。

    3.  实现严格的产品控制;

    在软件开发过程中不随意改变需求,因为改变一项需求往往需要付出较高的代价。绝对不能谁想修改软件,就随意修改软件。

    4.  采用现代化设计技术;

    1960s 年代末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技术。以后又进一步发展出各种结构分析与结构设计技术。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率

    5.  结果应能清楚地审查;

    6.  开发人员应该少而精;

    7.  承认不断改进软件工程事件的必要性。

  • 软件工程之需求分析(一)

    2008-11-13 12:02:09

    [编者按:]现在人们越来越认识到软件工程在软件开发中的重要作用。目前国内软件在开发中还没有对软件开发的过程进行明确规定,文档不完整,也不规范,软件项目的成功往往归功于软件开发组的一些杰出个人或小组的努力。这种依赖于个别人员上的成功并不能为全组织的软件生产率和质量的提高奠定有效的基础,只有通过建立全过程的改善,采用严格的软件工程方法和管理,并且坚持不懈地付诸实践,才能取得全组织的软件过程能力的不断提高,使软件开发更规范合理。
       我们马上就要进入WTO,因此软件开发也要与国际接轨,只有这样才能提高我们在项目管理水平,最终开发出高质量的软件。

      综述
     
       软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,本文以医院管理系统为例详细介绍了需求工程的构成和进行方法。

      一、需求开发

      需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤

       1. 需求获取

       确定需求开发过程确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。

       2. 需求分析

       绘制关联图、创建开发原型、分析可行性、确定需求优先级、为需求建立模型、编写数据字典、应用质量功能调配。

       3. 编写规格说明书

       项目视图和范围文档包含了业务需求,而使用实例文档则包含了用户需求

       4. 需求验证

       审查需求文档、依据需求编写测试用例、编写用户手册、确定合格的标准

      二、需求管理

       需求开发的结果应该有项目视图和范围文档、使用实例文档、软件需求规格说明及相关分析模型。经评审批准,这些文档就定义了开发工作的需求基线。

    一、综述

      软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,本文以医院管理系统为例详细介绍了需求工程的构成和进行方法。

      首先我们必须了解需求工程和其他项目过程的关系:


           图1 需求与其他项目过程的关系


      软件需求包括三个不同的层次-业务需求、用户需求和功能需求-也包括非功能需求:业务需说明了提供给客户和产品开发商的新系统的最初利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明;用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明;功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。


             图2 软件需求各组成部分关系

      需求工程分为了需求开发和需求管理两个阶段:下面就以这两个阶段说明:

    一,需求开发

      需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤。

      1. 需求获取

       1)确定需求开发过程:确定需求开发过程确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。对重要的步骤要给予一定指导,这将有助于分析人员的工作,而且也使收集需求活动的安排和进度计划更容易进行。

       2)编写项目视图和范围文档:项目视图和范围文档应该包括高层的产品业务目标,所有的使用实例和功能需求都必须遵从能达到的业务需求。项目视图说明使所有项目参与者对项目的目标能达成共识。而范围则是作为评估需求或潜在特性的参考。

      1 2 3 4 5 6
    A 业务需求 背景 业务机遇 业务目标 客户或市场需求 提供给客户的价值 业务风险
    B 项目视图的解决方案 项目视图陈述 主要特性 假设和依赖环境      
    C 范围和局限性 首次发行的范围 随后发行的范围 局限性和专用性      
    D 业务环境 客户概貌 项目优先级        
    E 产品成功的因素            

                  表1 项目视图和范围文档的模板

      a . 1 背景 在这一部分,总结新产品的理论基础,并提供关于产品开发的历史背景或形势的一般性描述。

      a.2 业务机遇 描述现存的市场机遇或正在解决的业务问题。描述商品竞争的市场和信息系统将运用的环境。包括对现存产品的一个简要的相对评价和解决方案,并指出所建议的产品为什么具有吸引力和它们所能带来的竞争优势。

      a.3 业务目标 用一个定量和可测量的合理方法总结产品所带来的重要商业利润,把重点放在给业务的价值上。

      a.4 客户或市场需求 描述一些典型客户的需求,包括不满足现有市场上的产品或信息系统的需求。提出客户目前所遇到的问题在新产品中将可能(或不可能)出现的阐述,提供客户怎样使用产品的例子。确定了产品所能运行的软、硬件平台。

      a.5 提供给客户的价值 确定产品给客户带来的价值,并指明产品怎样满足客户的需要。

      a.6 业务风险 总结开发(或不开发)该产品有关的主要业务风险,例如市场竞争、时间问题、用户的接受能力、实现的问题或对业务可能带来的消极影响。预测风险的严重性,指明你所能采取的减轻风险的措施。

      b.1 项目视图陈述 编写一个总结长远目标和有关开发新产品目的的简要项目视图陈述。项目视图陈述将考虑权衡有不同需求客户的看法。它可能有点理想化,但必须以现有的或所期待的客户市场、企业框架、组织的战略方向和资源局限性为基础。

      b.2 主要特性 包括新产品将提供的主要特性和用户性能的列表。强调的是区别于以往产品和竞争产品的特性。可以从用户需求和功能需求中得到这些特性。

      b.3 假设和依赖环境 在构思项目和编写项目视图和范围文档时,要记录所作出的任何假设。通常一方所持的假设应与另一方不同。

      c.1 首次发行的范围 总结首次发行的产品所具有的性能。描述了产品的质量特性,这些特性使产品可以为不同的客户群提供预期的成果。

      c.2 随后发行的范围 如果你想象一个周期性的产品演变过程,就要指明哪一个主要特性的开发将被延期,并期待随后版本发行的日期。

      c.3 局限性和专用性 明确定义包括和不包括的特性和功能的界线是处理范围设定和客户期望的一个途径。列出风险承担者们期望的而你却不打算把它包括到产品中的特性和功能。

      d.1 客户概貌 客户概述明确了这一产品的不同类型客户的一些本质的特点,以及目标市场部门和在这些部门中的不同客户的特征。

      d.2 项目的优先级 一旦明确建立项目的优先级,风险承担者和项目的参与者就能把精力集中在一系列共同的目标上。达到这一目的的一个途径是考虑软件项目的五个方面:性能、质量、计划、成本和人员。

      e. 产品成功的因素 明确产品的成功是如何定义和测量的,并指明对产品的成功有巨大影响的几个因素。不仅要包括组织直接控制的范围内的事务,还要包括外部因素。如果可能,可建立测量的标准用于评价是否达到业务目标.

    3)用户群分类:产品的用户在很多方面存在着差异,例如:用户使用产品的频度、他们的应用领域和计算机系统知识、他们所使用的产品特性、他们所进行的业务过程、他们在地理上的布局以及他们的访问优先级。根据这些差异,你可以把这些不同的用户分成小组。用户类不一定都指人,你可以把其它应用程序或系统接口所用的硬件组件也看成是附加用户类的成员。以这种方式来看待应用程序接口,可以帮助你确定产品中那些与外部应用程序或组件有关的需求。将用户群分类并归纳各自特点为避免出现疏忽某一用户群需求的情况,要将可能使都有所差异。详细描述出它们的个性特点及任务状况,将有助于产品设计。

      4)选择产品代表:择每类用户的产品代表为每类用户至少选择一位能真正代表他们需求的人作为那一类用户的代表并能作出决策。这对于内部信息系统的开发是最易实现的,因为此时,用户就是身边的职员。而对于商业开发,就得在主要的客户或测试者中建立起良好的合作关系,并确定合适的产品代表。他们必须一直参与项目的开发而且有权作出决策。每一个产品代表者代表了一个特定的用户类,并在那个用户类和开发者之间充当主要的接口。

      5)建立核心队伍:建立起典型用户的核心队伍把同类产品或你的产品的先前版本用户代表召集起来,从他们那里收集目前产品的功能需求和非功能需求。这样的核心队伍对于商业开发尤为有用,因为你拥有一个庞大且多样的客户基础。与产品代表的区别在于,核心队伍成员通常没有决定权。

      6)确定使用实例:让用户代表确定使用实例从用户代表处收集他们使用软件完成所需任务的描述-使用实例,讨论用户与系统间的交互方式和对话要求。在编写使用实例的文档时可采用标准模版,在使用实例基础上可得到功能需求。

      一个单一的使用实例可能包括完成某项任务的许多逻辑相关任务和交互顺序。因此,一个使用实例是相关的用法说明的集合,并且一个说明是使用实例的例子。在描述时列出执行者和系统之间相互交互或对话的顺序。当这种对话结束时,执行者也达到了预期的目的。

      对于一些复杂的使用实例,画出图形分析模型是有益的,这些模型包括数据流程图、实体关系图、状态转化图、对象类和联系图。

      使用实例的描述并不向开发者提供他们所要开发的功能的细节。为了减少这种不确定性,你需要把每一个使用实例叙述成详细的功能需求。每一个使用实例可引伸出多个功能需求,这将使执行者可以执行相关的任务;并且多个使用实例可能需要相同的功能需求。使用实例方法给需求获取带来的好处来自于该方法是以任务为中心和以用户为中心的观点。比起使用以功能为中心的方法,使用实例方法可以使用户更清楚地认识到新系统允许他们做什么。

      每一个使用实例都描述了一个方法,用户可以利用这个方法与系统进行交互,从而达到特定的目标。使用实例可有效地捕捉大多数所期望的系统行为,但是你可能有一些需求,这些需求与用户任务或其他执行者之间的交互没有特定的关系。这时你就需要一个独立的需求规格说明。

      7)召开应用程序开发联系会议:召开应用程序开发联系会议应用程序开发联系会议是范围广的、简便的专题讨论会,也是分析人员与客户代表之间一种很好的合作办法,并能由此拟出需求文档的底稿。该会议通过紧密而集中的讨论得以将客户与开发人员间的合作伙伴关系付诸于实践。

      8)分析用户工作流程:分析用户工作流程观察用户执行业务任务的过程。画一张简单的示意图(最好用数据流图)来描绘出用户什么时候获得什么数据,并怎样使用这些数据。编制业务过程流程文档将有助于明确产品的使用实例和功能需求。你甚至可能发现客户并不真地需要一个全新的软件系统就能达到他们的业务目标。

      9)确定质量属性:确定质量属性和其它非功能需求在功能需求之外再考虑一下非功能的质量特点,这会使你的产品达到并超过客户的期望。对系统如何能很好地执行某些行为或让用户采取某一措施的陈述就是质量属性,这是一种非功能需求。听取那些描述合理特性的意见:快捷、简易、直觉性、用户友好、健壮性、可靠性、安全性和高效性。你将要和用户一起商讨精确定义他们模糊的和主观言辞的真正含义。

      10)检查问题报告:通过检查当前系统的问题报告来进一步完善需求客户的问题报告及补充需求为新产品或新版本提供了大量丰富的改进及增加特性的想法,负责提供用户支持及帮助的人能为收集需求过程提供极有价值的信息。

      11)需求重用:跨项目重用需求如果客户要求的功能与已有的产品很相似,则可查看需求是否有足够的灵活性以允许重用一些已有的软件组件。

  • 八种反应表示员工认可你

    2008-11-13 11:57:38

    发表在www.hr.com上的一篇文章指出,欲了解你的管理风格是否为员工所认可,有八种迹象可供参考。

      第一,即使你不在办公室,你的员工也知道你期望他们做什么。这意味着你已经让每个人明白了你对他们的期望,并且赋予了他们充分的自由去做自己认为正确的事情。

      第二,当你回到办公室,你的员工会主动告诉你他们做了什么,为什么那样做,出现了什么样的结果。这意味着他们对自己做的事情相当自信,并且相信你也认为他们做对了。

      第三,在你召开例行会议时,你的员工个个都很放松,并且能够畅所欲言。如果开口的人寥寥无几,意味着你平时可能太过独裁。

      第四,对于公司里发生的一切,鲜有人传播小道消息或无端猜测。这意味你的沟通工作做得相当不错。

      第五,你的员工对待客户的方式与你对待客户的方式一样。这意味着你已经在这方面给员工确立了一个适当的标准,也意味着他们非常清楚公司的目标,知道自己应该做什么。

      第六,你的员工能够彼此尊重,合作无间。通常,员工之间冲突不断,是因为领导容忍某些人的不良表现。当他们之间合作无间,往往意味着你是一个公平、得力的领导者。

      第七,在收到你的负面反馈后,你的员工不会生气或觉得震惊。这意味着员工认可你的看法,也意味着你很好地掌握了在不伤害他们自尊的情况下,提供负面反馈的技巧。

      第八,当出现人手不足的情况时,你的员工会主动推荐好的候选人,公司的员工流失率低。这意昧着他们乐意追随你,乐意与你一起工作。
  • QuickTest Plus小工具,大作用(转)

    2008-11-13 11:55:57

    象我这样初学QTP的朋友刚开始时很可能没有注意到QuickTest Plus,因为QTP安装后默认是
    没有安装plus的,千回百转知道了plus,大概看了看,发现plus虽然都是些辅助性的小工具,但
    往往会给你的工作带来事半功倍的效果。

    一、安装QuickTest plus

      QTP安装后,在 程序 > QuickTest Professional下点击QuickTest Plus,然后按照提示一步步往下安装即可,
      其中要求输入序列号,输入和QTP安装时相同的序列号就可以了(8888-8888888888)。

    二、提示和技巧

      plus不仅提供了一些工具,还在它的帮助手册里给出了一些提示和技巧,以及一些实用的Function。
      在这里我把一些比较常用的好东东贴出来,其他的就看plus的帮助吧。

    1、创建action template.
        当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template
        来实现最简单快捷。
        方法:用记事本等文本编辑器,输入如下类似的内容:
              'Company: xxxx
              'Author: xxx
              'Product: xxx
              'Date: xx
             然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录,重启QTP,新建一个action试试,新建的action会包含以上信息。

    2、关于设置测试报告里只显示error的信息。
        帮助中说:修改安装目录下bin\QTReport.ini文件,增加以下内容:
             [FilterDialog]
             ReportAppDefaultFilter=1 # for error only
             ReportAppDefaultFilter=3 # shows all messages (default)
        但根据我的测试结果,不尽其然:
         1)当ReportAppDefaultFilter=1时,如果Object Repository中缺少对象,在报告中会在相应的
           action前打叉,但不会提示具体错误,而成功的步骤都有具体信息显示。
         2)用Reporter.ReportEvent测试的结果是:
            ReportAppDefaultFilter=1时,只显示micDone的具体信息;
            ReportAppDefaultFilter=2时,只显示micFail的具体信息;
            ReportAppDefaultFilter=3时,只显示micDone和micFail的具体信息;
            ReportAppDefaultFilter=4时,只显示micPass的具体信息;

        似乎无规律可寻,所以我的结论暂时是:不要设置这个参数,用默认的,显示所有信息,更多的信息有利于分析结果。

    3. 启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.mercuryinteractive.com"
    4. 关闭IE或其他程序的语句:SystemUtil.CloseProcessByName "app.exe"
         or  SystemUtil.CloseProcessByWndTitle "Some Title"

    三、Function Libraries

        plus的帮助中提供了一些常用的Function,把这些function copy到文本编辑器中保存为.vbs文件,并添加到Resources中就可以直接调用了,
      或直接copy到你的action中,就可以在当前的action中调用。更推荐第一种方法,所有的action都可以调用。

    1、文件操作相关的function,如下,望名则可生意:
        Function CreateFile(sFilename, bOverwrite);
        Function OpenFile(sFilename, iomode, create);
        Function AppendToFile(sFilename, sLine);
        Function WriteToFile(sFilename, sLine);
       
    2、Function NormalizeString(OrgStr); (将字符串变成regular express)

    3、GlobalDictionary的使用,这是另外一种可以共享全局变量的方法,在所有的action中,包括local和external action中都可以访问。

    4、使用文件系统相关的function:
        Function ReadLineFromFile (byref FileRef);
        Sub FileDelete ( FilePath);
        Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace);
        Function CheckFileExists (FilePath)

    5. web table相关的function:
        Function ItemByKeyColumn(): 根据table中某列的值,得到同一行中另一列的对象。(这个功能非常有用。)
        Function ObjectsByMicClass(Obj, micClass): 得到table中所有的micClass类型的对象集合。


    四、工具
      
      1、Automation Generator Utility
         添加一系列动作,然后自动完成。如:启动QTP,然后执行test1, test2, test3...,最后关闭QTP,还可以连接或断开Quality center.
         值得注意的是,每个test都可以分别指定test result文件,这样可以把所有test result指定到同一个目录下,所有test执行完成后,
         用Test Result Viewer就可以快速的查看测试报告。

      2、External Action Call Modifier Utility
         外部Action调用修改工具。当删除一个Reusable action前,如果没有先删除其他test中对它的调用,则打开其他test时,会提示找不到某某
         action,这种情况下启用该工具,工具会列出test下所有调用的外部action(如果调用的action是使用相对路径,则不会列出来),如果外部
         action找不到,会用红色的问号表示,删除它并保存后就OK了。
         也可以在此处修改外部action的来源,修改后原来的action parameter仍会保留。
      
      3、Repository Merge Utility
         合并多个对象库文件中的对象,如果出现冲突,可以选择忽略,或手工合并,或自动合并。
         对象库文件是Action目录下的Resource.mtr文件。

      4. Report Analyzer
         Test Result的另一个查看工具,提供了一些过滤条件,比如只查看failed step, 或只查看checkpoints,或只查看某个action。

    先就写这么多了,抛砖引玉,希望你能发现你想要的东西。写得不对的,不要客气,请指出来,不胜感激。
  • 〔转〕10年跳槽经验总结 高级人才不用找工作

    2008-11-13 11:54:24

    首先,真正的高级人才是不用找工作的,因为只有被工作找的份。

    但是,难免有些高级人才厌倦了旧的工作环境,或者遇到天花板,没有了发展空间,或者遇到新老板上任后排除异己来提拔自己的亲信等等,如果您真打算自己去找工作,那么至少需注意以下几点:

    1、网上求职尤其需注意那些一天到晚在网上打招聘广告的公司。这类公司通常分成两类:
    一类是垃圾公司,如一些别有用心的保险公司、中介公司等。这类公司以获取你的个人资源和个人信息为目的。

    二类是某些小有名气的公司,但由于用人条件苛刻并且薪资待遇与他们的苛刻要求不匹配,所以一年到头在招人,却总也招不到让他们满意的人。还有一些著名公司,以打广告为目的,招人为幌子,一个破烂职位能放在网上招一两年。

    2、千万小心猎头公司。他们更象是猎狗公司,他们嗅觉灵敏,对打探个人隐私有着狂热而又执着的癖好,往往是工作没给你找成功,却把你现在工作的公司,以前工作的公司闹得沸沸扬扬。如果你不想丢掉现在的工作,不想让你以前的同事议论非非,那么,请慎重选择猎头公司,慎重透露你的隐私给猎头公司。切记切记。

    3、只给你发邮件而不打电话叫你去面试的公司,必须不予理睬。通常是一些垃圾公司,没有能力满足你的基本要求。他们自己也没把握雇得起你,所以连电话费也免了。

    4、第一次电话就让你于某月某日几点钟去哪里面试的公司,必须立刻回绝。因为你到时候到那里一看,一堆刚毕业2、3年的年轻后生正爬在桌子上填写简历。你跟这些人竞争的结果就是你的工资最多只有他们的1倍高,5、6千顶天了。那么应该怎么回答呢?告诉人事经理,我没空,我只有莫月某日下午几点钟才有空,若不然,就不用去了,浪费时间,肯定是低级职位。
     
    5、第一次面试就让你带好学历学位证书去面试的公司,千万别去,因为不用问,肯定是低级职位。

    6、去公司面试前必须问清楚是谁面试你,如果得知不是总经理或副总经理来面你,那么我劝你立刻回绝这个职位,因为如果面你的是个低三下四的中层干部,那么你的职位肯定是低四下五的低贱职位。总之,打扮得笔挺结果给猪看了,即花钱又浪费时间。

    7、一进门就让你填一堆表格的公司,必须立马走人,因为这是招聘中低等员工的惯用伎俩,特别是对那些喜欢出一些狗屁不通的试卷的公司,千万不要跟他们浪费时间。况且,应聘的人为了得到这份工作,根本就不可能按自己的真实情况回答这种测试卷,废纸一堆,招聘的人根本不懂人事管理。

    8、不要去人才市场找工作,高端职位不是放在菜市场上卖的。

    9、如果公司所在城市离你较远,需要飞机前往,一定要问明公司报销不报销路费。如果不报销,或者说如果录取就报销的公司,建议不要冒险去试。即使十个面试者中最后被你淘汰了九个,你还是会发现该公司的福利待遇极差极差。惨痛教训,切记勿再试。

    10、要知道一个公司的整体面貌和素质如何,那就请留意人事部职员的面貌,尤其是人事经理的素质往往是一个公司整体素质的缩影。如果接待你的人事经理较热心较礼貌周到,那么该公司的工作氛围一般较好,如果人事经理较冷漠或不很礼貌,那么该公司同事关系往往较残酷较冷漠。

    11、不要试图跟新加坡或台湾老板共事,否则你就等着身心接受摧残和扭曲吧。

    12、注意Hr的职业病,几乎每个HR都有窥探癖和多疑症。

    13、最后一条,也是最重要的一条,12年的跳槽经验表明,较好的中国公司及正规的外企正愈来愈倾向于日本企业的终身雇佣制度,即:拒绝跳槽,拒绝人才流动。所有的HR都有一种固执而又变态的心理:他不希望成为你的第一个开苞的男人,但却强烈地希望是你的第二个雇主,并且是在该领域被第一个雇主用了5年到八年之后,同时希望自己是你的最后一个雇主。所以HR对你的跳槽经历往往怀有一种强烈的偏见和关注,对你跳槽原因的研究兴趣近乎变态。所以,对于绝大多数求职者来讲,最好的选择就是:不跳槽。或者至少在一个单位工作5~8年再考虑跳槽,而作为对这5~8年经验的积累的回报,薪水往往应该加倍,否则就是你贱卖了自己。这就是薪水一路加倍的秘密。

    14、最后,祝各位达人职业生涯中薪水加倍加倍再加倍

  • QTP录制不了脚本常见问题解决方法

    2008-11-13 11:53:26

    问题起因:
    在安装QTP后,或者禁用IE浏览器里的一些ActiveX控件后,正常录制QTP事,不能产生相应的录制脚本,脚本内容为空。

    解决方法:QTP在IE中录制脚本是依靠一个叫BHOManager Class的动态链接库来完成的。当这个控件没有被加载,或者被禁用时,就会出现上述症状。于是,解决方法就很简单了,重新加载,或启用这个控件,一切就OK啦。

    具体步骤:
    打开IE,在菜单中选择[工具]/[Internet选项]进入Internet配置界面。选择[程序]/[管理加载项],查看目前加载的ActiveX的情况。

    当看到存在BHOManager Class并且其状态是“禁用”时,点击“启用”开启这个功能,并保存后退出即可解决问题。
    当在管理加载项里找不到BHOManger Class这个加载项时,如果你安装了QTP,那么在C:\WINDOWS\system32下会存在一个叫BHOManager.dll的动态链接库,或者可以直接在计算机里搜索BHOManager.dll,然后查看其路径。加载这个dll,加载方法为:点击[开始]/[运行],输入cmd,然后定位到dll所在目录,键入regsvr32 BHOManager.dll命令,即可注册此dll。问题解决。

    注:如发现BHOManger Class是启用状态,但仍录制不了,就先禁用再重新启用一遍!

  • 使用loadrunner在linux下的常用方法

    2008-11-13 11:51:36

    需要下载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去添加LINUX机器监视它了。

  • 中兴如何化解元老“离职潮”危机

    2008-11-05 10:30:25

    兴通讯(000063.SZ,0763.HK)在发布一份亮丽年报的同时,也宣布了一项公司高层人事变更:周苏苏因个人原因辞去公司高级副总裁职务,同意于涌和钟宏因个人原因辞去公司副总裁职务。中兴通讯并没有对这三位副总裁离职作更多的说明。

      但是,在本人看来,周苏苏的离职很可能和去年年底她涉及的“内线交易门”有关。2007年11月16日,中兴发布公告,副总裁周苏苏于2007年11月12日买入公司A股股票1万股,距离9月4日卖出公司A股股票,不足6个月。也许,周苏苏是“冤枉”的,事情出于意外或者偶然的不当操作,但是,股民和社会舆论却“不好说话”。

      当时这个事件引起股民很大反响。中兴不敢怠慢,立即做了妥善处置和“紧急消毒”。中兴通讯向全体股东道歉,并决定将周苏苏自前次卖出至本次买入所形成的差额收益,记入公司所有。而最后周苏苏离职成了中兴对于这一个事件的了结,尽管代价看上去大了一些。

      至于一同离职的于涌和钟宏,都是中兴的元老级副总裁,在中兴都有10年以上工龄。于涌曾是华为资金计划部的骨干,非常能干和敬业,业绩也非常好,在华为时候已经崭露头角。在1997年,于涌因为一些原因,离开华为,加盟中兴通信。之后,很快将华为成功经验在中兴复制,创建中兴市场财经体系和融资体系,得到中兴董事长侯为贵的赏识和重用,后升任中兴副总裁,兼任中兴国际董事长和中兴能源总裁。

      钟宏负责政府关系和渠道销售,也是中兴通信的有功之臣,是侯为贵的爱将之一。

      中兴通信的海外业务离不开于涌和钟宏。因为中兴通信的海外市场比较倚重发展中国家。因此,政府关系和出口信贷非常重要。

      但于涌和钟宏为中兴通信立下了汗马之劳的同时,也为公司承担了过于沉重的责任和风险。

      去年年底在菲律宾政坛炒得沸沸扬扬的中兴通信贿赂事件,被媒体称做“菲律宾门”。这一事件,被外界推测为于涌和钟宏“折损”的导火索。于涌是国际融资和出口信贷的专家,菲律宾项目当然离不开他的推动。其实,几乎所有中兴海外大项目的成功都离不开于涌的影子。这个是好事,有时候也不尽然。菲律宾出事了,也许不是中兴的错,可能就是菲律宾内部的政党斗争,可是中兴成了牺牲品,首先牺牲的就是于涌。当然,同样受冤枉的还有主管政府关系和代理渠道的中兴副总裁钟宏。

      中兴为了全体股民的利益,这么做,也是迫不得已,无可厚非。毕竟企业也要股东利益最大化,尤其是上市公司。只是,于涌和钟宏成了丢卒保车的“卒”。过河之卒,威力能当车使用,但是没有退路。

      但事情还有另外一种可能性。侯为贵或许是想借此机会,着力实现多元化,转移战线。因此,或许可以推断,这三个人的离任,表面上是惩罚违规高管,给股民和社会一个交待,实际上是将元老骨干进一步推上多元化战场。

      中兴的危机处理能力一直为外界称道。这样看来,华为还应多向中兴“取取经”。华为本来是模范生,有没有事情,都经常受责难;而中兴即使出了些问题甚至危机,却能化险为夷。

  • 华为任正非给公司患抑郁症员工的一封信

    2008-11-05 10:29:13

    我相信每一个人都能走出焦虑症和忧郁症的困境的!--任正非

      要快乐的度过充满困难的一生——任总给陈珠芳及党委成员的一封信


      陈珠芳及党委成员:


      华为不断地有员工自杀与自残,而且员工中患忧郁症、焦虑症的不断增多,令人十分担心。有什么办法可以让员工积极、开放、正派地面对人生?我思考再三,不得其解.


      我们要引导员工理解、欣赏和接受习惯高雅的生活习惯与文化活动,使他们从身心上自己解放自己。这次我们不惜使用为客户提供的服务,作一次演示,让大家看到高雅的生活无处不在。这些生活场景、生活方式北京、上海已经比较多,只要你愿意多花一些钱就可以实现。


      员工不能成为守财奴,不能成为金钱的奴隶,丰厚的薪酬是为了通过优裕、高雅的生活,激发人们更加努力去工作、有效的奋斗而服务的,不是使我们精神自闭、自锁。我们不要再把绅士风度、淑女精神当作资产阶级腐朽的东西,而自以粗鄙为荣。应该看到欧美发达国家的人民的自律,社会道德风尚是值得我们学习的。


      欧美国家的人,大多数不嫉妒别人的成功,也不对自己的处境自卑,而且和谐相处。而且华为的员工有这个经济基础,有条件比国人先走一步,做一个乐观、开放、自律、正派的人,给周边做个表率。当前一部分华为人反映出来的现象,恰恰相反,令人不安。一部分员工,不知道自己的祖坟为什么埋得这么好,还是碰到了什么神仙,突然富有后,就不知所措了.有些人表现得奢侈,张狂,在小区及社会上表现出那种咄咄逼人,不仅自己,自己的家人也趾高气扬……;一部分人对社会充满了怀疑的眼光,紧紧地捂着自己的钱袋子,认为谁都在打他的主意,对谁都不信任……。


      这些,都不是华为精神,这些人员不适合担任行政管理职位的,不管高低都不合适。他们所领导的团队一定萎靡不振。


      我们引导员工懂得高雅的文化与生活,积极、开放、正派地面对人生。人生苦短,不必自己折磨自己。不以物喜,不以己悲。同时也要牢记,唯有奋斗才会有益于社会。人生是美好的,美好并非洁白无暇。任何时候,任何处境都不要对生活失去信心。有机会去北京,可以去景山公园看看,从西门进去,那儿是一片歌的海洋,热得象海啸一样奔放,这些都是垂暮之年的老人,几十人一族,几百人一团,都在放声歌唱,多么的乐观,多么的豁达。看看他们的夕阳红,你为什么不等到那一天?快乐的人生,无论处境多么困难,只要你想快乐一定会快乐。


      人是有差距的,要承认差距存在,一个人对自己所处的环境,要有满足感,不要不断的攀比。例如:有人少壮不努力,有人十年寒窗苦;有人读书万卷活学活用,有人死记硬背,一部活字典;有人清晨起早锻炼,身体好,有人老睡懒觉,体质差;有人把精力集中在工作上,脑子无论何时何地都像车轱辘一样的转,而有人没有做到这样。……。


      待遇和处境能一样吗?你们没有对自己付出的努力有一种满足感,就会不断的折磨自己,和痛苦着,真是生在福中不知福。这不是宿命,宿命是人知道差距后,而不努力去改变。


      我不主张以组织的方式来实现员工的自我解放,而是倡导员工自觉自愿,自我娱乐,自己承担费用的方式来组织和参与各种活动。公司不予任何补贴,凡是补贴的,只要不再补贴了,这项活动就死亡了。“青春之歌”是一个好的名字,一歌、二歌……五歌……,各具特色,吸引不同性格与生活取向的人。其实就是各种俱乐部。员工在这些活动中,锻炼了自己,舒缓了压力,也进行了有效的沟通,消除自闭、自傲……。


      只要这些活动不议论政治,不触犯法律,不违反道德规范,我们不去干预。一旦有违规,我们可以对有关员工免除其行政职务,以及辞退等方式来解决。总之释放员工的郁闷,应通过多种途径和管道来解决,靠组织是无能为力的。


      员工不必为自己的弱点而太多的忧虑,而是要大大地发挥自己的优点,使自己充满自信,以此来解决自己的压抑问题。我自己就有许多地方是弱项,常被家人取笑小学生水平,若我全力以赴去提升那些弱的方面,也许我就做不了CEO了,我是集中发挥自己优点的优势。组织也要把精力集中在发展企业的优点,发展干部、员工的优点上,不要聚焦在后进员工上。克服缺点所需要付出的努力,往往远远大于强化优点所需要付出的努力。只有建立自信,才会更加开放与合作,才会有良好的人际关系。而员工往往不知道这一点。有一些员工工作干得好好的,正在出成绩的时候,不相信实践中会出真知、出将军,突然一下子要去考研,以使自己得到全面发展。


      当然,当他满副武装归来的时候,正好碰上我们打扫战场。要因势利导,使他们明白奋斗的乐趣,人生的乐趣。不厌恶生活。费敏、徐直军他们经常周末、深夜一大批人喝茶(务虚会),谈谈业务,谈谈未来,沟通沟通心里的想法,这种方法十分好。我们的主管何不妨每月与自己的下属或周边喝喝茶,明确传达一下自己对工作的理解和认识,使上、下都明白如何去操作。不善于沟通的人,是难做好行政主管的。


      我曾经想写一篇文章“快乐的人生”,以献给华为患忧郁症、焦虑症的朋友们,但一直没有时间。我想他们应去看一看北京景山公园的歌的海洋,看看丽江街上少数民族姑娘的对歌,也许会减轻他们的病情。我也曾是一个严重的忧郁症、焦虑症的患者,在医生的帮助下,加上自己的乐观,我的病完全治好了。


      我相信每一个人都能走出焦虑症和忧郁症的困境的!

732/4<1234>
Open Toolbar