好人好梦yxf

发布新日志

  • 常见的性能瓶颈有如下一些情况

    2012-08-22 16:37:18

    摘自云层的书《性能测试进阶指南——Loadrunner11实战》  

    1)硬件上的性能瓶颈

      一般指的是CPU、RAM方面的问题,分为服务器硬件瓶颈、网络瓶颈(对局域网可以不考虑)、服务器操作系统瓶颈(参数配置)、中间件瓶颈(参数配置、数据库、Web服务器等)、应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)。

    例如,确定了在数据库服务器上需要6个CPU、12GB内存。但是在测试时,发现CPU的持续利用率超过95%,这时可以认为在硬件上出现了性能瓶颈。

    2)应用软件上的性能瓶颈

      一般指的是应用服务器、Web服务器等应用软件,还包括数据库系统。

      例如:在WebLogic平台上配置了JDBC连接池的参数,最大连接数为50,最小连接数为5,增加量为10。在测试时发现,当负载增加时,现有的连接数不足,系统会动态生成10个新的连接,导致交易处理的响应时间大大增加。这时可以认为在应用软件上出现了性能瓶颈。

    3)应用程序上的性能瓶颈

      一般指的是开发人员新开发出来的应用程序。

      例如,某程序员开发了一个缴费处理程序。在测试时发现,这个缴费处理程序在处理用户的并发缴费请求时,只能串行处理,无法并行处理,导致缴费交易的处理响应时间非常长,这时可以认为在应用程序上出现了性能瓶颈。

    4)操作系统上的性能瓶颈

      一般指的是Windows、UNIX、Linux等操作系统。

      例如,在Windows操作系统中,对某软件进行性能测试,出现物理内存不足时,如果虚拟内存设置也不合理,虚拟内存的交换效率就会大大降低,从而导致行为的响应时间大大增加。这时可以认为在操作系统上出现了性能瓶颈。

    5)网络设备上的性能瓶颈

      一般指的是防火墙、动态负载均衡器、交换机等设备。

      例如,在动态载均衡器上设置了动态分发负载的机制,当发现某个应用服务器上的硬件资源已经到达极限时,动态负载均衡器将后续的交易请求发送到其他负载较轻的应用服务器上。在测试时发现,动态负载均衡机制没有起到相应的作用,这时可以认为在网络设备上出现了性能瓶颈。

      性能瓶颈出现的原因及其定位是十分复杂的,这里只是简单介绍常见的几种瓶颈类型和特征,而性能测试所需要做的就是根据各种情况因素综合考虑,然后协助开发人员一起定位性能瓶颈。

  • LR的一些知识点摘录

    2012-08-22 10:54:45

    读别人的文章,有些觉得自己需要的就摘录下来

    摘录内容只做参考,因为正确性我个人暂没能力判断。

    摘录一 : 摘自 51Testing软件测试网 » mmhao_54的美丽生活 » 日志2007-12-07 14:11:42 / 个人分类:LR使用分享

     

    1、Running Vusers

    这张图表遵循着标准的测试时间表,每分钟增加10个用户,到达最大用户数250时运行10分钟,之后每分钟减少25个用户

    2、Throughput(吞吐量),完美的吞吐量应该是随着每秒点击率的增加而增加,这种增加是建立在带宽足够处理用户提出的所有请求的基础上的。

  • LR结果分析1

    2012-02-15 15:38:21

    摘自:51Testing软件测试网 » mmhao_54的美丽生活 » 日志

    上一篇 / 下一篇  2007-12-07 14:11:42 / 个人分类:LR使用分享

    有些地方写得不够清楚,待改进~

    这只是1,晚些时候还有2


    Analysis Summary Page

     

    分析总结页面划分了三个主要的段,统计总结、事务总结以及HTTP响应总结。统计总结列出了在场景中统计的全部影响。

    你可以在运行Vusers的顶点和场景运行的整个期间(这个阶段是17:08:38 – 17:54:35, 有 46分钟),对比吞吐量和统计点击率。

    用户的数量和整个运行时间,就是衡量服务器/应用程序可承受吞吐量和点击率的性能了么?你必须对服务器/数据库性能和配置有更多的了解才可以确定。

     

    下一个分析总结部分是事务总结,包括了每个单独的事务的统计,他们的回应时间(最小,平均,最大和标准偏差)

    图中的“90 Percent”统计指出事务在当前行90%的最大响应时间。在这个统计数值之上,你可以知道90%的“A_MainPage_AFI…”这件事务最大的响应时间是94.845秒

    成功和失败事务都列在这个部分里。前缀为“Z_”的事务包含了脚本中使用的所有事务统计的总和

    所有的成功事务在“Z_”事务中至多等于最少通过的单独事务,这里不包括Vuser_init/end这两个事务,这是因为“Z_”事务记录了整个脚本流的统计数字,而不只是一个单独事务。如果脚本中一个用户成功执行所有的步骤,从开始到结束,只有这个时候,“Z_”事务的成功值会上升。无论如何,如果失败发生在脚本中的某一点,则事务失败的数量在发生失败的地方将会增加,并且“Z_”的失败事务数值也会随之增加。

    在这个统计数字的基础上,“Z_”事务中成功事务的总数为776,符合最少成功的单独事务“E_ResultsDisplay…”,而在另一方面,“Z_“的总的失败数是所有事务之和

     

    最后部分的分析总结是HTTP响应总结,这包括了在测试过程中所有HTTP响应的总数和每秒统计的记录。最常出现的信号就是HTTP200,表明成功。这个HTTP所有响应的列表和它们的含意可以在术语表中查看附加的文档


    Running Vusers

     

    运行的用户图表显示了虚拟用户在场景中当前执行脚本的情况。一个虚拟用户按照测试脚本执行一次任务直到全部结束,这个用户已经执行了所需脚本的所有重复(iterations)除非手工停止controller中的用户

    虚拟用户会在渐增的场景中被增加,不像上图中所有用户同时被加载,在虚拟用户的数量在压力测试计划中到达一个高度之后,会保持这些用户运行一段时间,再使用户数递减,递减的速度要比递增的快,因为从移除用户对服务器几乎没有任何不利影响。

    无论什么时候,在测试中出现问题,你都应该知道当前场景中的用户数量。压力测试的目的是诊断程序在虚拟压力下出现的问题,所以,当虚拟用户的数量达到某个值时,会看到数据都在减少,这可以说明程序的不稳定。突发的数据向相反方向(正或负)的延伸都意味着运行的虚拟用户在增加中

    这张图表遵循着标准的测试时间表,每分钟增加10个用户,到达最大用户数250时运行10分钟,之后每分钟减少25个用户

    Hits per Second

     

    每秒点击率显示在网站服务器上随着时间推移的点击数量。这个图表可以显示整个场景或者最后60、180、600或3600秒的情况。你可以将它与事务响应时间图表对比来查看点击是如何影响事务的执行的。

    每秒点击率的增涨表明服务器负荷的增加,所以将每秒点击率与事务响应时间和吞吐量对比,可以让你对服务器在压力下的执行有更多理解。当一个网站服务器正在活动中,每秒点击率将会时常镜像成功的HTTP响应信号的总数。在上图中运行的第25分钟左右到达了尖锋。这可以在诸如运行的用户数、吞吐量和事务响应时间中这些图表中找到答案。

    Throughput

     

    Throughput(吞吐量)展示了数据的总量,它基于字节,由网页服务器每秒向传送scenario的运行情况. Throughput 是基于字节/秒来传输的,它描述通过网络服务器传输的数据在网络上任意事件发生时的传输量。完美的吞吐量应该是随着每秒点击率的增加而增加,这种增加是建立在带宽足够处理用户提出的所有请求的基础上的。

    在比较吞吐量和每秒的点击率中你可以获得服务器在执行过程中的信息。如果服务器如预期的一样在执行,那么吞吐量会随着它每秒的点击量的增加而增加。这是期望实现的情况,因为点击增加一次就会需要服务器发送更多的返回信息给用户。无论如何,如果点击的次数增加而吞吐量恒定或减少,就说明服务器无法执行增加的请求(每秒点击率),结果就是事务反应时间的增加。

    这个图表在展示了一个吞吐量在整个测试中普遍下降的情况,在前25分钟,这种减少的数量是少量却明显的,刚好对应了Hits per Sencond的图表的尖锋时刻,比较这些统计的数字,最好的方法就是把这些图表结合起来。

    这张图表展示了整个测试过程中吞吐量的一个正常减少,在25分钟前面这里,减少的数量不大却也清晰,与上一张图表Hit per Second正好对应,单纯的这些统计数字还是不如整体对比的看所有图表来得准确详细

    Hits per Second - Throughput

     

    这张图表是把hits per second和 throughput两图结合起来的结果,我们可以看到在25分钟前后,每秒的点击的爆增和吞吐量的减少是相应的。如果一台服务器的业务量低于最大负载量,则每秒点击率通常

    会映射吞吐量。上述图表中的结果最有可能的情况是由于用户负载的增加,因为更多用户将会引起每秒点击率的增长,并且当服务器不再处理大量的请求的时候,吞吐量将会减少。

    说到后面的RunningVusers图表,我们知道在前25分钟,加载250个用户会使其到达峰值,由此,预期的每秒点击率的增长和吞吐量的减少说明了服务器的负载已经达到了它的最大值。我们可以预计事务的处理时间和每秒可能发生的错误也会在25分钟前后达到峰值。

    Average Transaction Response Time

     

    平均事务处理时间图表显示了平均每个事务的结束的反应时间。反应时间是从客户端请求到服务器响应的全部时间。通常的响应时间会与当前在测试场景中运行的Vusers的数量一致。

    响应时间增加的最通常的原因是运行的用户增加,因为随着用户进入测试场景的增加,服务器的工作量也会增加。服务器会花时间去响应一个增加的负载,于是平均响应时间就会增长。

    上述图中我们预期到响应的增长时间,这与其它图表中在25分钟前后的数据变化一致。看一下响应时间中的“Z_AFIWhitePages_s2_e3_v3_Transaction”事务,这是最早能分析常规行为的方法,并且进入场景后的10分钟里,总的响应时间增长到110秒左右。在10分钟的时候Vusers运行的人数达到120,所以与前面对比,服务器开始了很大的工作量。

    Transactions per Second (Passed/Failed)

     

    每秒事务图表显示了随着时间推移,事务成功和失败的数量。一个事务表示单独的一个步骤或一个虚拟用户在一组用户中的执行。例如,这个过程是在一个事务中并发测试在网站上进入并确认登录信息

    在规定时间内测试场景中的每秒事务数与运行的虚拟用户数相一致,并且随着虚拟用户的增加,每秒事务数也会增加。如果随着虚拟用户的减少,每秒事务数也会减少,这时场景中很可能出现了问题。你应该先对比运行的虚拟用户数量与每秒事务图,以核实一次虚拟用户的增加是否导致每秒点击率、事务响应时间和吞吐量的增加,将这些统计数据放到一起会帮助你找出问题发生的主要原因

    Total Transactions per Second

     

    每秒总事务图显示的是在测试场景的运行中,所有事务通过与失败的总和。我们可以清晰地看到所有事务的运行情况,像上一张图表一样,有更多特定的每秒事务,这张图表中红线代表失败的总数,说明正在运行的服务器由于一个用户已经超出它可以承载的最大能力

    图中的红线说明事务失败的总数,在25分钟左右的时候出现了预期的峰值,表明服务器已经超出了可以承受用户的最大值。注意在35分钟前锐减的错误,这与测试中虚拟用户的减少相对应

    Transaction Summary Graph

     

    交易总数图表显示测试场景中所有成功、失败和停止事务的的记录。成功的事务是完全成功的,失败的事务是由于未预期事件的出现(一个页面的加载失败,登录失败等)导致的,停止的事务是指没有满足成功或失败条件

    分析这张图表你可以发现事务成功/失败的比率,并确定哪个事务看起来需要更多注意。单一事务的大量失败表明在测试场景中有某类型的问题在一个时刻出现了,出现这种问题的原因可能是某个服务器或页面的问题。此外,分析其它结果会有助于确定事务失败的特殊原因。

    例如,最右侧的事务失败率达到91.47%,明显地这已经超出了预期值。通过分析其它图表,你会发现它们精确地说明这个事务的失败情况。单独的事务同时出现通过与失败,暗示着场景中在某一点出现了问题。所以对比运行虚拟用户的数量、响应时间和吞吐量是有必要的。

    注意这里的“Z_”事务,以且所有出现失败事务的总和,这个值总是大于任意一个单独事务失败的事务

    Transaction Performance Summary

     

    事务每秒执行总结图表除了在测试场景中规定了最小值、平均值、最大值响应时间之外与事务总结图表相似,

    最右侧的事务是“Z_”事务,它在图中有最大值,因为它是所有事务之和。没有哪个事务单独表现出比其他事务高很多的响应时间,但是左边数第二个事务有30.2秒的平均响应时间值。如果可以得到此事务所需资源的更多信息(包括完成数据库的操作,服务器是否正常接收数据),你就会发现高出平均响应时间的原因。

    在这个例子中,0响应时间的事务是当虚拟用户被加载和退出测试场景时的初始化和终止,可以忽略不计。如果测试计划需要,初始化和终止行为中可以包含多个动作,例如场景在总共的三个部分中都需要事务,可以在进入程序时一次(初始化),执行动作时根据设置的次数运行,然后退出程序(终止)

    Transaction Response Time (Under Load)

     

    事务响应时间(压力下)图表是运行的虚拟用户和平均事务响应时间表的一个结合。它显示了在测试场景的某一时刻事务响应时间与虚拟用户运行的数量是有关系的。这张图表有助于观察虚拟用户加载和分析平缓加载的场景对响应时间产生的影响

    平缓的加载使你可以侦测到当虚拟用户数量达到多少时,事务响应时间会出现不好的变化。通过对比测试时间表与这张图表的统计数字,你可以确定响应时间的一个峰值与虚拟用户的增长是否相对应,否则你只能在其它地方找到问题出现的原因。

    图中的加载0-20位用户时的平均响应时间是可以被忽略的,因为测试是从20个用户开始的。非常高的响应时间是因为LR测试软件本身的资源使用,且从0-20用户在测试中没有任何的影响。用户初始化后,运行40用户时,平均响应时间锐减。最可能的原因是这40个用户在不同的网页/服务器之间重新被分配,之后到达60用户


    Transaction Response Time (Percentile)

     

    事务响应时间显示了事务在一定时间内的响应百分比。图中事务的平均响应时间(绿线)到达90%时,响应时间已经超过了200秒。基于这点还很难作出结论,不同于普通的观察。例如,事务在到达90%时的响应时间比在10%时要多。也很难直接地用其它图表而不用这张图表,因为在X轴上衡量事务百分率这部分数据,想要在这些统计数据的基础上做出对比的结论实在困难。

    HTTP Status Code Summary

     

    HTTP状态标准总结包含了饼图显示了HTTP响应数量的集合,它按照状态分类。在多数测试中主要的响应标准是200,成功。图中50%的部份是200,25%是500(失败),另25%是请求页面404(未找到)。HTTP响应的详细标准和含义在附加的词汇表中说明

    HTTP Responses per Second

     

    HTTP每秒响应图统计的是HTTP响应的状态标准,最常用的标准有200(成功),302(重定向),404(未找到)和500(内部服务器问题)。增加的HTTP响应意味着服务器正在处理更多的请求,并成功发送一个HTTP的响应给用户。

    图中测试的整个过程中,“成功”响应标准与“页面未找到”标准的数量相对稳定,在响应503标准在18分钟时开始出现了一个峰值,这说明服务器无法获得请求,在25分钟的时候503标准的每秒响应相当的大,达到每秒16次,说明这时服务器已经超出它可承受的最大值,此结论被其它结果支持。


    全部脚印 不留脚印 留下脚印:
  • 转摘一篇关于测试工作量评估的帖子

    2011-02-25 17:24:05

    转摘地址:http://bbs.51testing.com/thread-402388-1-1.html

    1.     根据测试范围和测试方法来估计工作量:
      a)制定测试计划以前,明确测试范围:

      不同的测试范围,对测试量的评估起到至关重要的因素,比如说测试一个模块或测试多个模块或测试整个系统等等,都属于测试范围不一样,明显工作量也不同,差别也挺大的。还有测试范围还包括功能性测试范围或非功能性测试范围等等,在做测试工作量评估的时候,都必须考虑。

      b)确定合理、有效的测试方法:

      比如说你要考虑测试某个项目,你必须考虑测试方法是否合理。比如说某个模块的功能测试,你可以采用QTP做自动化功能测试,还是手工做功能测试,工作量就不一样,做测试计划以前必须考虑清楚。要不然,估算的工作量肯定不准。

      2.     根据测试任务来评估工作量:

      a)质量需求和项目背景决定工作量:

      不同的项目背景,不同的质量要求,决定不同的测试工作量。如果我们测试的是一个银行系统,涉及到每个人的经济利益,我们测试时必然会对性能测试或安全测试放到第一位,设计较多的异常测试用例,这样一做,必然增加我们的工作量。如果是一般的系统,我们可以只执行一般的功能测试通过就可以了,没有必要去做其它的异常、安全测试。如果系统的质量需求要求高,也许就要进行更深层次的测试,回归测试的力度必然要加大,工作量自然就上去了。

      b)尽可能详细的罗列出项目测试内容:

      一般来说,测试工作量的评估工作都是交给测试经理或项目组成员协助共同来完成的。准确评估项目测试的工作量,必须要求测试Leader明确详细的测试内容,只有知道测试什么?哪些需要测试?详细分析需求规格说明书,明确测试任务以后,评估才会有依据,所以

      尽可能详细的罗列出项目测试内容非常必要。

      c)把测试任务细化到每个测试功能点:

      我们在估算测试时间的时候,可以把测试任务细化到每个测试的功能点,比如说“新增”、“修改”、“删除”、“暂停”、“恢复”等等都记成一个功能点,在预算的时候,同时把编写测试用例和执行测试用例的时间都要计算进去。例如:编写一个测试用例或执行一个功能测试各需要一个小时,如果我们有100个功能点,我们就知道大约要200个小时。这样估算出来的时间比较精确一点,比较符合实际。

      d)预估业务测试或模块交叉测试的复杂容易程度:

      很多时候,我们测试初期,对业务了解不是很多,忽视了对业务方面或交叉模块测试的评估,等到了测试后期,大量的业务测试没有测试,测试时间特别紧,所以在测试初期预估测试的复杂容易程度,在评估工作量方面至关重要。

      3.      根据开发阶段来评估工作量:

      不同的开发阶段,测试时间估算也不太相同。比如说,开发的系统是第一个版本,相对以后的测试工作来说,可能安排的时间要多一点。大多数情况下是这样的,也许后面的版本增加很多新功能,测试工作量还大于第一个版本也是常有的事情。作为测试负责人,对于使用测试阶段来评估工作量,必须根据实际情况来定,不能盲目给出数字,应付了事。

    4.     根据测试经验的积累来评估工作量:

      我们可以借鉴类似项目的测试经验,比如说被测试的系统,我们做过类似的产品,就可以把相关的测试文档,修改一下,复用以前的测试用例,这时候测试工作量就减少了很多。如果没有,我们只能重来。还有就是借鉴以前项目编写测试用例或执行测试的时间,对测试工作量的准确评估,也具有一定的参考价值。

      5.     根据测试风险来评估工作量:

      a)测试人员变动带来的风险:

      在一般的软件公司,测试人员的流动是常有的事情,所以估计测试工作量的时候,我们一定要把它计算在里面,留有一定的余地,以防不测。比如说:以前安排了一个做过类似项目,对类似项目熟悉的测试人员,也许给他安排了一天的工作量。如果他不在了,其它的人去做这个测试也许就2天,甚至3、5天都不一定能够搞定。测试人员带了的风险还是特别高的。

      b)系统测试环境的风险:

      系统测试环境带来的风险,一般来说比较小,发生的可能性很小,如果一旦发生了,也相当可怕。最可怕的就是硬件故障,在经济实力允许的情况下,我们一般的方法是准备两套测试环境,一套测试环境出现问题,我们立马切换到另外一个测试环境中去继续测试,避免影响正常的测试进度。但是大部分的公司都不愿意花血本,来购买昂贵的硬件,而是以牺牲时间来付出代价。

      c)、开发人员版本发布延迟风险:

      不做好版本配置管理或没有正规的测试规范的公司,大部分情况下很难估计工作量,他们基本上都是边改边开发边测试,如果一旦开发出现异常,整个测试就立马终止,这对测试的相互制约作用也会更大,这样对我们估算的工作量也不准确。

      d)、项目变更带了的风险:

      一个项目做到中途,由于客户对技术不断深入的了解,很多时候不是“需求变更”,就是“设计变更”,弄得我们测试人员特别郁闷,不断修改测试文档。如果相关部门没有正规的变更管理,变更引起的工作量更没办法估算。很多测试后期出现工作量加大,测试延期的问题,都是对项目风险估算不足造成的。

      6.     发挥项目团队的力量来评估工作量:

      a)积极调动下属,发挥集体的智慧:

      我带领的测试团队,对工作量的估计大致是这样的:

      测试主管对自己带的项目做一个整体时间预估,给出一个大致估计时间。我再把每个模块分配给准备安排测试这个项目的每个测试工程师做一个测试工作量评估,得到结果后和测试主管的工作量对比。这个时候我要考虑他们每个人的实际能力做适当的调整,最后把调整相对准确的时间,递交项目组评审,如果通过,就OK,如果他们有建议,视建议的程度好坏,再决定是否做修改。有空的时候,我会定时检查每个人的工作内容是否准时完成,督促一下工作。一般来说,时间偏差相差不会超过一周,呵呵!!!

      b)建立一个测试工作量的预算表格:

      测试计划书写结束,我一般是把测试工作量的每一项,写成一个Checklist,每项大致多少时间,写出来。邮件的形式发给部门的全体成员,提高工作量的透明度。每天下班结束以前,每个人都要对测试的工作做汇报,包括已经完成的工作或未完成的工作都进行汇报,时间不是很长,就几分钟的时间,测试Leader也要做Review,以防虚报。

     

  • 软件,我该如何拯救你!

    2011-02-23 10:17:52

    【总结】

    1、   测试还是不够重视,项目测试出了很多问题的时候反应也没人管,现在要求测试配合的时候也是轻描淡写,公司轻视测试的这种大局势一时半会改不了。(很多项目测试一再延期、测试的bug有去无回、回来的bug一半拒绝等等)

    2、   上面不配合,测试部很难要求开发规范测试版本、测试交接条件、测试跟踪流程,为了这些已经屡屡让人气愤了,但上面根本不重视。郁闷,对于喜欢规范化的我对这种现状痛心疾首啊。公司说走五级,要规范,实际却又这样做,开玩笑!

    3、   对这种现状我心有余而力不足,人家说做事不能做铁,要做钢,铁只有硬的一面,很快就会被折断作废,而钢则软硬兼具,不但不易废掉还能解决很多问题。可是,说起来容易做起来难啊?

    4、   我承认开发重要,但测试一再忍让不代表有利于项目改善,千百回的琢磨,或许,换种方式会更好,正面不行,反面试试看吧。

    哎,不知道是我过于较真还是太傻,这么长时间,应该习惯了,说了不要生气,但项目乱搞的时候我还是火冒三丈,要想活得长一点,还是改改我的脾气吧!

  • LoadRunner中的Web 函数列表(转)

    2009-06-17 15:33:51

    LoadRunner中的Web函数列表

    操作函数

    在录制Web Vuser脚本时,VuGen将生成下列操作函数,并且将它们插入到脚本中:

    web_custom_request

    允许您使用HTTP支持的任何方法来创建自定义HTTP请求。

    web_image

    在定义的图像上模拟鼠标单击。

    web_link

    在定义的文本链接上模拟鼠标单击。

    web_submit_data

    执行无条件无上下文的表单提交。

    web_submit_form

    模拟表单的提交。

    web_url

    加载由“URL”属性指定的URL

    身份验证函数

    web_set_certificate

    使Vuser使用在Internet Explorer注册表中列出的特定证书。

    web_set_certificate_ex

    指定证书和密钥文件的位置和格式信息。

    web_set_user

    指定Web服务器的登录字符串和密码,用于Web服务器上已验证用户身份的区域。

    缓存函数

    web_cache_cleanup

    清除缓存模拟程序的内容。

    web_dump_cache

    将资源转储到浏览器缓存中。

    web_load_cache

    加载缓存的内容。

    检查函数

    web_find

    HTML页内搜索指定的文本字符串。

    web_global_verification

    在所有后面的HTTP请求中搜索文本字符串。

    web_image_check

    验证指定的图像是否存在于HTML页内。

    web_reg_find

    在后面的HTTP请求中注册对HTML源或原始缓冲区中文本字符串的搜索。

     

    连接定义函数

    web_disable_keep_alive

    禁用Keep-Alive HTTP连接。

    web_enable_keep_alive

    启用Keep-Alive HTTP连接。

    web_set_connections_limit

    设置Vuser在运行脚本时可以同时打开连接的最大数目。

    并发组函数

    web_concurrent_end

    标记并发组的结束。

    web_concurrent_start

    标记并发组的开始。

    Cookie函数

    web_add_cookie

    添加新的Cookie或修改现有的Cookie

    web_cleanup_cookies

    删除当前由Vuser存储的所有Cookie

     

    web_remove_cookie

    删除指定的Cookie

    联函数

    web_create_html_param

    HTML页上的动态信息保存到参数中。(LR 6.5及更低版

  • 摘录有关测试的几个定义

    2009-06-17 15:07:28

    最近想关注关注性能测试了,于是从论坛里摘录收集了几个朴实却很根本的术语定义。如下:

    1:软件测试是什么?

       让系统更完美,尽可能在系统面向消费者之前发现问题,然后让团队解决。


    2:自动化测试是什么,为什么会出现?

        最原始的测试方法是人工测试,人为的一个流程。一个场景的走,这些测试效果其实也不错,至少人自己放心,那么,为什么还要引进自动化测试呢?

        1):是资本主义的发展。剥削的裸露话,商人需要更大的利益。他们希望项目能够在最短的时间内完成。所以压缩了项目的制作过程。当然就削减了测试时间。人的手工已经赶不上工程的进度,需要引进工具帮忙。

        2):手工测试在现实项目中遇到了瓶颈,比如在系统的性能方面,不可能同一时间号召10000W去测试一个系统。这样成本很高,并且不实用。再者人在疲劳的情况下,测试容易精力不集中等一系列问题。。自动化测试就是用自动化测试工具模拟人的操作测试。工具就像一个机器人,你告诉他怎么做,然后他就按照你的指令执行


    3:性能测试是什么,自动化性能测试呢?

        自动化性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。自动化性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。构造严密的性能测试可以回答如下问题:

    (1)应用程序是否能够很快地响应用户的要求?

    (2)应用程序是否能处理预期的用户负载并具有盈余能力?
    (3)应用程序是否能处理业务所需的事务数量?

    (4)在预期和非预期的用户负载下,应用程序是否稳定?
    (5)是否能确保用户在真正使用软件时获得积极的体验?

        通过回答以上问题,自动化性能测试可以量化、更改业务指标所产生的影响。进而可以说明部署的风险。有效的自动化性能测试过程将有助于您做出更明智的发行决策,并防止系统出现故障和解决可用性问题。

     


    4:LoadRunner 是什么?

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

     

    5:LoadRunner包含哪几个部分?

    . 虚拟用户生成器用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。

    . Controller 用于组织、驱动、管理和监控负载测试。

    . 负载生成器用于通过运行虚拟用户生成负载。

    . Analysis 有助于您查看、分析和比较性能结果。

    . Launcher 为访问所有 LoadRunner 组件的统一界面。

     

    6:LoadRunner的大致工作流程?

    . 计划负载测试

    . 使用loadrunner的VU生成脚本。脚本的生成方式就两种,一种是自写或嵌入源代码,一种是录制生成。

    . 组建并执行性能测试场景

    . 分析结果数据,找到软件系统性能瓶颈

     

    7:了解 LoadRunner的一些 术语?

    . 场景是一种文件,用于根据性能要求定义在每一个测试会话运行期间发生的事件。

    . Vuser 在场景中,LoadRunner 用虚拟用户或Vuser 代替实际用户。

    . Vuser 模拟实际用户的操作来使用应用程序。一个场景可以包含几十、几百甚至几千个 Vuser 。

    . Vuser 脚本Vuser 脚本用于描述 Vuser 在场景中执行的操作。事务要度量服务器的性能,需要定义事务。事务表示要度量的最终用户业务流程。

    . 负载测试流程是什么?

    负载测试通常由五个阶段组成:计划、脚本创建、场景定义、场景执行和结果分析。

    . 计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。

    . 创建 Vuser 脚本:将最终用户活动捕获到自动脚本中。

    . 定义场景:使用LoadRunner Controller 设置负载测试环境。

    . 运行场景:通过LoadRunner Controller 驱动、管理和监控负载测试。

    . 分析结果:使用LoadRunner Analysis 创建图和报告并评估性

  • 测试——让我欢喜让我忧

    2009-05-21 17:54:46

       迷迷糊糊就做了测试这个行业,然后又不知不觉的做了一年多的测试...哎,这期间因为测试,我欢喜过,也郁闷过!

       其实做哪个行业对我来说都无所谓,感觉都那样,开始时费劲,但时间长了就好了。对此我一直奇怪,是不是自己太平凡,平凡的没有一点爱好专长,要不然怎么能做什么行业都一样呢?这似乎是个很深奥的问题,一直没有答案,习惯了没有答案,对此也就没有什么失望,无所谓了。

       对自己是不是没有专长虽然不在乎了,但是目前的测试工作,却时常让我头疼,我一直在问:“我到底适不适合做测试?”虽然测试没有做出什么名堂,但相比之下毕业后做的最长的就是测试工作了,呵呵,日久生情吧,如果换行业,还有些不舍呢!再想起测试有意思的地方,如:你可以接触到和人类有关的各种系统、可以疯狂的对系统搞破坏...这就是欢喜!但同时也有忧郁的时候,如:对同一个系统反复测试、开发人员对bug的忽视、测试技术不够用导致缺陷漏测...

       干一行爱一行,每当自己迷茫和怀疑时只好用这句话来指引和安慰自己了。或许,是我对测试付出得不够,或许,是我对测试的路不够信任,又或许,是我对测试的信心不够...当你要对一个行业下达判决书时,先全力去付出,去信任,如果一段时间后,你仍然无所进步,那么,你才能判定你可能真的不适合那个行业。反之,如果你总是带着一种怀疑和不自信的态度去试探,那么,一路走过,你会发现:世界上没有任何一种职业是你适合的。

       呜呼!或许,我应该换种心态!

  • 开通个人空间第一天

    2008-04-11 11:27:04

    http://www.51testing.com/ 结识几个月了,觉得这是个不错的网站,这段日子有时间就来此看看,慢慢就产生了感情,还有一种老朋友的感觉,很高兴有缘与这里的朋友们相识。

    今天开通了个人空间,第一天,我竟有点兴奋!

Open Toolbar