我混迹在51,51却没有我的传说....

发布新日志

  • 测试管理工具比较

    2011-07-28 15:36:52

    测试管理工具很多,对比下其中的几个工具的优劣,有熟悉的可以留言发表意见:

    QC:

        目前我认为已经相当不错的测试管理工具了,从测试需求--测试计划--测试用例--软件缺陷,实现了前后管理的生命周期管理,统计分析功能非常强大,配合office使用,非常方便易用,商业价格太贵,普遍用破解。

    JIRA:

    缺陷管理方面的思路与QC相反,QC是流程驱动,JIRA是人为驱动,你要指定这个缺陷给谁来修改,前提是你知道应该谁来改,不知道的情况下,一般指给开发经理,如此驱动带来多次指派的重复劳动缺陷,用的不多,不过多评价。

    Bugzilla:

    开源工具,对缺陷的管理不错,属于开源主流,与bugfree差不多,用的不多,相对QC体系性稍差

    禅道:

    严格意义上讲,禅道不是一个专业的测试管理工具,而是一个项目管理工具,只是其中集成了项目中的测试环节的功能,总体使用效果不佳,需要深度的二次开发,测试用例与需求和缺陷无法形成体系,执行用例时不能直接提缺陷,每次要单独在缺陷里描述相应的复现步骤,导出和导入功能需要二次开发,统计功能一般。

    个人比较喜欢QC,现在已经是全生命周期管理软件了,有时间要好好研究一下。

  • 性能测试分析

    2009-01-15 14:43:03

     


    分析原则:
        <1> 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)
        <2> 查找瓶颈时按以下顺序,由易到难。
        服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)
        注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。

         <3>分段排除法 很有效。
         <4>分析的信息来源:
            1 根据场景运行过程中的错误提示信息
            2 根据测试结果收集到的监控指标数据

    一.错误提示分析

    分析实例:
    1 •Error: Failed to connect to server "10.10.10.30:8080": [10060] Connection
       •Error: timed out Error: Server "10.10.10.30" has shut down the connection prematurely

      分析:
    •A、应用服务死掉。
       (小用户时:程序上的问题。程序上处理数据库的问题)
    •B、应用服务没有死
       (应用服务参数设置问题)
        例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是Weblogic中的server元素的AcceptBacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%
    •C、数据库的连接
       (1、在应用服务的性能参数可能太小了 2、数据库启动的最大连接数(跟硬件的内存有关))

    2  Error: Page download timeout (120 seconds) has expired

    分析:
    可能是以下原因造成
    •A、应用服务参数设置太大导致服务器的瓶颈
    •B、页面中图片太多
    •C、在程序处理表的时候检查字段太大多

    二.监控指标数据分析

    1.最大并发用户数:
    应用系统在当前环境(硬件环境、网络环境、软件环境(参数配置))下能承受的最大并发用户数。
    在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数。
    如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。

    2.业务操作响应时间:
    • 分析方案运行情况应从平均事务响应时间图和事务性能摘要图开始。使用“事务性能摘要”图,可以确定在方案执行期间响应时间过长的事务。
    • 细分事务并分析每个页面组件的性能。查看过长的事务响应时间是由哪些页面组件引起的?问题是否与网络或服务器有关?
    • 如果服务器耗时过长,请使用相应的服务器图确定有问题的服务器度量并查明服务器性能下降的原因。如果网络耗时过长,请使用“网络监视器”图确定导致性能瓶颈的网络问题
    3.服务器资源监控指标:
    内存:
        1 UNIX资源监控中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内存可能是瓶颈。也可能是内存访问命中率低。

        2 Windows资源监控中,如果Process\Private Bytes计数器和Process\Working Set计数器的值在长时间内持续升高,同时Memory\Available bytes计数器的值持续降低,则很可能存在内存泄漏。

    内存资源成为系统性能的瓶颈的征兆:
        很高的换页率(high pageout rate);
        进程进入不活动状态;
        交换区所有磁盘的活动次数可高;
        可高的全局系统CPU利用率;
        内存不够出错(out of memory errors)

    处理器:
        1 UNIX资源监控(Windows操作系统同理)中指标CPU占用率(CPU utilization),如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。如果服务器专用于SQL Server,可接受的最大上限是80-85%
        合理使用的范围在60%至70%。
        2 Windows资源监控中,如果System\Processor Queue Length大于2,而处理器利用率(Processor Time)一直很低,则存在着处理器阻塞。

    CPU资源成为系统性能的瓶颈的征兆:   
         很慢的响应时间(slow response time)
         CPU空闲时间为零(zero percent idle CPU)
         过高的用户占用CPU时间(high percent user CPU)
         过高的系统占用CPU时间(high percent system CPU)
        长时间的有很长的运行进程队列(large run queue size sustained over time)

    磁盘I/O:
        1 UNIX资源监控(Windows操作系统同理)中指标磁盘交换率(Disk rate),如果该参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。
        2 Windows资源监控中,如果 Disk Time和Avg.Disk Queue Length的值很高,而Page Reads/sec页面读取操作速率很低,则可能存在磁盘瓶径。

    I/O资源成为系统性能的瓶颈的征兆 :
         过高的磁盘利用率(high disk utilization)
        太长的磁盘等待队列(large disk queue length)
        等待磁盘I/O的时间所占的百分率太高(large percentage of time waiting for disk I/O)
        太高的物理I/O速率:large physical I/O rate(not sufficient in itself)
        过低的缓存命中率(low buffer cache hit ratio(not sufficient in itself))
        太长的运行进程队列,但CPU却空闲(large run queue with idle CPU)

    4.数据库服务器:
    SQL Server数据库:
        1 SQLServer资源监控中指标缓存点击率(Cache Hit Ratio),该值越高越好。如果持续低于80%,应考虑增加内存。
        2 如果Full Scans/sec(全表扫描/秒)计数器显示的值比1或2高,则应分析你的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。
        3 Number of Deadlocks/sec(死锁的数量/秒):死锁对应用程序的可伸缩性非常有害,并且会导致恶劣的用户体验。该计数器的值必须为0。
       4 Lock Requests/sec(锁请求/秒),通过优化查询来减少读取次数,可以减少该计数器的值。

    Oracle数据库:
      1 如果自由内存接近于0而且库快存或数据字典快存的命中率小于0.90,那么需要增加SHARED_POOL_SIZE的大小。
        快存(共享SQL区)和数据字典快存的命中率:
       select(sum(pins-reloads))/sum(pins) from v$librarycache;
        select(sum(gets-getmisses))/sum(gets) from v$rowcache;
        自由内存:    select * from v$sgastat where name=’free memory’;
    2 如果数据的缓存命中率小于0.90,那么需要加大DB_BLOCK_BUFFERS参数的值(单位:块)。
      缓冲区高速缓存命中率:
        select name,value from v$sysstat where name in ('db block gets’,
        'consistent gets','physical reads') ;
       
        Hit Ratio = 1-(physical reads / ( db block gets + consistent gets))
    3 如果日志缓冲区申请的值较大,则应加大LOG_BUFFER参数的值。
        日志缓冲区的申请情况 :
         select name,value from v$sysstat where name = 'redo log space requests' ;
    4 如果内存排序命中率小于0.95,则应加大SORT_AREA_SIZE以避免磁盘排序 。
       内存排序命中率 :
         select round((100*b.value)/decode((a.value+b.value), 0, 1, (a.value+b.value)), 2)from v$sysstat a, v$sysstat b where a.name='sorts (disk)' and b.name='sorts (memory)' 
  • Subversion快速入门教程

    2008-12-30 22:24:04Digest 1

     

    如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有教程


        本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。


        本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。

     

    1. 软件下载
    2. 服务器和客户端安装
    3. 建立版本库(Repository
    4. 配置用户和权限
    5. 运行独立服务器
    6. 初始化导入
    7. 基本客户端操作

    1,软件下载

    • 下载Subversion服务器程序。

        到官方网站 的下载二进制安装文件,来到二进制包下载部分 ,找到 Windows NT, 2000, XP and 2003部分,然后选择"the same directory",这样我们可以看到许多下载的内容,目前可以下载svn-1.3.0-setup.exe

    • 下载SubversionWindows客户端TortoiseSVN

        TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。


        官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们选择Official version for Win2k/XP or higher的版本,然后在sourceforge下载页面选择目前的最高稳定版本的安装文件TortoiseSVN-1.3.2.5840-svn-1.3.0.msi,还可以sourceforge语言下载页面中,下载简体中文语言包。


    2
    ,服务器和客户端安装

     

    • 服务器安装,直接运行svn-1.3.0-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
    • 安装TortoiseSVN,同样直接运行TortoiseSVN-1.3.2.5840-svn-1.3.0.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

    3,建立版本库(Repository


        运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

    svnadmin create E:\svndemo\repository
    就会在目录E:\svndemo\repository下创建一个版本库。
    我们也可以使用TortoiseSVN图形化的完成这一步:
    在目录E:\svndemo\repository"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

     

    4,配置用户和权限


    来到E:\svndemo\repository\conf目录,修改svnserve.conf

    # [general]
    # password-db = passwd

    改为:

    [general]
    password-db = passwd

    然后修改同目录的passwd文件,去掉下面三行的注释:

    # [users]
    # harry = harryssecret
    # sally = sallyssecret

    最后变成:

    [users]
    harry = harryssecret
    sally = sallyssecret

    疑问: 用户是直接在这里建成吗?

    疑问2:为什么我机上并没有passwd文件?


    5
    ,运行独立服务器

    在任意目录下运行:

    svnserve -d -r E:\svndemo\repository

    我们的服务器程序就已经启动了。

    疑问:独立的服务器名称是什么,我都没有使用,直接在客户端创建一个库,直接操作,都行得通,默认的用户是操作系统用户。


    6
    ,初始化导入

    来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:

    1. 右键->TortoiseSVN->Import...
    2. URL of repository输入“svn://localhost/trunk”
    3. ok

    完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。


    7
    ,基本客户端操作

    取出版本库到一个工作拷贝:

    来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。

    在工作拷贝中作出修改并提交:

    打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

    察看所作的修改:

    readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。

     

     

    PS:2008年就要过去了,我很怀念,迎接美好的2009~~~加油!!!

     

     

     

     

     

  • Excel表格中的Bug问题单导入TD方法介绍

    2008-12-14 11:41:24

        如果将bug问题单放在excel中进行管理,有时需要将问题单导入TD中,TD有插件支持此功能的实现,详细方法见下面的介绍:

    一、           操作步骤:

    1、首先访问td主页

     

    2、点击左上角的Add-Ins Page,跳转到该界面。

    3在该界面点击More TestDirector Add-ins 跳转到新界面

    4、点击红色标示中的Microsoft Excel Add-in,跳转到新界面

     

    5点击红色表示的Download Add-ins ,下载该插件并双击安装

     

    6、安装后打开Excel,点击【工具】--【宏】--【安全性】

     

    7、设置两个选项卡:安全性设置为中,勾选信任所有安装的加载项和模板,点击确定

     

    8、将excel中的各个列标题命名为TD中选中bug单上的标准字段,选中Excel表中的所要导入的问题单所在的行

     

    9、点击excel上的【工具】中的Export To TestDirector

     

    10、弹出窗口输入:TD地址/后点击Next

     

    11、选择域和管理库后点击Next

     

    12、输入用户名和密码点击Next

     

    13、因为要导入的是问题单,因此选择DEFECTS后点击Next

     

    14、选择一个匹配模板后点击Next

     

    15、弹出窗口左边栏中显示的是td中问题单上的各种属性,右边栏显示的是即将要与excel表格中的列对应的属性列表,选择【状态】点击右选按钮。

     

    16Excel表中于TD中的【状态】相匹配的列是【A】,因此填写A后点击ok

     

    17、依次将红色标注的选项和Td中的必输项对应完毕点击Next

     

    18、弹出导入成功提示界面后点击Finish

     

    19、进入TD中查看导入的问题单

     

    注:

    1、附件只能单独添加,不能导入。

     

     

  • [论坛] 用WORD导入TD requirement的方法

    2008-12-12 22:42:32

    用WORD导入TD requirement的方法

    第一步
    新建一个word文件,点击Open Requirement,这个是新建一个根节点的名称

    第二步
     
    设置审核状态标志
    一般是Not Reviewed


    第三步骤,就是添加对这个需求的描述了
    点击Descrīption,后面输入要描述的信息


    第四步骤:点击author

    这个是创建人字段

    第5步骤,
    点击录入个结束标志


     
    这个时候一个可以导入TD的Requirement就完成了

    效果图:


    进阶研究:嵌套设置
    以下是一个open和一个close
     (open requirement)
    ****
     (close requirement)


    ****是其中的内容,可以再设置一个open和close,形成嵌套
     
     (open requirement)
    ****
     (close requirement)

    效果图:

     

    以上过程就是将word中的需求导入到TD中的过程,前提是要安装插件Download Add-ins ,插件下载可以到TD的主页上下载。
     

Open Toolbar