发布新日志

  • 揭秘QTP的DeviceReplay对象(转)

    2010-02-26 11:24:55

    http://tech.it168.com/a2009/0729/614/000000614710.shtml


    http://www.51testing.com/html/82/n-141082.html
  • QTP and QC tips on Windows 7

    2010-02-09 15:16:37

    Please follow the methods below to configure your client side if your QTP or QC can’t work normally after you upgrade your OS to windows 7:

     

    >> If QTP can’t identify the objects, please install this patch.

    QTP_00644

     

    >> If QC can’t download the add-ins after type the QC URL.

    1.       Run QC client as administrator

    2.       If it still can’t work, then do the following steps

    a.       Search for UAC in start menu to open Change User Account Control

    b.       Select “Never notify” and restart computer

    c.       Shut down DEP (Enter cmd and run the command “bcdedit /set {current} nx AlwaysOff” as administrator)

    d.       Open the browser again to download the add-ins

  • qtp从SQL SERVER拿数据

    2009-03-01 01:19:23

    Dim ii,con,conset,rs,i
    Set con=createobject("adodb.connection")
    conset="DSN=buggit;Description=buggit;APP=QuickTest Professional;WSID=IT21;DATABASE=buggit;Trusted_Connection=Yes"
    '建立连接
    con.open conset
    '查看连接是否已建立
    If  con.state=0 Then
     msgbox"failed"
     else
     '建立空的记录集
    Set rs=createobject("adodb.recordset")
    '设置SQL语句
    sql="select top 10 PKID from TTestCase"
    '打开记录集
    rs.open sql,con
    rs.MoveFirst

    Do until rs.eof
    datatable.SetCurrentRow(i+1)
    datatable.value("A",global)=rs("PKID")
    'msgbox rs("names")
    rs.MoveNext
    i=i+1
    Loop

    '关闭连接
    con.close
    '释放Connection对象
    Set con=nothing
    End If

  • sql中一次性插入多行数据的方法汇总收藏

    2009-02-28 13:12:51

    sql中一次性插入多行数据的方法汇总收藏
    下面均以数据库testdb和表testtb为例

      use master
        if exists (select * from sysdatabases where name='testdb')
           drop database testdb
        go
       create database testdb
        go
        use testdb
        if exists (select * from sysobjects where name='testtb')
          drop table testtb
        go
        create table testtb(tid int,tvalue int)
       go


    I.下面是用sql编程一次性插入多条语句的完整实例:

    declare @a int, @b int
    set @a=1
    set @b=20

    while @a<=20
    begin
    insert into testtb(tid,tvalue)values(@a,@b)
    set @a=@a+1
    set @b=@b-1
    end
    select * from testtb
    go

    II.使用insert into 表名(字段列表) select 值列表 union all select 值列表的语句格式:
     
       insert into testtb(tid,tvalue)
       select   94,100  Union all 
       select  72,12
       go 
     
    III.
       1》.从存在的表复制数据到新表(与旧表表结构相同的表):
        create table newtb(nid int,nvalue int ) go
         INSERT INTO newtb (nid, nvalue) SELECT tid,tvalue FROM testtb
        2》.从存在的表复制数据到新表(新表不存在):

  • QTP中对右键单击的解决办法(转)

    2008-03-25 17:23:39

    QTP中对右键单击的解决办法
     

       这几天写QTP脚本,发现QTP对右键单击的操作不能识别,经过查找资料总结,可以采用wsh的方式,实现右键选择的操作。wsh是通过模拟键盘,向激活窗口发送键值实现选择。

    Window("A").WinListView("B").Click 150, 233, micRightBtn   '右键单击出菜单
    Window("A").WinObject("B").WinMenu("C").Select "新建(W);<Item 3>"     '在弹出菜单中选择功能功能

    上述代码在回放时回放不过去,改为

    Window("A").WinListView("B").Click 150, 233, micRightBtn

       Dim wshShell
          Set wshShell = CreateObject("Wscrīpt.Shell")

       For i=1 to MoveNum
         wshShell.SendKeys "{DOWN}"   '模拟键盘操作
       Next
         wait 1
       wshShell.SendKeys "{ENTER}"     '模拟键盘操作

    上述代码在弹出菜单后可以实现向下移动选项,并选择的功能.MoveNum是移动的次数

    附: wsh键值表

    键          参数
    退格键      {BACKSPACE}、{BS}或{BKSP}
    BREAK       {BREAK}
    CAPS LOCK   {CAPSLOCK}
    DEL或DELETE{DELETE}或{DEL}
    下箭头      {DOWN}
    END         {END}
    ENTER       {ENTER}或~
    ESC         {ESC}
    HOME        {HOME}
    INS或INSERT{INSERT}或{INS}
    左箭头      {LEFT}
    NUM LOCK    {NUMLOCK}
    PAGE DOWN   {PGDN}
    PAGE UP     {PGUP}
    PRINT SCREEN{PRTSC}
    右箭头      {RIGHT}
    SCROLL LOCK{SCROLLLOCK}
    TAB         {TAB}
    上箭头      {UP}
    F1、F2、F3...{F1}、{F2}、{F3}Q

  • 07年国庆前的随想

    2007-09-26 09:08:03

    随着CMMI3的推进,测试组的分工越来越明确,开发方的文档质量越来越高。终于带来了负面效果--测试出的BUG极少,但上线后BUG却仍然存在,很多BUG根本没有测试出来,另外test leader这个位于腰部的关键人物,越来越体现不出应有的作用。目前的工作体系是这样的:

     

     

    下面先来来说说,测试不出BUG的问题:

    对于测试不出BUG的原因,问题的关键在于,开发方提供的需求实在是很“完美”,用看图说话的形势,把所有的测试点都给写了出来,包含了几乎全部路径。测试人员那到这样一个文档,做起来十分轻松,但同时也被限制在这个文档的行程的一个圈里,无法发挥发散性思维,使得测试变的不全面。在正式测试之前,程序员会根据需求文档自测,然后在提交。也就是说,文档里提到的测试点,程序员自己都测试过,拿到测试组这边,只不过是在重复程序员的测试,使得这样的测试变得毫无价值可言。目前来说,如果想解决这个问题,我认为如果让test leader同时参与需求调研,重新确定测试范围,这种方法未必有效果。原因有以下几点:1.test leader本身并不熟悉所有系统业务,也不太可能熟悉所有系统业务,在这种情况下去参与调研,怕是很难明确问题所在,确定下的测试范围会不准确。2.test leader本身并不参加测试,这一个人对需求理解的在透彻,也不可能手把手去带着测试员去完成任务,把范围划出来,给下面的人员执行起来效果如何,还很难说。

    我始终认为,测试做的好与不好,关键在于对测试的认识,对项目的认识和做事的态度。目前给我的感觉就是,SRS里写上的东西就测,一些其他的旁支末节的东西,看到了也不会去测,完成分内事而已。当初一直抱怨SRS写的不好,测试不到,现在看来,写的不好,到不如写的好。文档不清楚,会导致测试员不停的去研究究竟是怎么回事,去和开发沟通确认很多细节,而这些细节,就是非常关键的东西,在文档写的不是很好的情况下,很多细节都是测试员自己想象出来的。而现在在文档十分清晰的情况下,测试员丧失了这种思维,固定在这些界面操作上,思维被文档所诱导,实在是很悲哀又很有意思的一件事情。

    我老觉得管理层都把下面的人给惯坏了,好像太重视每一个人的得失。就一个团队而言,我始终认为是以公司利益为首,完成任务,保证质量是第一;什么个人发展啊之类,从公司管理层面不客气的说,那是次要的。虽然团队整体的综合实力需要提高,但是那也是在有这样一个需求的情况下,由管理层有目的的培养个别人而产生的。如果公司根本不需要做性能测试,我要底下的人学什么LOADRUNNER啊,纯粹浪费时间。

    现在组里没有什么朝气,原因可能有这么几个:1.工作重复太无聊;2.领导对他们太客气;3.压力不大;4.综合因素导致他们个人思想占主导地位,安排的任务喜欢做就做,不喜欢做就拖。5.综合实力不高,导致对未来发展不明,外加人的天生惰性,导致比较懒散,一个带一个,搞的基本都是无精打采。

    造成这种情况不是一朝一夕,想改变也不是一时半会。我自己自恃也没那么强的能力,带动所有人改变,这个牵涉的因素太多,有的我无权决定,有的是人的基本思想观念问题,想改变很难。目前李凯辉的积极性很高,不过如果整体大环境不改变,这种积极性也会慢慢的泯灭。良好的局面不是单靠几个人的努力就可以形成,有一个良性循环很难,寻求一个公司利益与个人发展共进步的局面也很难。人总是要靠自己,想自己良好的发展,必须自己积极,而不是靠别人来安排你,让你取的进步。

    就需求这点来看,目前我也没想出什么更好的方法去改变现状,可以先按调研的方法去尝试一下。

     

    在来说说这个组织架构的问题。

    从整体项目流程来说,提交测试后,基本都会交付组长负责处理,test leader 本身不会接触到项目具体的事宜,这样就导致了很多问题都是组长直接去和开发那边处理,这个腰部的位置,其实是一个累赘。从职责上来说,目前leader其实扮演着测试经理的角色,而组长是leader的角色。而这个四层体系的最高层有一个相当于高级经理的人,而这个人才是对整个项目有决定权的人。这个概念等于就是一个项目经理上面有一个高级经理,而项目经理没权利去决定项目本身的一些事宜,组员有时有的事情也不像项目经理汇报,而是向高级经理汇报,形成一个混乱的管理局面。目前组内差不多就是这样,好像职责不清的感觉,有些事情,经理知道leader不知道,有些leader知道而组长不知道,对某些问题处理起来就没那么顺畅。

    目前基于这种四层体系,我也不清楚处于腰部,应该做些什么,哪些应该我做,哪些应该组长做,而长此以往,我自己的进步也是微乎其微。

    就管理本身而言,我觉得强硬的作风并不是不可取,软硬兼施才是合适的谋略。对做的有问题的人要严厉处罚,对做的杰出的人要给予奖励。不过说到底,不管是组长还是leader,都没有相应的权利,今天除了测试经理站出来要这样那样,组里人会听听外之外,如果要把我们的管理理念和方法应用到他们身上,怕是没人搭理我们。给我感触很深的就是,号召大家去开会的时候,不管是经理号召还是我号召,一个个都慢慢吞吞,慢条斯理的过来,这种小事就直接反映了目前的状况和问题。XWL的管理作风之所以吃的开,很大原因是因为他有权直接处理一些事,而并不是他人格魅力有多高。

    公司在逐渐改变,高层对这个组的支持程度也是十分关键,就目前来看,不管是抽调人手还是对培训的态度,感觉都满随意的,所以给我感觉就不太好。可能有些事情大家都看在眼里,所以积极性就会比较低。

    这其实是一个恶性的循环,就我本身而言,对没什么积极性的人,我更没积极性去督促帮助他们进步。我觉得其实团队本身并不是十分稳定,包括人员,制度,职责,能力,配比,测试质量等等,在这样的情况下,应该先稳稳,在寻求更进一步的发展。

    大致先写这么多,对团队发展起到影响的因素很多,我的感觉有两句话说的很好: 1.世上不存在完美。 2. 细节决定成败。关于组织架构方面,不知道想法是不是正确,如果这种架构不变,腰部这个关键点的职责又是什么?

  • 我们怎样才能真正的实现CMMI的目标(转)

    2007-08-10 16:22:18

    我们怎样才能真正的实现CMMI的目标质量改进?

    证之殇——CMMI认证狂欢前夜的思考

      2006年岁末之际,CMM/CMMI行业有两件事值得关注:
     
    一是SEPG中国大会在苏州成功召开,此次会议由于有SEI和苏州政府联合领衔,规格自然不在话下,各路人马云集苏州,好不热闹,会上发布消息——据 统计,目前中国软件业在CMMI的运用上,排名世界第四(如果不是前两年部分政府补贴只给CMM而不给CMMI,这个排名相信还会靠前)。截止2006 3月,在中国已经进行了110多次的CMMI评估...

     
    第二个消息是中国商务部制定了一个千百十工程(据说具体操作会由信息产业部来负责,相关细节可查询中国商务部网站),其中内容包括力争五年内促进 700家企业取得CMM/CMMI3级认证,300家企业取得CMM/CMMI5级认证,并且对这些企业提供最高不超过100万的资金补贴(中央财政50万+地方配套50万)

     
    这无疑是给了真在高歌猛进的中国CMM/CMMI认证事业(实际上CMM/CMMI并不是认证而仅仅是评审,但在中国现在已经是一项彻头彻尾的认证事业 了)又注入了一剂强心针,显然,我们国家的评估次数和排名有会有一个质的飞跃,然而,在这些数字的大跃进背后是我们现实的CMM/CMMI实施中面对的众 多尖锐而不可回避的问题,试举如下:

    前期过程改进需求分析不到位导致目的和结果的南辕北辙

     
    过程改进和软件开发一样,前期的需求分析是否到位可以说很大程度上决定了项目的成败,CMM/CMMI的前期分析过程叫作"Gap Analysis"(差异分析或差距分析),目前国内咨询公司给出的CMM/CMMI咨询方案中比较典型的差距分析过程包括:2天的文档审查,2天的访谈 和一天的编写报告。很显然,对于软件开发这样一个复杂的系统工程来说,短短35天的时间可能可以得出表明上的差距在哪里,但其实并不能真正了解导致 这些差距产生的深层次的原因在哪里,而以简单量化的形式得出的差距分析报告(其主要内容是一张根据PA罗列了CMMI中所有SPExcel大表格) 更不能全面反映它们相互之间的各种约束关系。而整个CMM/CMMI过程改进就在这种头疼医头,脚疼医脚的表面文章中展开了。

     
    一个软件企业过程改进的需求和CMM/CMMI的要求之间并不能划等号,所谓种刮得瓜,种豆得豆,前期机械的按照CMM/CMMIPA来分析企业的过程改进需求,最终得到的结果往往和企业实际的情况相差甚远。

    缺乏可操作的方法和有效的技术手段

     
    再好的理论也是需要有效的方法来实现的,虽然我们可供选择的方法并不在少数,但这些方法在实际环境中的可操作性以及是否拥有有效的技术支撑手段手段,却是众多企业面对的一大难题。以下是软件企业经常会碰到的一些问题:

    1
    、 他们通常被告知需要根据员工的日志对项目任务的完成状态进行同步更新,以便随时能够根据项目进展提供一张漂亮的跟踪甘特图。但在缺乏有效工具平台(大多数 企业并没有部署MS Project服务器版本)的情况下,QA们(或PM们)只能痛苦的埋头于一堆Excel日志表格和计划MPP中,重复着这种低级而极易犯错的工作——显 然这种坚持并不能持久的
    2
    、他们通常被告知需要从需求、设计、编码一直到测试建立有效的双向跟踪,但他们从咨询方获得的通常仅仅是一张由 Excel编制的需求跟踪矩阵模板。鉴于需求之间的关联性和版本衍生导致的复杂性,我想我们用脚趾头都能想明白,任何一个稍具规模的应用的需求跟踪都是不 可能仅用一张Excel表格来做到的。
    3
    、他们通常被告知要在有效估算的前题下编制计划,并被推荐使用某个相对成熟的估算技术——如功能点, 但是我们的估算人员要面对的往往是庞大而复杂的功能结构分解和有限的时间,在这种情况下即便是借助一些简单的工具也需要付出巨大的工作量,而如果是纯手工 作业则基本上没有现实的可操作性。于是最终往往只能退而求其次选择一些基于经验的估算方法——Delphi法,而Delphi法的应用在缺乏经验和有效 约束的情况下最终慢慢变成了流于形式的拍脑袋”——一切又重新回到了起点

     
    虽然从国际知名厂商到国内一些企业都提供大量的过程管理工具,但工具作为一种辅助手段,其选型、部署、集成和使用都需要根据企业的实际情况做大量的工作,而这项工作,我们在大多数公司给出的咨询方案中却几乎看不到。

    有效约束机制的缺位

     
    光靠一堆文档建立起来的过程是很难被有效执行的,尤其是在中国,技术人员跳槽和岗位变换的频繁度远高于西方的软件企业,约束机制的缺位往往导致已经被定义 好过程难以被有效的执行,并随着时间的推移逐渐放弃越来越多的已定以过程——企业拿到证书后,过程慢慢几乎又回到原点的案例并不在少数——换句话说, CMM/CMMI评审以前,是过程改进,评审以后则是过程倒退,这和过程改进的初衷是完全背道而驰的。

     
    因此,如果没有可靠而有效的约束机制,定义得再好的过程最终也难免沦为一堆尘封的旧文件,而约束手段的建立必须从两个方面入手——管理制度的完善和有效技术手段的应用,而这也很少能在众多公司给出的方案中看到。


    总结:

     
    笔者粗略的算了一下,要完全兑现这个千百十工程中的CMM/CMMI补贴,中央财政加上地方政府的配套资金,大致要花掉7个亿左右的资金,如此巨大的 资金对于整个CMM/CMMI行业来说无疑是天上掉下了的一块肥肉,然而,当我们准备举杯狂欢之际,是不是应该考虑除了不断窜升的数字之外还应该给整个中 国软件产业多留下点什么,要不然某一天,整个中国软件行业的CMM/CMMI评估也许真的会被贴上一个赝品的标签——这应该不是危言耸听。

     

  • 测试组内奖惩制度

    2007-08-03 23:34:10

    根据目前测试组内部的现状,为了保证测试组的工作质量,激励组员的日常工作,增强组员个人的专业技能,制定本制度。该制度的奖惩以积分予以计算。每人基准分为300分,当扣分至250时,开始逐级执行惩罚措施;当积分满500时,开始逐级执行奖励措施。分数上限为800分,下限为0分,当分数累积到极限时,恢复基准分。具体细则如下:

    ◆     当累计积分为250分时,惩罚A

    ◆     当累计积分为220分时,惩罚B

    ◆     当累计积分为200分时,惩罚C,该员工需总结近期工作,整理成文字递交测试经理,测试经理将酌情考虑重新安排测试岗位。

    ◆     当累计积分为0分时,测试经理将向技术总监反映,并做出处理意见(降薪或调组)。

    ◆     当累计总分为500分时,奖励A。

    ◆     当累计总分为650分时,奖励B。

    ◆     当累计总分为800分时,测试经理将酌情考虑向技术总监反映该员工工作表现,为该员工申请加薪。

    ◆     注1:奖励措施实行单次执行制度,即:如累计积分达500分,执行奖励后,后因表现不佳而扣分,又因工作出色又加回到500分时,奖励措施将不在有效。惩罚措施实行重复执行制度,即:如累计积分达250分,执行处罚,后因工作出色而加分,又因表现不佳扣回到250分时,惩罚措施仍然有效。

    ◆     注2:当员工累计积分高于400分时,惩罚制度将开始以幅度计算。例:累计积分为500分时,如被扣除50分,则开始执行惩罚措施。

  • xp sp2与iis组件的不兼容,导致500错误的解决方法

    2007-03-06 15:19:39

    iis5的http 500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是asp程序不能浏览但htm静态网页不受影响。另外当错误发生时,系统事件日志和安全事件日志都会有相应的记录。

    具体如下:


    (一)ie中的表现


    当浏览以前能够正常运行的asp页面时会出现如下的错误:


    网页无法显示

    您要访问的网页存在问题,因此无法显示。

    请尝试下列操作:


    打开 http://127.0.0.1 主页,寻找指向所需信息的链接。

    单击刷新按钮,或者以后重试。


    http 500 - 内部服务器错误

    internet 信息服务


    技术信息(支持个人)


    详细信息:

    microsoft 支持


    或者是:

    server application error

    the server has encountered an error while loading an application during the processing of your request. please refer to the event log for more detail information. please contact the server administrator for assistance.


    (二)安全日志记录(2条)

    事件类型: 失败审核

    事件来源: security

    事件种类: 登录/注销

    事件 id: 529

    日期: 2001-9-9

    事件: 11:17:07

    用户: nt authority\system

    计算机: myserver

    描述:

    登录失败:

    原因: 用户名未知或密码错误

    用户名: iwam_myserver

    域: mydom

    登录类型: 4

    登录过程: advapi

    身份验证程序包: microsoft_authentication_package_v1_0

    工作站名: myserver

     

    事件类型: 失败审核

    事件来源: security

    事件种类: 帐户登录

    事件 id: 681

    日期: 2001-9-9

    事件: 11:17:07

    用户: nt authority\system

    计算机: myserver

    描述:

    登录到帐户: iwam_myserver

    登录的用户: microsoft_authentication_package_v1_0

    从工作站: myserver

    未成功。错误代码是: 3221225578

     

    (三)系统日志中的记录(2条)

    事件类型: 错误

    事件来源: dcom

    事件种类: 无

    事件 id: 10004

    日期: 2001-9-9

    事件: 11:20:26

    用户: n/a

    计算机: myserver

    描述:

    dcom 遇到错误“无法更新密码。提供给新密码的值包含密码中不允许的值。 ”并且无法登录到 .\iwam_myserver 上以运行服务器:

    3d14228d-fbe1-11d0-995d-00c04fd919c1}


    事件类型: 警告

    事件来源: w3svc

    事件种类: 无

    事件 id: 36

    日期: 2001-9-9

    事件: 11:20:26

    用户: n/a

    计算机: myserver

    描述:

    服务器未能转入应用程序 ‘/lm/w3svc/4/root‘。错误是 ‘runas 的格式必须是<域名>\<用户名>或只是<用户名>‘。

    若要获取关于此消息的更多的信息,请访问 microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp

    二.原因分析

    综合分析上面的错误表现我们可以看出,主要是由于iwam账号(在我的计算机即是iwam_myserver账号)的密码错误造成了http 500内部错误。


    在详细分析http500内部错误产生的原因之前,先对iwam账号进行一下简要的介绍:iwam账号是安装iis5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的internet信息服务。iwam账号的名字会根据每台计算机netbios名字的不同而有所不同,通用的格式是iwam_machine,即由“iwam”前缀、连接线“_”加上计算机的netbios名字组成。我的计算机的netbios名字是myserver,因此我的计算机上iwam账号的名字就是iwam_myserver,这一点与iis匿名账号isur_machine的命名方式非常相似。


    iwam账号建立后被active directory、iis metabase数据库和com+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的iwam密码的同步工作。按常理说,由操作系统负责的工作我们大可放心,不必担心出错,但不知是bug还是其它什么原因,系统的对iwam账号的密码同步工作有时会失败,使三方iwam账号所用密码不统一。当iis或com+应用程序使用错误iwam的密码登录系统,启动iis out-of-process pooled applications时,系统会因密码错误而拒绝这一请求,导致iis out-of-process pooled applications启动失败,也就是我们在id10004错误事件中看到的“不能运行服务器 3d14228d-fbe1-11d0-995d-00c04fd919c1} ”(这里 3d14228d-fbe1-11d0-995d-00c04fd919c1} 是iis out-of-process pooled applications的key),不能转入iis5应用程序,http 500内部错误就这样产生了。

    三.解决办法


    知道了导致http 500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在active directory、iis metabase数据库和com+应用程序中的密码。

    具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限(iwam账号以iwam_myserver为例)。


    (一)更改active directory中iwam_myserver账号的密码

    因iwam账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将iwam账号的密码设置为一个我们知道的值。

    1、选择“开始”->“程序”->“管理工具”->"active directory用户和计算机",启动“active directory用户和计算机”管理单元。

    2、单击“user”,选中右面的“iwam_myserver”,右击选择“重设密码(t)...”,在跳出的重设密码对方框中给iwam_myserver设置新的密码,这儿我们设置成“aboutnt2001”(没有引号的),确定,等待密码修改成功。


    (二)同步iis metabase中iwam_myserver账号的密码

    可能因为这项改动太敏感和重要,微软并没有为我们修改iis metabase中iwam_myserver账号密码提供一个显式的用户接口,只随iis5提供了一个管理脚本adsutil.vbs,这个脚本位于c:\inetpub\adminscrīpts子目录下(位置可能会因你安装iis5时设置的不同而有所变动)。

    adsutil.vbs脚本功能强大,参数非常多且用法复杂,这里只提供使用这个脚本修改iwam_myserver账号密码的方法:

    adsutil set w3svc/wamuserpass password

    "password"参数就是要设置的iwam账号的新的密码。因此我们将iis metabase中iwam_myserver账号的密码修改为“aboutnt2001”的命令就是:

    c:\inetpub\adminscrīpts>adsutil set w3svc/wamuserpass "aboutnt2001"

    修改成功后,系统会有如下提示:

    wamuserpass: (string) "aboutnt2001"


    (三)同步com+应用程序所用的iwam_myserver的密码

    同步com+应用程序所用的iwam_myserver的密码,我们有两种方式可以选择:一种是使用组件服务mmc管理单元,另一种是使用iwam账号同步脚本synciwam.vbs。


    1、使用组件服务mmc管理单元

    (1)启动组件服务管理单元:选择“开始”->“运行”->“mmc”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。

    (2)找到“组件服务”->“计算机”->“我的电脑”->“com+应用程序”->“out-of-process pooled applications”,右击“out-of-process pooled applications”->“属性”。

    (3)切换到“out-of-process pooled applications”属性对话框的“标志”选项卡。“此应用程序在下列账户下运行”选择中“此用户”会被选中,用户名是“iwam_myserver”。这些都是缺省的,不必改动。在下面的“密码”和“确认密码”文本框内输入正确的密码“aboutnt2001”,确定退出。

    (4)系统如果提示“应用程序被一个以上的外部产品创建。你确定要被这些产品支持吗?”时确定即可。

    (5)如果我们在iis中将其它一些web的“应用程序保护”设置为“高(独立的)”,那么这个web所使用的com+应用程序的iwam账号密码也需要同步。重复(1)-(4)步,同步其它相应out of process application的iwam账号密码。


    2、使用iwam账号同步脚本synciwam.vbs

    实际上微软已经发现iwam账号在密码同步方面存在问题,因此在iis5的管理脚本中单独为iwam账号密码同步编写了一个脚本synciwam.vbs,这个脚本位于c:\inetpub\adminscrīpts子目录下(位置可能会因你安装iis5时设置的不同而有所变动)。

    synciwam.vbs脚本用法比较简单:

    cscrīpt synciwam.vbs [-v|-h]

    “-v”参数表示详细显示脚本执行的整个过程(建议使用),“-h”参数用于显示简单的帮助信息。


    我们要同步iwam_myserver账号在com+应用程序中的密码,只需要执行“cscrīpt synciwam.vbs -v”即可,如下:

    cscrīpt c:\inetpub\adminscrīpts\synciwam.vbs -v

    microsoft (r) windows scrīpt host version 5.6

    版权所有(c) microsoft corporation 1996-2000。保留所有权利。


    wamusername:iwam_myserver

    wamuserpass:aboutnt2001

    iis applications defined:

    name, appisolated, package id

    w3svc, 0, 3d14228c-fbe1-11d0-995d-00c04fd919c1}

    root, 2,

    iishelp, 2,

    iisadmin, 2,

    iissamples, 2,

    msadc, 2,

    root, 2,

    iisadmin, 2,

    iishelp, 2,

    root, 2,

    root, 2,


    out of process applications defined:

    count: 1

    3d14228d-fbe1-11d0-995d-00c04fd919c1}


    updating applications:

    name: iis out-of-process pooled applications key: 3d14228d-fbe1-11d0-995d-00c04fd919c1}


    从上面脚本的执行情况可以看出,使用synciwam.vbs脚本要比使用组件服务的方法更全面和快捷。它首先从iis的metabase数据库找到iwam账号"iwam_myserver"并取出对应的密码“aboutnt2001”,然后查找所有已定义的iis applications和out of process applications,并逐一同步每一个out of process applications应用程序的iwam账号密码。

    使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证iis metabase数据库与active directory中的iwam密码已经一致。因为synciwam.vbs脚本是从iis metabase数据库而不是从active directory取得iwam账号的密码,如果iis metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“updating applications”系统就会报80110414错误,即“找不到应用程序 3d14228d-fbe1-11d0-995d-00c04fd919c1}”。


    好了,到现在为止,iwam账号在active directory、iis metabase数据库和com+应用程序三处的密码已经同步成功,你的asp程序又可以运行了!


    修改成功后,系统会有如下提示:
    ---------------------------------------------------
    经过测试,显示应该是
    wamuserpass: (string) "*******"

  • 郁闷了。。。

    2007-02-26 23:42:15

    最近忍不住想跳槽了,晚上上了下51job搜索了一回。。。。

    猛然发现没什么职位是我比较感兴趣,又很适合我的。。。。

    有的公司没听说过,直接略过不看。。。。

    太牛的公司也略过不看。。。阿拉英文不好。。。放弃。。。

    好像剩下的。。。没什么了。。。

    哎,是不是心态不好啊??看来得调整调整。

  • 前期测试用例编写规范和流程

    2007-01-29 11:54:23

    点击查看

     

    不高兴弄了,去sina blog看吧。。。

  • 测试流程实施方案

    2007-01-29 11:52:48

  • 锻炼表~

    2007-01-29 11:50:50

    饭后1小时以上,断烟半小时以上,中间少喝水,禁食,禁烟
    游泳半小时以上 或者 跑步一小时以上
    做各个关节的拉伸动作,每个拉伸维持7秒以上,注意不要用力过度拉伤韧带
    休息15-20分钟
    卧推第1组,100斤,15-20下
    休息<45秒
    卧推第2组,120斤,10次或12次(或140斤,8次或10次)
    休息<45秒
    卧推第3组,120斤,10次或12次(或140斤,8次或10次)
    休息<45秒
    卧推第4组,120斤,10次或12次(或140斤,8次或10次)
    休息<45秒
    卧推第5组,120斤,10次或12次(或140斤,8次或10次)
    休息<45秒
    卧推第6组,120斤,10次或12次(或140斤,8次或10次)
    休息<45秒
    卧推第7组,120斤,10次或12次(或140斤,8次或10次)
    休息90-120秒,尽量少于90秒
    卧推斜角45-60度
    第1组,100斤,8次或10次(或120斤,8次或10次)
    休息<45秒
    第2组,100斤,8次或10次(或120斤,8次或10次)
    休息<45秒
    第3组,100斤,8次或10次(或120斤,8次或10次)
    休息<45秒
    第4组,100斤,8次或10次(或120斤,8次或10次)
    休息<45秒
    第5组,100斤,8次或10次(或120斤,8次或10次)
    休息<45秒
    第6组,100斤,8次或10次(或120斤,8次或10次)
    休息90-120秒,尽量少于90秒
    自选哑铃,重量适中
    扩胸第1组,12下
    休息<45秒
    扩胸第2组,12下
    休息<45秒
    扩胸第3组,12下
    休息<45秒
    扩胸第4组,12下
    休息<45秒
    扩胸第5组,12下
    休息<45秒
    扩胸第6组,12下
    结束

    半小时内禁烟,禁食
    睡前仰卧起坐100个,做完不得立刻睡觉,休息15分钟左右再睡

  • 07年第一天上班就遇到了一个满牛的开发,和他的聊天让我觉得还有很多不足需要改进

    2007-01-04 17:20:17

    全问如下 , 贴来以后多看看自我反省。。。

    北北-胡睿: hi,你是?
    yangjj1ster: 出来混的。
    北北-胡睿: 迟早是要还的
    yangjj1ster: 还是要还,可是什么都没有就不用还了吧?
    北北-胡睿: 。。。。。这么惨?
    yangjj1ster: 你是做测试的?
    北北-胡睿: 是啊
    yangjj1ster: 挺羡慕你们,做哪方面测试有呀?
    北北-胡睿: 。。。。。羡慕啥啊? 系统测试,自动化测试,性能测试,白盒测试
    yangjj1ster: 太厉害了。
    北北-胡睿: 。。。马马乎乎,混混
    你在51上看见我gtalk的?
    yangjj1ster: 如果我写了一个类,测试时需要覆盖哪些内容?

    北北-胡睿: 先画路径图吧,搞清楚类是干吗用的,我这一般先按路径图设计用例

    ,然后在写测试代码

    yangjj1ster: 路径图?那我随便写一个类。
    import java.io.Serializable;
    import org.apache.commons.lang.builder.ToStringBuilder;
    import org.apache.commons.lang.builder.ToStringStyle;

    public class BaseEntity implements Serializable {


    /* (non-Javadoc)
    * overwrite java.lang.Object#equals(java.lang.Object)
    */
    public boolean equals(Object obj) {
    return super.equals(obj);
    }

    /* (non-Javadoc)
    * overwrite java.lang.Object#hashCode()
    */
    public int hashCode() {
    return super.hashCode();
    }

    /* (non-Javadoc)
    * overwrite java.lang.Object#toString()
    */
    public String toString() {
    return ToStringBuilder.reflectionToString(this,
    ToStringStyle.MULTI_LINE_STYLE);
    }

    }

    北北-胡睿: == 我copy出来看看, java?
    一般来说,都有 input and output ,不同的输入值会有不同的返回值,构造不同

    的输入参数覆盖所有可能出现的情况就OK了

    yangjj1ster: 你想要什么类? c#?
    北北-胡睿: 无所谓什么类,方法是一样的
    yangjj1ster: 高手就是高手
    北北-胡睿: 。。。。我不是高手
    yangjj1ster: 不用谦虚
    北北-胡睿: 。。。真的,我对这方面的了解也只是皮毛
    你也是做测试的吗
    yangjj1ster: 无所谓什么类,方法是一样的,能说出这样的话,我就很佩服了。
    我是做开发的。
    北北-胡睿: 额。。。是啊,设计思想应该是一样的。有啥不对的,指教一下吧,

    我对开发不是很懂

    yangjj1ster: 我对测试很感兴趣,就是一点都不懂。
    那测试用例应该包含什么内容呢?
    你说做白盒测试,我听了就很高兴,一定不放过你,多学点。

    北北-胡睿: 编号,标题,用例类型,执行结果,执行过程描述,期望结果和实际结果
    yangjj1ster: 那我一个电梯做好了,你会如何去测试它呢?
    北北-胡睿: 。。。。从不同方面去看,比如功能,易用性,承载量,大小,速度,考虑到不同因素,不同的用例就会产生,有质量模型的,比如ISO9126,可以去看看,尽量别遗漏就是了
    Sent at 4:11 PM on Thursday
    yangjj1ster:

    厉害,厉害。那我问你一个问题,你刚才说做性能测试,如果我用loadruuner做测试,我用虚拟用户的形式来模拟多人同时或者阶段性登陆,比方同时,不同情况下,应该用多少虚拟用户测试呢?压力测试的极限点又是多少人呢?
    北北-胡睿: 按系统需求,你说MSN系统全球有N多人登陆使用,而公司内网聊天系统只有100人用,能一样吗
    yangjj1ster: import java.io.IOException;
    import java.io.InputStreamReader;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;

    public class A {
    //public static int a=1,b=1;
    public static void main(String[] args){
    InputStreamReader reader = new InputStreamReader(System.in);
    try {
    char data=(char)reader.read();
    while(data!=-1){
    System.out.print(data);
    data=(char)reader.read();
    }
    reader.close();
    } catch (IOException e) {
    e.printStackTrace();
    }

    }
    }上面是我刚写的一个类,那你写一个测试用例我看看
    一般覆盖时覆盖变量,方法就可以,那如何去覆盖呢?
    Sent at 4:17 PM on Thursday
    北北-胡睿: 刚开了个小会,我看看啊
    yangjj1ster: 呵呵,你做测试多长时间了?你是测试领导吗?
    北北-胡睿: 1年半吧,呵呵,还算新手
    yangjj1ster: 那你毕业时间也不长呀,真实长江后浪推前浪呀。
    北北-胡睿: 。。。不敢啊,还需要学习,特别带代码部分,我不太懂
    Sent at 4:39 PM on Thursday
    yangjj1ster: 那我们可以互相学习呀。
    北北-胡睿: char data=(char)reader.read(); 是从一个别的方法里得到的值吧? 一般要是我这个菜鸟设计用例,也就是 编号001,标题:输入一个正常的data值,查看是否正确打印,用例类型:边界值测试,执行过程描述:给data一个正常值“20060501”,改变代码为char data= 20060501 , 执行代码,期望结果: System.out.print(data); 以及实际结果
    yangjj1ster: InputStreamReader reader = new InputStreamReader(System.in);是从控制台里面内容放进一个输入流里面,=(char)reader.read(); 是从输入流里面把内容再读出来。
    你是男孩子吗?我还没有见过男孩子做测试的。
    北北-胡睿: 哦。。。这样子。。。是啊,男人做测试很多啊。。。我这大多数是男人。。汗!
    yangjj1ster: 你说的对,好象女孩子只能做功能测试,象你们这些难度的就只能有男孩子做了。
    你会用jfrofiler吗?
    北北-胡睿: 。。。。都可以做了,看兴趣和能力了,有的人做测试只是为了有饭吃而已,我到满想做做开发的,做1年在回头做测试,应该会好很多
    jfrofiler ? 没听过,更不会了,呵呵
    yangjj1ster: JProFiler
    北北-胡睿: 不会。。。没用过
    我做的东西有明显的偏向,JAVA方面一概不太清楚,因为公司只做 .Net
    yangjj1ster: 原来如此,.Net你觉得怎么样?
    北北-胡睿: 认识不深,只能说满好用的,听说有取代java的趋势
    yangjj1ster: 是吗?那我以后也做.net,我感觉.net象我以前用的dephi.
    北北-胡睿: dephi ?不熟悉,呵呵,应该还有点差别,dephi好象控件很多,我听说语言其实都差不了太多,精通一门在学其他很快,不知道是不是?
    yangjj1ster: 你说的对,但是语言 好象转换不是那么简单。
    北北-胡睿: 呵呵,各有专攻啊,东西太多了。在领域里做好一个就很不错了。我下班了啊,下次继续聊。
    yangjj1ster: 好的,以后聊。
    北北-胡睿: 88

Open Toolbar