功能测试VS性能测试

一、功能测试VS性能测试

1、功能测试:

QQ 软件   发信息的功能  能不能接收信息

12306购票系统  购票功能  能不能订购成功  如果失败 要有相对应的提示信息

  1. 性能测试:时间(快,慢),多用户(多,少)

(1)前提:程序的功能已经通过测试(功能没有问题)

(2)影响系统性能的因素:客户端、网络、域名服务器、服务器(被测系统)、代码、应用服务器、数据库、硬件(CPU、内存、磁盘)、操作系统等……

(3)性能测试关心的两个词:请求、响应

     1) 请求:客户端向服务器发送的请求,如:请求登录系统,请求购买一张票,请求注册账号…

     2) 响应:服务器根据客户端提交的请求内容,做出相应的应答

 

3、性能测试概念:通过工具来模拟各种负载条件下的压力,对系统进行测试,验证各项性能指标(响应时间、用户数……)是否满足性能需求

 

 

4、性能测试流程

     1) 分析需求(找到测试点,预期值)

     测试点:被测系统的功能点,并不是所有的功能点都需要测试,用户常用的、主要的、与数据库相关的一些功能点需要做性能测试

     预期值:需求中各项性能指标的值

     2) 编写性能测试计划

     3) 执行测试(Jmeter)

     4) 分析结果

        a) 通过,出性能测试结果报告

        b) 不通过,分析定位性能瓶颈

5. 并发 在用户量很大的情况下同时访问共有资源  如果系统性能不好,并发访问系统,有可能导致

服务响应时间较长,也有可能导致服务宕机

 

并行:多用户的情况下,这些用户(线程)各占自己的资源同时访问服务器

  

 

 

 

 

 

 

  • Jmeter概述

性能测试工具:loadRunner   Jmeter

1、Jmeter是Apache开源组织开发的纯Java桌面应用,可以用来模拟用户产生负载,完成性能测试工作-----性能测试工具

(1)Jmeter既可以安装在windows上也可以安装在Linux上,但是LR只有Load Generator可以安装在Linux系统

(2)Jmeter是纯Java开发的,一般的Java程序都能够进行测试

(3)运行Jmeter需要Java环境   配置环境变量

(4)Jmeter安装文件是绿色版,解压即可使用

 

2、Jmeter的安装

(1)下载安装文件:http://jmeter.apache.org/(官网)

目前上课使用:apache-jmeter-2.12

(2)安装JDK(注意版本)

(3)配置JDK的环境变量   JAVA_HOME: 配置jdk根目录  ClASSPATH 配置  .   PATH 配置JDK 下面bin路劲

 

Jmeter    JDK C:\Program Files\Java\jdk1.6.0

路径:

C:\Program Files\Java\jdk1.6.0

 

%JAVA_HOME%\bin;

 

(4)安装Badboy工具录制脚本

 

(5)总结:

     1) Jmeter:性能测试工具

启动:在Jmeter安装文件下的bin目录中,双击jmeter.bat文件即可

C:\Jmeter\apache-jmeter-2.12\bin\jmeter.bat

 

     2) JDK:Java环境,运行Jmeter时需要

     3) Badboy:其他测试工具,为Jmeter录制脚本

     4) webtours:被测系统

 

3、Jmeter体系结构

(1)为了便于Jmeter的讲解,我们统一一下名词

     1) 元件:如果未做特殊说明,后面出现的元件代表Jmeter工具栏的一个子菜单(功能),如:线程组、逻辑控制器、HTTP请求、集合点、事务…..都是一个元件

     2) 组件:一组元件的集合(一个或多个元件),如:监听器、取样器、逻辑控制器……

 

(2)Jmeter主要的功能模块(元件)

     1) 测试计划(test plan):Jmeter 的一个脚本就是一个测试计划,测试计划就是一个管理单元,管理着本次测试包含的所有内容,如:测试人员(线程组)、请求(脚本)、结果……

     a.测试计划的几要素

        要素一:一个脚本只能有一个测试计划,启动Jmeter就是一个测试计划

        要素二:测试计划中至少有一个线程组(测试小组),也可以有多个

        要素三:至少有一个取样器(请求)

        要素四:至少有一个监听器(用来查看脚本运行结果)

 

     2) 工作台:元件的暂存区域,在测试过程中把暂时不用的元件放入其中,待需要时再放回测试计划中,工作台中的元件,不参与测试,关闭Jmeter将丢失

     3) 线程组(Threads(Users)):性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的,在此元件中可以设置运行测试的线程数(让多少测试人员来执行测试)

      a. 每个测试计划的第一步就是添加线程组,线程组是任何一个测试计划的开始点,所有的控制器和取样器都必须在线程组下

      b. 添加方式:右击测试计划->添加->Threads(Users)->线程组

 

    4) 取样器(Sampler):向服务器发送的请求

       a.取样器是Jmeter向服务器发送请求的最小单元,每个取样器可以设置不同的属性

       b.  测试不同的被测系统,需要添加不同的取样器,如:测试web系统,需要添加HTTP请求,测试FTP系统,需要添加FTP请求,测试数据库系统,需要添加JDBC请求等……

       c.添加方式:右击线程组->添加->Sampler->HTTP请求/FTP请求/Java请求……

 

     5) 监听器(Listener):收集测试结果并进行可视化

        a.在不同的监听器中显示不同的结果数据,请求内容、响应内容、吞吐量、错误率、响应时间等……

        b. 常用的监听器:察看结果树、聚合报告、图形结果、以表格查看结果

 

        c.添加方式:右击线程组->添加->监听器->察看结果树/合报告

     6) 逻辑控制器(Logic Controller):可以自定义Jmeter发送请求的行为逻辑,结合Sampler可以模拟复杂的请求顺序,让请求执行不同的次数,按照不同的顺序执行,满足什么条件才执行

     a. 常用的逻辑控制器:循环控制器、事务控制器、if 控制器

    

     7) 断言(Assertions):类似于Loadrunner中的检查点

        a. 通过对比返回的响应数据与预期数据,用来判断请求是否成功,压力测试(性能测试)的前提就是保证功能的正确

        d. 添加方式:右击取样器(请求)->添加->断言->响应断言

补充:负载测试和压力测试的区别?

1)共同点:都是在测试过程中逐步加压(递增测试)

2)负载测试  Load Testing

 是在正常范围内测试,满足性能需求、正常运行;

3)压力测试  Stress Testing

 可以在极端范围内测试,测试系统的性能极值;

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值