一、初步概念

1、功能测试:测试产品的功能是否达到要求

2、性能测试:测试产品的性能是否达到要求。(性能的要求高于功能的要求)

 

市场招聘的需求主要有两方面:

   A、功能测试(手工、自动化)

   B、性能测试(自能通过工具)待遇高于功能自动化,要求比功能高,比如需要查找产品慢的原因:网络、服务器、中间件、数据库等层面问题

 

二、性能测试的课程安排:

1、性能测试的基本概念 ---- 性能测试概念(1天)

对性能测试要求比较高的行业:通讯、樱花、金融、证券、保险、百度、谷歌等系统

对性能要求比较低的:OA办公自动化

 

2、性能测试的工具部分-- LoadRunner   (全球至少一半以上的性能,使用LoadRunner)

1) LoadRunner的初级部分 -- 三大组件的简单运行

a、脚本生成器:调代码、脚本的地方

b、控制台:好比指挥部

c、结果分析器:比如,每隔三秒钟出一个结果,分析海量的结果,还可以继续的分析。

 

2) LoadRunner的高级部分 -- 三大组件逐个深入掌握。

3)性能测试的高级部分 :性能测试工程中,遇到问题(瓶颈),如何查找、定性,进行性能调优。

 

 

LR   HP官网下载   大概4G 免费    问题:用户数有限  单用户等

    多个用户,需要买Licence需要注册

基本测试流程:

1)创建/编辑脚本

2)运行压力测试

3)分析测试结果

 

 

从奥运门票说起~

官方新闻如下:10月30日,北京奥组委想境内公众启动第二阶段奥运会门票预售。然而,为让更多的公众实现奥运梦想

的“先到先得,售完为止“的销售政策适得其反,公众纷纷抢在第一时间订票,致使票务官网压力激增,...... 导致系统瘫痪。

     从上午9点开始售票到中午12点,3个小时内,票务网站被浏览次数达到2000万此。这雨他们提供的100万次/小时流量

相差甚远。

信息提取:    压力激增 ----  瞬时压力:并发压力(性能测试)

                      系统瘫痪 ----  宕机(down机了)

                      3个小时内,网站的流量次数达到2000万次

                      他们提供的100次/小时     他们:奥组委

  甲方:奥组委                乙方:开发方                   第三方:测试团队

 

报道~   

       从今天上午的情况看,公众购买门票的热情极其高涨。有些群众很早就来到中国银行排队等候;官方票务网站的浏览量在第一小时

就达到800万次,每秒钟从网上提交的门票申请超过20万张;票务呼叫中心热线从9点到10点的呼入量超过了200万人次。

 

信息提取:    浏览量第一小时 800万次           8000000/3600 = 2222次/秒

                      每秒钟从网上提交的门票申请超过20万张

浏览量(PV,  Page View) :即页面访问量或点击量,用户每次刷新即被计算一次。

 

客户端                    服务器

北京 ---------------->    上海    网络延迟0.2     每秒钟差了0.2 *20万张 = 4万张 

上海 ----------------->   上海

 

 

项目经理经常安排次测试工程师进行下面的工作:

 ----  测试系统的最大并发用户数

 ---- 测试系统8小时的最大业务吞吐量

 ---- 测试系统的稳定性和健壮性

 ---- 测试系统在数据达到100万条记录时的性能

 ---- 测试系统的核心事物相应时间是否满足用户的需求

 

 


三、性能测试的概念:

1、性能测试:模拟真实的生产环境,以各种不同的压力(模拟大量用户)去测试被测系统,去”攻击“测试系统。同时

记录下被测系统中各台服务器的各种重要资源情况,包括cpu、内存、磁盘和网络等资源。

2、注意:性能测试之前要做好系统备份。

3、性能测试时首先看性能需求,如果没有需求,这时要根据与客户交流、被测系统的相关资料、以及性能测试工程师的

经验,去编写测试计划,进行测试。

4、负载测试和压力测试的区别:

(国内混用,国外有差别,笔试时需要注意)

1)负载测试是在正常的范围内测试(也是逐步加压)

2)压力测试可以在极端的范围内测试

负载测试:是通过逐步增加系统负载,测试系统性能的变化,最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

压力测试 :逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获的系统能提供的最大服务级别的测试。

举例:一座大桥,桥身上写最大载重车辆,不能超过60吨(负载测试)。但是在桥梁的内部资料里面规定最大载重车辆,不能超过70吨(压力测试)。

5、性能测试的背景课程:

1)数据库 (不夸张的说,60%-90%的性能问题和数据库有关)

2)操作系统(Unix、Linux)

3 )其他:网络协议、防火墙等知识.....

6、影响系统性能的主要因素:

硬件 - cpu、内存、硬盘、网卡及其他网络设备

操作系统

网络

中间件、web服务器

数据库服务器

客户端

编程语言、程序实现方法、算法

 

6、被测系统:

SUT(System Under Test)

AUT(Application Under Test)

EUT(Environment Under Test)

就是WebServer 和DB Server 两部分的统称。

 

进程和线程的区别:线程是由进程分出的,让更多的任务同时执行。

每个虚拟用户就是一个线程,线程比较省资源

 

四、LoadRunner的工作原理:(录制--回放)和QTP类似

1、录制时,loadRunner记录下客户端和服务器二者之间的对话。

2、回放时,LoadRunner模拟真实的客户端向服务器发起请求,并按照脚本去验证服务器的应答。

 

说明:有时脚本录不下来,自己写脚本,发现测试通过了,但实际运行是服务器瘫了。

原因:没有模拟真的是客户端相关,接收出现问题,导致失败。所以自己写脚本也要模拟真实的客户端。

 

LoadRunner的三大组件:(三个火枪手)   QAload工具类似

1)虚拟用户脚本生成器(Virtual User Generator) VUG

功能:录制、编辑测试脚本

2)压力调度控制台(Controller)

功能:创建场景、运行场景、监控场景、收集测试数据

(场景:就是一个大型的配置文件)

3)压力结果分析器(Analysis)

功能:把收集到的测试数据以图表的形式展示出来,生成测试报告。

 

熟悉AUT:LR自带的一个B/S架构的系统

HP LoadRunner -> Sample ->Web -> Start Web Server 先启动服务器

 

HP LoadRunner ->Sample ->Web ->Hp WebTour打开应用

 

五、关注AUT,进行脚本的录制

Web tours 航班订票系统

用户名:jojo

密码:bean

 

注意:(浏览器指定使用IE)

1、使用LR之前,浏览器配置修改:Internet 选项 ->设置 ->选中“每次访问此页时检查”。

原因:当脚本更新时,会及时查看到

2、拷贝AUT的网址,准备测试(测试时关闭被测网址网页)

http://127.0.0.1:1080/WebTours/

 

功能:

Flights      订票

Itinerary    看到订票路线 订单

Home        主界面

Sign  Off    退出

 

录制脚本:使用VUG

HP LoadRunner ->Application ->HP Vurtual User Generator 打开

 

案例:录制用户的登陆脚本

  点击New图标 -> New Virtual User ->默认协议 ->Create 开始录制->填入基本信息点击ok ->自动打开浏览器,开始录制

填写基本信息:

Application Type 选择软件的架构:B/S(Interner application) 或 C/S(Win32 application)

Program to record 选择浏览器类型 -> 默认IE

URL Address: 被测系统的网址  

Working directory: LR工作路径  默认

Record into Action: 录制脚本的位置  默认Action(vuser_init 初始化   Action   vuser_end 结束)

关注小操作条(录制控制功能)

--> 输入jojo    bean

--> 开始事物   名称login (插入事物) -> OK

--> Login 按钮    登陆

--> 结束事物  login  -> OK

--> 改为vuser_end模式,点击Sing Off 退出

--> 关闭浏览器  -> 点击蓝色的Stop键结束录制

 

注意:当LR 的脚本运行得出的result中全部为pass时,不一定证明脚本正确。因为lr只是在网络层面上验证了服务器收到了客户端发送的数据包

并且返回,但是,返回的应答中数据是否正确(应答页面是否正确)没有验证。