分享

性能测试见解2

 印度阿三17 2019-05-22

1、性能测试工具的使用原理

软件系统中客户端向服务端发送请求,服务端将结果返回,这个过程通过协议进行交流。

性能测试工具就像一个代理服务器(proxy server),把客户端的行为通过脚本复制下来,通过脚本运行,模拟客户端向服务器发送请求。

压力服务器(负载机)。性能测试工具是通过向服务器产生压力,达到监测性能的目的。要模拟多个客户端并发请求时,性能测试工具就通过配置,复制出多个代理服务器,相当于有多个线程或者进程发送请求,线程或进程运行是需要占用资源。所以当一台测试机器的资源有限时,就需要多个测试机合作完成。

在多个进程或线程请求服务器时,性能测试工具监听服务器的各项性能指标。比如服务器的吞吐量、响应时间、每秒点击数等。有一些性能测试工具还可以监听中间件的指标,比如cpu,内存,显卡、磁盘空间。

最后对监听的数据绘制出图表,以供测试工程师分析参考。

 2、关于loadrunner中的使用问题

2.1 loadrunner的参数化

    在脚本中,有一些变量需要进行参数化。比如在登录的时候,需要使用不同的用户名和密码登录,这个时候就可以对username和password进行参数化。参数化的时候当有两个参数有对应关系时,应该只建立一个参数文件。参数文件中有两张表,并且在第一张表中新增列,把第二张表的数据添加进去。

 

另外对于参数设置有9种形式。需要根据不同的场景选择不同的模式。比如注册用户时,用户名应该是唯一的,此时,数据的分配方法应该是unique。而登录的话,可以顺序取值,分配方法为sequential。

数据的分配方法有unique(唯一的)、sequential(顺序的)、random(随机的); 数据更新方法有种:each iteration(每一个迭代);each occurence(每一次出现);once(第一次迭代中分配的将在之后每一轮迭代中重复使用);

举例说明:当分配方式是sequential,更新方法是each iteration:说明第一轮迭代时,每一个vuser都取第一个值。第二轮迭代时,每一个vuser都取第二个值。

                 当分配方式是sequential,更新方法是each iteration:说明第一轮迭代时,第一个vuser取第一个值,第2个vuser取第2个值,第n个vuser取第n个值。第二轮迭代时,第一个vuser取第n 1个值。

                 当分配方式是sequential,更新方法是once:说明第一轮迭代时,第一个vuser取第一个值,第2个vuser取第2个值,第n个vuser取第n个值。第二轮迭代时,第一个vuser取第1个值,第2个vuser取第2个值,第n个vuser取第n个值。

2.2  脚本录制的模式有两种,一种是录制url-based script,一种是html-based script。html的方式录制的脚本比较直观,但是由于他的脚本与上下文操作有关,如果上文出现问题,会影响下文的执行。(web_submit_form、web_link都是html—based script录制的脚本形式 ),而url模式录制的脚本与上下文无关(例如web_submit_data、web_url)。

2.3 场景设置

在性能测试脚本就绪后,就可以进行场景设置了,场景有两种模式,一种是基于目标的场景,一种是手动场景。一般较多的都是手动场景。loadrunner默认状态下都是基于结果场景。如果需要基于目标进行场景设置,需要在添加脚本的界面,勾选第二个。

基于目标的场景一般用来测试,具体的性能指标项,比如20个虚拟用户在执行业务时,在5min内是否能够达到点击率100tps.目标场景有5中,包括虚拟用户数vuser、每秒点击数hit per second。

来源:http://www./content-4-202751.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多