发布新日志

  • jmeter 进行java request测试

    weixiaoyeah 发布于 2011-03-21 10:42:16

    本周使用jmeter进行一个远程dubbo接口的性能测试,因为没有访问页面,本来开发可以写一个页面,进行http请求的调用,不过已经看到jmeter可以直接对java request进行测试,所以尝试了一下。
    记录一下过程,写个demo进行下说明

    1、测试脚本的编写
    其实这个就是使用jmeter 自己的测试框架,写一个测试用例,实现对被测对象的调用,然后打包即可。
    a、引入jmeter框架依赖
    使用eclipse的时候,在工程上右键-》properties-》java build path
    将jmeter/lib 下的包都进行引入。
    b、新建一个测试class JavaTest
    c、引入jmeter的框架
    import org.apache.jmeter.config.Arguments;
    import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
    import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
    import org.apache.jmeter.samplers.SampleResult;
    d、编写用例
    //新建的class必须继承"AbstractJavaSamplerClient"
    public class JavaTest extends AbstractJavaSamplerClient {
    //定义开始和截止的时间,可以在控制台打印出来时间,看响应情况
        private static long start = 0;
        private static long end = 0;

        Param param;

        IService<DataModel, Param> service;
    //setup 开始
        public void setupTest(JavaSamplerContext arg0) {
            start = System.currentTimeMillis();
           
            try {
              
    //try中间是你进行调用的代码           
            } catch (Throwable e) {
                e.printStackTrace();
            }
        }

        @SuppressWarnings("unchecked")
        @Override
    //jmeter的测试框架
        public SampleResult runTest(JavaSamplerContext arg0) {

            SampleResult results = new SampleResult();
           
            try {
              

                results.sampleStart();
              
    //对上面方法的调用,jmeter会对sampleStart和sampleEnd之间的行为进行计时,作为响应时间
              
                        
             
                results.sampleEnd();
                results.setSuccessful(true);
            } catch (Throwable e) {
               
                e.printStackTrace();
            }
          
            return results;

        }

        public void teardownTest(JavaSamplerContext arg0) {
            end = System.currentTimeMillis();
    //可以在调试的时候自己打印时间
            System.err.println("cost time:" + (end - start) / 1000);
        }


    //在eclipse中自行进行调试,新建一个main函数来完成运行
        public static void main(String[] args) {

            JavaSamplerContext arg0 = new JavaSamplerContext(new Arguments());
            PerformenceTest test = new JavaTest();
    //这三步可以很清晰的看出框架执行的方式       
            test.setupTest(arg0);
            test.runTest(arg0);
            test.teardownTest(arg0);

        }

    }



    2、jmeter脚本编写
    使用jmeter ui客户端,在线程组下添加一个java request,将之前编写的用例放到jmeter的 lib/ext 目录下面,这个时候就可以在类名称下拉菜单中,选择到自己写的用例了。

    3、本地和远程调试
    在本地调试的时候,将这个脚本依赖到的全部jar包都放到jmeter的 /lib 下面,只有自己实现的测试用例.jar 放到/lib/ext下面,这样jmeter的启动消耗会小一些;放到远程服务上进行压力的时候,和本地环境一样部署即可

    写了一个demo,更直观一些
    已给被测class为:
    public class HelloWorld {

        public static int sum = 0;
        public static void sum(int a, int b) {
            sum = a + b;
            // System.out.println(sum);
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            HelloWorld a = new HelloWorld();
            a.sum(1, 2);
        }
    }

    测试上面这个class的性能,只需要实现一个用例,一直调用他,然后进行结果统计。测试case的实现:
    package TestCase;
    import org.apache.jmeter.config.Arguments;
    import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
    import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
    import org.apache.jmeter.samplers.SampleResult;
    //import jmeter 的相关外部依赖
    import TestCase.HelloWorld;
    //import 被测对象

    public class PerformenceTest extends AbstractJavaSamplerClient {

        private static long start = 0;
        private static long end = 0;

        public void setupTest(JavaSamplerContext arg0) {
            start = System.currentTimeMillis();//获取当前系统时间
            // System.out.println(start);
        }

        public SampleResult runTest(JavaSamplerContext arg0) {
            SampleResult sr = new SampleResult();
            sr.sampleStart();// jmeter 开始统计响应时间标记
            try {

                HelloWorld test = new HelloWorld();
                test.sum(1, 1);
    //被测对象调用
            } catch (Throwable e) {
                sr.setSuccessful(false);
            } finally {
                sr.sampleEnd();//jmeter 结束统计响应时间标记
            }
            return sr;
        }

        public void teardownTest(JavaSamplerContext arg0) {
            end = System.currentTimeMillis();
            // System.out.println(end);
            // System.out.println("The cost is"+(end-start)/1000);
        }

    //测试本地调试
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            JavaSamplerContext arg0 = new JavaSamplerContext(new Arguments());
            PerformenceTest test = new PerformenceTest();
            test.setupTest(arg0);
            test.runTest(arg0);
            test.teardownTest(arg0);
        }

    }

    有了上面的case,打包将jar放到jmeter/lib/ext中,可以在新建的jmeter脚本中获取测试方法,然后配置并发和启动延时,就可以了

  • 软件测试自动化流程与框架设计

    sunshinelius 发布于 2007-12-03 22:31:18

    一. 为何需要软件自动化测试框架
      软件测试框架是软件测试自动化规模发展到一定阶段的必然需求,因为自
    动化测试将会面临如下问题:
    1. 如何定义脚本的规范,使之具有良好的可复用性和可维护性。
    2. 众多脚本的管理问题,如何管理不同版本的测试脚本以及测试脚本之间
    的关联关系。
    3. 众多脚本的执行问题,如何无人值守地执行测试脚本,以节约测试时间
    4. 如何获得最大的自动化测试收益,怎样调整测试策略来达到最高的automation效益。
    目前在微软,IBM等自动化测试比较成熟的公司,都已经实现并应用了软件自动化测试框架。可以说,框架是自动化测试的趋势。

    二.软件自动化测试框架架构思想

    其实MS也好,IBM也好,自动化测试框架虽然形式各有不同,但思想却大同小异。总体来说,成熟的自动化测试框架必须提供以下几个功能:
    1. controller-agent的拓扑结构。此点最妙之处是扩展性极强,在空间上能够兼容各种类型测试程序及脚本,在时间上能够并发执行测试任务。
    2. 内嵌灵活的自动化测试案例的管理策略。此处可根据企业实际具体应用定义相应的测试组件
    3. 强大的测试报告和日志展现。一份好的自动化测试报告能满足不同人的口味和需要,比如给老板以清晰直观的测试图表分析;给开发人员以强大的日志debug分析;给测试人员以bug自动关联作用。

    下面以automation center为例,分析一下自动化测试框架的设计


    展现层:
    给终端用户提供基于Web页面的四大功能模块
    ·  测试任务
     发起安装/测试任务,并对任务状态进行实时监控
    ·  测试结果
     展现测试结果,生成测试报告,邮件通知,提交bug全程自动化
    ·  日志分析
     SMB协议访问日志服务器,轻松获得automation执行时的日志和抓图
    ·  AC管理
       脚本管理策略
       测试组件策略
       测试实例生成
       Agent 资源管理,添加/删除
       Server资源管理,添加/删除
       AC核心设置
    控制层:
    controller是AC核心,负责如下工作
    ·  接收并处理用户发送的任务请求
    ·  管理和控制安装/测试Agent
    ·  分析和整理测试结果
    ·  内嵌测试报表/邮件逻辑
    ·  连接数据库,日志服务器和脚本服务器
    Agent层:
    Agent 安装在任务机上,负责:
    ·  执行安装任务
    ·  执行测试任务
    ·  生成log/抓图数据,供后续分析

    框架应用策略
    1. 自动化测试框架是代码,流程,策略的集合(这句话已经耳熟能详了,但能深刻理解并能成功地用到工作实践中却不容易)
    2. 当你有超过10个自动化测试案例时,就应该开始考虑自动化测试框架的实施了(规范,管理,执行策略等等)
    3. 实现框架的语言以编译语言为优先选择(我看过用vbscrīpt编写的上万行的框架代码,惨不忍睹,维护和扩展那是相当滴困难)
    4. 在设计时,框架和案例要分工清楚明确(框架,纲举目张也,不宜管得太多太细,否则案例丧失了灵活性,框架推广起来就步履维艰了,嘿嘿)

     

  • 好东西!!!

    Spark.lee 发布于 2007-04-19 14:07:13

    LR8.1(中文版)破解方法大公布!(破解成功):详情点击

    LR8.1破解声明——对怀疑破解的回应:详情点击

    【原创转贴请注明出处】LOADRUNNER压力测试实例:详情点击

    loadrunner8.1中文版使用手册:  详情点击

    LoadRunner 7.8中文版Socket协议补丁包:  详情点击

    webservices压力测试总结:  详情点击

    提示框“当前安全设置禁止运行该页中的ActiveX控件……”怎么去掉?: 详情点击

    LR经常遇到的问题帮助 LR277个问题.chm:详情点击

    LoadRunner完全卸载方法:详情点击

    如何让多个场景轮流执行:详情点击

    如何实现并发操作:详情点击

    如何进行图片验证:详情点击

    为什么无法录制脚本 :详情点击

    成功录制的脚本无法回访: 详情点击

    关于并发用户和集合点:详情点击

    LR的安装和卸载:详情点击
  • LoadRunner脚本编程(例子)大家一起来研究一下吧

    leaf840404 发布于 2007-04-03 09:35:57

    LoadRunner脚本编程

    今天想统计一下我的BLOG的访问情况,想知道那些文章被经常阅读。在BLOG的后台没找到相关功能,既然没有那就自已动手吧,要想统计就需要数据,数据只能从网页里来。从网页中取数据一个是手工取,一个是自动来取。手工取没啥兴趣,那就自动取吧,网页的格式都是有一定规律的,自动取会很方便。先打开一页,看看源代码需要取数据的点有那些特征。打开页面后找到了需要的特征,在每个标题前有一段HTML代码 “<img src=images/face/1.gif >” 在每篇文章的点击次数有特征标示 “阅读全文”,有了这两个特征就可以提取需要的数据了。

    下面是具体的LoadRunner脚本代码

    #include "as_web.h"
    int i,j; //定义变量,循环次数
    char URL1[512],COUNT[512],Name[512]; //定义变量,存储参数化名称
    Action1()
    {
       for(i=1;i<=10;i++)//当前BLOG只有10页 所以循环次数为10
       {  

           web_reg_save_param("Count","LB=阅读全文(","RB=)</a>","ORD=all",LAST);  //设定点击数参数化变量

           web_reg_save_param("Name","LB=<img src=images/face/1.gif >","RB=</a>","ORD=all",LAST);//设定标题参数化变量

           sprintf(URL1,"URL=http://www1.testage.net/blog/blog.asp?name=alanstone&page=%d",i);//准备需要访问的URL

           web_url("Link",URL1,LAST); //访问URL

           for(j=1;j<=atoi(lr_eval_string("{Count_count}"));j++) //按得到的参数化变量数量进行循环
           {

               sprintf(COUNT,"{Count_%d}",j); //准备点击次数参数化变量

               sprintf(Name,"{Name_%d}",j); //准备标题参数化变量

               lr_message("%s   %s",lr_eval_string(Name),lr_eval_string(COUNT));//打印标题和点击次数   
            }
        }
    return 0;
    }

    该脚本唯一有点难度的是需要一点C语言的基础,同时对于web_reg_save_param参数有一些了解,具体web_reg_save_param参数使用方法可以查看LR的联机文档。
  • LoadRunner监视的性能计数器

    leaf840404 发布于 2007-03-28 15:36:31

    LoadRunner监视的性能计数器
       今天,我先把我整理的一些计数器及其阈值要求等贴出来,这些计数器是针对我对windows操作系统,C/S结构的sql server数据库及WEB平台.net产品测试时的一些计数器;大家可以继续补充,作过unix平台上oracle数据库测试及J2EE架构及WEBLOGIC方面测试的朋友,也希望把自己使用的计数器贴出来,让大家分享。
    好了,先说这些了,希望通过这个专题,最终能让大家对自己的测试结果进行分析。

            Memory: 内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 2000 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:
    Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。


           page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。


            page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。
    由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:
    Physical Disk\ % Disk Time
    Physical Disk\ Avg.Disk Queue Length
    例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。
    要确定过多的页交换对磁盘活动的影响,请将 Physical Disk\ Avg.Disk sec/Transfer 和 Memory\ Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。


           Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。
    Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化
    如果您怀疑有内存泄露,请监视 Memory\ Available Bytes 和 Memory\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process\Private Bytes、Process\Working Set 和Process\Handle Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视 Memory\Pool Nonpaged Bytes、Memory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes。


    Pages per second :每秒钟检索的页数。该数字应少于每秒一页。

    Process:
    %Processor Time: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%
    Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。
    Work set: 处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。
    Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

    Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。
    %Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。
    %User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。
    %Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。
    此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。
    % DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

    Thread
    ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

    Physical Disk:
    %Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。
    Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。
    Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。
    Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。
    Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。
    Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。
    Network Interface:
    Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较

    SQLServer性能计数器:
    Access Methods(访问方法) 用于监视访问数据库中的逻辑页的方法。
    . Full Scans/sec(全表扫描/秒) 每秒不受限的完全扫描数。可以是基本表扫描或全索引扫描。如果这个计数器显示的值比1或2高,应该分析你的查询以确定是否确实需要全表扫描,以及S Q L查询是否可以被优化。
    . Page splits/sec(页分割/秒)由于数据更新操作引起的每秒页分割的数量。
    Buffer Manager(缓冲器管理器):监视 Microsoft&reg; SQL Server? 如何使用: 内存存储数据页、内部数据结构和过程高速缓存;计数器在 SQL Server 从磁盘读取数据库页和将数据库页写入磁盘时监视物理 I/O。 监视 SQL Server 所使用的内存和计数器有助于确定: 是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。 是否可通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。
    SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理 I/O 会耗费大量时间。尽可能减少物理 I/O 可以提高查询性能。
    .Page Reads/sec:每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。
    .Page Writes/sec (.写的页/秒) 每秒执行的物理数据库写的页数。
    .Buffer Cache Hit Ratio. 在“缓冲池”(Buffer Cache/Buffer Pool)中没有被读过的页占整个缓冲池中所有页的比率。可在高速缓存中找到而不需要从磁盘中读取的页的百分比。这一比率是高速缓存命中总数除以自 SQL Server 实例启动后对高速缓存的查找总数。经过很长时间后,这一比率的变化很小。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加 SQL Server 可用的内存数量来提高高速缓存命中率。计数器值依应用程序而定,但比率最好为90% 或更高。增加内存直到这一数值持续高于90%,表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。
    . Lazy Writes/sec(惰性写/秒)惰性写进程每秒写的缓冲区的数量。值最好为0。
    Cache Manager(高速缓存管理器) 对象提供计数器,用于监视 Microsoft&reg; SQL Server? 如何使用内存存储对象,如存储过程、特殊和准备好的 Transact-SQL 语句以及触发器。
    . Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。
    Latches(闩) 用于监视称为闩锁的内部 SQL Server 资源锁。监视闩锁以明确用户活动和资源使用情况,有助于查明性能瓶颈。
    . Average Latch Wait Ti m e ( m s ) (平均闩等待时间(毫秒)) 一个SQL Server线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。
    . Latch Waits/sec (闩等待/秒) 在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。
    Locks(锁) 提供有关个别资源类型上的 SQL Server 锁的信息。锁加在 SQL Server 资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。例如,如果一个排它 (X) 锁被一个事务加在某一表的某一行上,在这个锁被释放前,其它事务都不可以修改这一行。尽可能少使用锁可提高并发性,从而改善性能。可以同时监视 Locks 对象的多个实例,每个实例代表一个资源类型上的一个锁。
    . Number of Deadlocks/sec(死锁的数量/秒) 导致死锁的锁请求的数量
    . Average Wait Time(ms) (平均等待时间(毫秒)) 线程等待某种类型的锁的平均等待时间
    . Lock Requests/sec(锁请求/秒) 每秒钟某种类型的锁请求的数量。
    Memory manager:用于监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 实例所使用的内存有助于确定:
    是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。
    是否可以通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。
    Lock blocks:服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。
    Total server memory:sql server服务器当前正在使用的动态内存总量.

    监视IIS需要的一些计数器
    Internet Information Services Global:
    File Cache Hits %、File CacheFlushes、File Cache Hits
    File Cache Hits %是全部缓存请求中缓存命中次数所占的比例,反映了IIS 的文件缓存设置的工作情况。对于一个大部分是静态网页组成的网站,该值应该保持在80%左右。而File Cache Hits是文件缓存命中的具体值,File CacheFlushes 是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过比较File Cache Hits 和File Cache Flushes 可得出缓存命中率对缓存清空率的比率。通过观察它两个的值,可以得到一个适当的刷新值(参考IIS 的设置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)
    Web Service:
    Bytes Total/sec:显示Web服务器发送和接受的总字节数。低数值表明该IIS正在以较低的速度进行数据传输。
    Connection Refused:数值越低越好。高数值表明网络适配器或处理器存在瓶颈。
    Not Found Errors:显示由于被请求文件无法找到而无法由服务器满足的请求数(HTTP状态代码404)

  • 软件测试常用单词

    leaf840404 发布于 2007-03-26 16:57:00

    软件测试常用单词

    软件测试常用单词:
    1.静态测试:Non-Execution-Based Testing或Static testing
            代码走查:Walkthrough
    代码审查:Code Inspection
    技术评审:Review
    2.动态测试:Execution-Based Testing
    3.白盒测试:White-Box Testing
    4.黑盒测试:Black-Box Testing
    5.灰盒测试:Gray-Box Testing
    6.软件质量保证SQA:Software Quality Assurance
    7.软件开发生命周期:Software Development Life Cycle
    8.冒烟测试:Smoke Test
    9.回归测试:Regression Test
    10.功能测试:Function Testing
    11.性能测试:Performance Testing
    12.压力测试:Stress Testing
    13.负载测试:Volume Testing
    14.易用性测试:Usability Testing
    15.安装测试:Installation Testing
    16.界面测试:UI Testing
    17.配置测试:Configuration Testing
    18.文档测试:Documentation Testing
    19.兼容性测试:Compatibility Testing
    20.安全性测试:Security Testing
    21.恢复测试:Recovery Testing
    22.单元测试:Unit Tes
    23.集成测试:Integration Test
    24.系统测试:System Test
    25.验收测试:Acceptance Test
    26.测试计划应包括:
    测试对象:The Test Objectives,
    测试范围: The Test  Scope,
    测试策略: The Test  Strategy
    测试方法: The Test  Approach,
    测试过程: The test procedures,
    测试环境: The Test Environment,
    测试完成标准:The test Completion criteria
                                            测试用例:The Test Cases
                                            测试进度表:The Test Schedules
                                            风险:Risks
                                            Etc
    27.主测试计划: a master test plan
    28.需求规格说明书:The Test Specifications
    29.需求分析阶段:The Requirements Phase
    30.接口:Interface
    31.最终用户:The End User
    31.正式的测试环境:Formal Test Environment
    32.确认需求:Verifying The Requirements
    33.有分歧的需求:Ambiguous Requirements
    34.运行和维护:Operation and Maintenance.
    35.可复用性:Reusability
    36.可靠性: Reliability/Availability
    37.电机电子工程师协会IEEE:The Institute of Electrical and Electronics Engineers)  
    38.要从以下几方面测试软件:
    正确性:Correctness
    实用性:Utility
    性能:Performance
    健壮性:Robustness
    可靠性:Reliability

    关于Bugzilla:
    1.Bug按严重程度(Severity)分为:
    Blocker,阻碍开发和/或测试工作
                  Critical,死机,丢失数据,内存溢出
                 Major,较大的功能缺陷
                 Normal,普通的功能缺陷
                Minor,较轻的功能缺陷
    Trivial,产品外观上的问题或一些不影响使用的小毛病,如菜单或对话框中的文字拼写或字体问题等等
            Enhancement,建议或意见
    2.Bug按报告状态分类(Status)
       待确认的(Unconfirmed)
             新提交的(New)
            已分配的(Assigned)
       问题未解决的(Reopened)
             待返测的(Resolved)
             待归档的(Verified)
             已归档的(Closed)
    3.Bug处理意见(Resolution)
                          已修改的(Fixed)
    不是问题(Invalid)
                           无法修改(Wontfix)
            以后版本解决(Later)
                     保留(Remind)
                            重复(Duplicate)
                     无法重现(Worksforme)
    对软件测试感兴趣的朋友可以和我交流:qq:84311500

  • 测试工具大全(各类测试工具简介)

    leaf840404 发布于 2007-03-13 18:16:53

     
     

    企业级自动化测试工具WinRunner

     

    提名理由:Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

    工业标准级负载测试工具Loadrunner

     

    提名理由:LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

    全球测试管理系统testdirector

     

    提名理由:TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

    功能测试工具Rational Robot

     

    提名理由:IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

    单元测试工具xUnit系列

     

    提名理由:目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit。

    功能测试工具SilkTest

     

    提名理由:Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。 

    性能测试工具WAS

     

    提名理由:Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

    自动化白盒测试工具Jtest

     

    提名理由:Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

    功能和性能测试的工具JMeter

     

    提名理由:JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

    性能测试和分析工具WEBLODE

     

    提名理由:webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。

     测试工具大全

    Author: Vince

    工具类别 工具名称 生产厂商 相关网站
    通用功能自动化测试工具 Winrunner Mercury
    Quicktest pro Mercury
    Xrunner Mercury
    QARun Compuware
    TestPartner Compuware
    WebKing Parasoft http://www.parasoft.com
    Robot IBM Rational http://www.ibm.com/cn
    Visual Test IBM Rational http://www.ibm.com/cn
    Functional Tester IBM Rational http://www.ibm.com/cn
    SilkTest Segue
    SilkTest International Segue
    e-Tester Empirix
    WebFT Radview
    TestComplete AutomatedQA
    QA Wizard Seapine
    Software EggPlant RedStone
    Test Edition Microsoft Visual Studio
    PureTest Minq
    Autotester Autotester
    Testbench400 Original Software
    TestExpert VEReCOMM
    TestRunner Qronus
    TTCN suite Telelogic http://www.telelogic.com.cn
    QC/Replay Centerline
    Web AutoTester
    eValid Software Research
    WebART OCLC
    MaxQ 开源
    WebInject 开源
    Marathon 开源
    性能测试/监控工具  LoadRunner Mercury
    SiteScope Mercury
    Topaz Mercury
    QaLoad Compuware
    PerformaSure/benchmark Quest
    Silkperformer Segue
    Silkperformer Lite Segue
    SilkCentralTM Performance Manager Segue
    e-Load Empirix
    Robot IBM Rational http://www.ibm.com/cn
    Performance Tester IBM Rational http://www.ibm.com/cn
    WebLoad RadView
    Web applicaton stress tool  Microsoft
    Application center test Microsoft
    PureLoad Minq
    Athene APR Metron
    ForeCast Facilita
    Impact/Impact for CBT Cyrano
    Berkeley Laboratory sniffer Lawrence
    Jmeter 开源
    openSTA 开源
    Siege 开源
    StressMark 开源
    DBMonster 开源
    白盒测试/代码分析工具  VcTester ezTester http://www.eztester.com
    Jtest Parasoft http://www.parasoft.com
    C++test Parasoft http://www.parasoft.com
    SOA test Parasoft http://www.parasoft.com
    .test Parasoft http://www.parasoft.com
    Codewizard Parasoft http://www.parasoft.com
    Insure++ Parasoft http://www.parasoft.com
    DataRecon Parasoft http://www.parasoft.com
    Numega devpartner studio Compuware
    DevPartnerJavaEdition Compuware
    BoundsChecker Compuware
    SmartCheck Compuware
    DBPartner Compuware
    Bean-test Empirix
    Aqtime AutomatedQA
    QESatJava AutomatedQA
    Visual Unit Unitware
    PC-lint Gimpel Software
    Macabe Macabe
    Optimizeit Suite Borland
    JProbe Suite Quest Software
    Application assurance suite Quest Software
    Sql optimizer Quest Software
    Jprofiler ej-technologies
    workbench Cyrano
    Logiscope TeleLogic http://www.telelogic.com.cn
    rulecheck TeleLogic http://www.telelogic.com.cn
    SilkPerformer Component Test Edition Segue
    Purifyplus IBM rational http://www.ibm.com/cn
    Rational Test Realtime IBM rational http://www.ibm.com/cn
    junit 开源
    cactus 开源
    Hansel 开源
    TestNG 开源
    StrutsTestCase 开源
    JFCUnit 开源
    Httpunit 开源
    Dunit 开源
    cppunit 开源 http://sourceforge.net/projects/cppunit
    Nunit 开源
    Xunit 开源
    JTR 开源
    MallocDebug Linux平台工具
    Valgrind Linux平台工具
    Kcachegrind Linux平台工具
    dmalloc Linux平台工具
    ElectricFence Linux平台工具
    LeakTracer Linux平台工具
    memprof Linux平台工具
    ccmalloc Linux平台工具
    mprof Linux平台工具
    yamd Linux平台工具
    njamd Linux平台工具
    mpatrol Linux平台工具
    嵌入式测试工具 VcTester ezTester http://www.eztester.com
    codetest Metrowerks
    Cantata/cantana++ IPL
    IceMaster Reflex Technology
    System test Reflex Technology
    scorecast DDC-I
    Testquest Testquest
    UniText ATTOL
    vectorcast Vector software
    testrunner Qronus
    Logiscope Telelogic http://www.telelogic.com.cn
    测试管理工具 TestDirector(QualityCenter) Mercury
    QADirector Compuware
    certify Worksoft
    Product manager Aimware
    SilkCentral Test Manager Segue
    Doors Telelogic http://www.telelogic.com.cn
    e-manager Empirix
    testmanager IBM Rational http://www.ibm.com/cn
    TestView Manager RadView
    Professional T-Plan
    缺陷管理工具 TestDirector(QualityCenter) Mercury
    ClearQuest IBM Rational http://www.ibm.com/cn
    TrackRecord Compuware
    TestTrack pro Seapine
    TrueTrack McCabe
    Devtrack Techexcel
    Notes IBM Lotus
    SilkCentral Issue Manager Segue
    PVCS Tracker Merant
    AR System Remedy
    URTrack LealSoft
    Butterfly Hansky
    Bugzilla 开源
    Mantis 开源
    JIRA 开源
    BugFree 开源
    配置管理工具 ClearCase IBM Rational http://www.ibm.com/cn
    PVCS Version Manager Merant
    VCS Diamond
    StarTeam Borland
    Perforce Perforce
    TRUEchange McCabe
    SYNERGY CM  Telelogic http://www.telelogic.com.cn
    VSS Microsoft
    Firefly Hansky
    CVS Subversion
    SCCS RCS
    CCC/Harvest Computer Associates

  • 手工检测病毒(转)

    leaf840404 发布于 2007-03-12 14:29:40

    文章我认为可能会有问题,希望高手多多指教,我会在春节前把文章更新好,并且会发布完整版。届时将有我整理的一些进程、服务等等,需要经验来说明的东西,目的都是为了新手和想学习的人,希望这些经验可以帮助大家,可以在论坛里面和我交流也可以发邮件。总之谢谢大家。

    不会SRE使用的请看我14日写的教程:http://forum.ikaka.com/topic.asp?board=28&artid=8270267

    在对新手说一句,不管什么病毒,请先贴日志,让大家了解你计算机后,才能对症下药。解决你的问题

    手工检测未知病毒 作者:UFO&不幸外人(转载请注明)
    近期,可能是因为春节的来临,也可能是因为病毒作者耐不住寂寞,纷纷发表新的病毒,年底的“熊猫烧香”,去年的“威金”等等大型蠕虫病毒,给我带来的很多麻烦,我们应该如何对付这些病毒呢?我们要增强我们自己的防病毒意识。虽然现在杀毒软件做的非常不错,但对某些病毒的更新速度还需要改善,这就需要我们来自己动手检测未知病毒。

    说到检测未知病毒,对于新手来说,可能很困难,经过这个文章可以让你完整了解病毒的检测和删除过程,加上自己努力学习和实践,就可以实现自己手工杀毒。好了废话就说这么多,我们来看看如何检测未知病毒。

    第一, 全面检测计算机。
    对于新手,手动全面检测计算机是非常困难的,因为需要打开注册表,一项一项去检查,那我们就使用简单的方法——运用SRE这个软件,SRE全名System Repair Engineer,下载地址:http://www4.skycn.com/soft/23312.html。打开软件后,点击软件左边的智能扫描,再点击“扫描”,就可以对计算机进行较为全面的扫描了。

    对于不想自己分析的新手,请把日志贴到论坛上,会有人帮你解决。

    SREng(System Repair Engineer)的使用方法http://forum.ikaka.com/topic.asp?board=28&artid=8270267


    第二, 分析扫描日志
    这个是最关键的一步,对于很多新手,选择来论坛发布日志,让有经验的高手来分析,这样省时省力,但是如果大家学会分析日志,那么就可以有更多的人帮助新来的人,减少版主和论坛高人的劳动。分析日志学习起来很难,因为需要不断积累经验,在这里只介绍简单的方法(若有更好的方法,希望论坛或者邮件进行讨论)。

    1、 了解日志
    SRE日志分别扫描了注册表启动项、启动文件夹、服务、驱动、浏览器加载项、进程、文件关联、Winsock 提供者、autorun.inf、HOSTS文件、API HOOK。我会重点介绍一些检测时常用的项目

    2、 看进程
    看进程,看什么呢?看的就是,是否有除系统基本进程和软件产生进程外的其他进程,尤其注意进程路径是c:\windows\和C:\windows\system32\下的文件,可能有些新手不知道那些是系统基本进程,那些是软件安装的进程,这就是需要经验积累的地方,为了方便新手了解进程,我做了一个表一
    对于系统进程加载的DLL,这个需要具体分析,很多盗号木马运用了这个方式,那就要经过下面三步去完善。

    3、 看启动项(包括注册表启动项、启动文件夹、服务、驱动)
    看了进程以后,对那些是可疑文件有了一定了解后,就可以来看启动项目。SRE这个日志非常适合新手使用,因为它已经在服务和驱动这两个地方把微软签名的启动项隐藏,对于服务,驱动需要经验才能动,下面我一项一项的介绍。
    注册表启动项
    在SRE里面,这册表启动项包括了Winlogon启动,普通注册表启动等等多个项目。这个只能看下我在虚拟机下面刚安装一版SP2的Windows XP的日志了,当然因为每一种系统(盗版方式不同或者正版等等)不同,可能扫描出来的不仅相同,剩下的需要大家经验积累。
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
    <ctfmon.exe><C:\WINDOWS\system32\ctfmon.exe> [(Verified)Microsoft Corporation](启动输入法)
    超级兔子、MSN Messenger等通过此项目启动
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
    <load><> [N/A]
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
    <IMJPMIG8.1><"C:\WINDOWS\IME\imjp8_1\IMJPMIG.EXE" /Spoil /RemAdvDef /Migration32> [(Verified)Microsoft Corporation](微软输入法启动项)
    <PHIME2002ASync><C:\WINDOWS\system32\IME\TINTLGNT\TINTSETP.EXE /SYNC> [(Verified)Microsoft Corporation] (微软输入法启动项)
    <PHIME2002A><C:\WINDOWS\system32\IME\TINTLGNT\TINTSETP.EXE /IMEName> [(Verified)Microsoft Corporation] (微软输入法启动项)
    暴风影音、NVIDIA显卡、声卡、超级解霸、瑞星杀毒软件、瑞星个人防火墙、卡卡上网助手、金山毒霸、江民杀毒软件、Emule、金山词霸、Nero、Real系列、酷狗等通过此项目启动
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
    <shell><Explorer.exe> [(Verified)Microsoft Corporation]
    <Userinit><C:\WINDOWS\system32\userinit.exe,> [(Verified)Microsoft Corporation](Winlogon启动项,逗号后面若有东西90%是病毒)
    <UIHost><logonui.exe> [(Verified)Microsoft Corporation]
    [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows]
    <AppInit_DLLs><> [N/A](初始化动态链接库,若这里面有东西90%是病毒)
    以上只进行了概述,具体请看下面回复的表二

    启动文件夹
    这个最好看,只有部分软件修改这里,典型的比如QQ的启动项、OFFICE的工具栏启动项。这个利用的病毒也很少,早期的“比肩社区”(在桌面呈现比肩社区介绍)就利用。需要耐心检查。

    服务
    这个比较好看,第一看服务名称后面的状态,SRE日志扫描后的格式为(最新版本)[服务名称][当前运行状态/启动状态],其中当前运行状态是表示扫描的时候计算机是否运行了此服务,Running表示运行、Stopped表示没有运行;启动状态,表示此服务是如何启动,Auto Start表示自动,Disabled表示已禁用,Manual Start表示手动启动。其中重点看Running和Auto Start的项目,如果此项目和你安装的软件和驱动程序无关,那就可能是病毒。
    这里请看下面回复的表三

    驱动
    我经过5年的杀毒经验,也不敢轻易动这个项目,只能介绍一条经验,就是如果一个驱动全部为数字,可能为病毒文件。因为现在各种品牌的驱动都不一样,所以其他的就记不住了。
    请看表四

    鉴于启动项确定比较困难,希望新手在安装计算机后,做一次扫描备份,可以通过对比的方法,来看是否增加了启动项,如果此期间没有安装任何驱动和软件,那么就可能不是正常文件,就要小心的进行检查了。
    4、 对比
    对比所有可疑启动项目和所有可疑进程,是否可以一一对应,如果不可以,那么就要看是哪里出现的问题,就对那里进行进一步的研究。看看是否是因为病毒的运行方式或者保护方式问题,或者有其他病毒的存在。当然,原因不只这一些,还是需要大家积累经验。实践是根本。

    5、 看其余项目
    第一个要看的就是autorun.inf这个项目,如果某个盘有此文件,或者每个盘都有,那么就说明你的计算机中了病毒,处理方法很多,这里介绍几种。当然处理的时候,要保证系统中没有病毒运行了。

    第一种:利用WinRAR。具体方法:打开所感染的硬盘,删除对应文件。说明不会感染计算机,方便实用。

    第二种:利用资源管理器。具体方法:在打开显示隐藏文件和系统文件的前提下,利用资源管理器,在资源管理器左面选择感染的盘符,右面删除对应文件。说明对于某些病毒又感染的危险。

    第三种:利用命令提示符。具体方法利用了DOS命令,具体命令如下:
    Attrib –s –h –r –a X:\autorun.inf
    Attrib –s –h –r –a X:\对应启动文件(EXE或者PIF)
    Del X:\autorun.inf
    Del X:\ 对应启动文件(EXE或者PIF)
    其中X代表感染的盘符。
    说明可以删除彻底,需要懂一些DOS命令和CMD的使用方法。

    第四种:利用冰刃。具体方法打开冰刃后,点击下面的文件,后面的处理如同资源管理器。说明删除彻底,建议新手使用。

    第二个要看的就是HOSTS文件,这里的看法是按照行,日志前面写的是网址对应的DNS解析的IP地址,如果所有IP地址都是同一个,或者和其他计算机解析的IP地址不同,那么就有问题,最主要的还是同一个或者同为127.0.0.1。处理方法很简单,利用记事本打开Host这个文件,路经在C:\WINDOWS\system32\drivers\etc,这个处理最好是在病毒删除以后。

    第三, 处理所有可疑文件(清除病毒文件)

    这个是最关键的一步,这一步就要删除病毒了,看到论坛以前有人光用SRE这类日志扫描程序删除,就非常气愤,因为这个程序无法完全解决问题。现在先来说明一下原因,第一,若病毒运行,病毒会不时的自动检测启动项是否被修改,你用SRE删除以后,病毒会立刻检测到,自动添加,当重新启动的时候就会重新回来,解决方法倒是有一个,这个可以在安全模式下进行,但是有部分病毒在安全模式下照样会运行,下一点就说明了这个。第二,有很多病毒选择了Winlogon启动或者初始化动态链接库启动再或者驱动启动,这三类启动有一个共同特点,就是病毒在安全模式下也会运行,那么SRE对其根本没有效果。那我们怎么进行处理呢,最可靠的方法还是使用冰刃(IceSword)。

    当然也有一点冰刃不是全能的,现在有病毒以进程来结束冰刃,以后会怎么样,《黑客防线》曾经有一篇文章就是专门介绍冰刃的漏洞,利用这个漏洞,病毒可以结束掉冰刃。
    废话就说以上这么多,看看具体处理方法吧。冰刃在杀毒的时候需要做一个预处理,点击上方文件下的设置,选中禁止线程创建。然后就可以做下面的处理了

    删除方法:
    第一种情况,有确实的EXE进程。打开冰刃后,点击进程,结束此可疑进程,这样此进程不会创建,按照上面对比后的结果,如果是注册表中的,在冰刃下面可以看到注册表,直接进行修改,注意一点就是<AppInit_DLLs><>项目需要双击打开编辑框清空,其它的直接找到对应键值删除即可;如果是服务启动,在冰刃下进入服务,找到启动服务,点右键,改为已禁用即可;如果是驱动启动,可以打开注册表进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services找到对应的删除即可,也可以使用SRE进行删除。最后运用冰刃强制删除文件后杀毒结束。

    第二种情况,无确定的EXE进程,现在很多木马喜欢用DLL潜入方式,比如江湖木马,征途木马,这些木马对应的启动项目是一个EXE文件,而最终起作用的是一个潜入进程的DLL,找此DLL的方法也是有经验的。此病毒删除方法就是先处理EXE文件,打开冰刃,进入对应启动项,按照第一种情况所说方法先删除启动项。然后强制删除对应文件,最后强制删除DLL文件重新启动后即可完成杀毒,如果找不到对应的DLL,不删除也可以,此DLL会成为系统垃圾,放在它该存在的位置,而不在产生作用。

    第三种情况,也是最难处理的一种情况,现象就是杀毒软件报告病毒,但是无法从日志中找到任何病毒踪迹,这里要先启动冰刃,在进程、内核程序、启动组和服务中进行一次彻底查找(后面对次问题有解释),如果还是没有,就属于这种情况。此情况删除及其复杂。可以用冰刃强制删除对应文件(若杀毒软件以成功删除就不用做这一步),并且打开我的电脑,找到对应位置,建立一个同名的文件夹(包括扩展名),这样病毒将不会再产生,然后运用Filemon这个文件监控软件,进行监控,在监控过程中,逐一运行软件,看看那个软件要创建前面用冰刃或者杀毒软件删除的文件,找到后,删除此软件里面的所有文件重新安装,即可。

    请继续看贴http://forum.ikaka.com/topic.asp?board=28&artid=8267923&page=1
    下面的更新都在此贴进行。更新结束后,我会完善(修改)文章,并且对问题进行回复。然后再一次发布完整帖子。希望对大家有所帮助

Open Toolbar