zoukankan      html  css  js  c++  java
  • 性能测试概念

    性能测试的概念

      一般来说,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来进行度量。性能的及时性用响应时间或吞吐量来衡量。响应时间是指服务器对请求作出响应所需要的时间。

      系统性能包括时间和空间两个维度,时间是指客户操作业务的响应时间,空间是指系统执行客户端请求时,系统资源消耗情况。客户关注的性能只是时间的表现,客户不关注是什么原因引起的性能问题,但性能测试工程师和系统工程师就必须关注系统资源使用的情况。

      性能测试是测试系统端到端(即客户端发送请求经过服务器将信息返回的过程)的性能指标,目前在系统设计阶段无法设计出一个定量性能的系统,即开发工程师无法保证设计好的系统其性能表现如何,还是得靠测试来验证性能的表现,性能测试是一系列的测试过程。在系统投入到市场之前,必须对系统的性能进行测试,否则无法确定系统的性能是否能满足客户的需求。

    不同角色对性能测试的关注点

    1、用户:软件对用户操作的响应时间;

    2、管理员:部分管理员关注的问题如下

    • 服务器的资源使用状况合理吗(资源利用率)
    • 应用服务器和数据库的资源使用状况合理吗(资源利用率)
    • 系统是否能够实现扩展(系统可扩展性)
    • 系统最多能支持多少用户的访问?系统最大的业务处理量是多少(系统容量)
    • 系统性能可能的瓶颈在哪里(系统可扩展性)
    • 更换那些设备能够提高系统性能(系统可扩展性)
    • 系统能否支持7*24小时的业务访问(系统稳定性)

    3、开发:性能瓶颈和系统中存在的在大量用户访问时表现出来的缺陷

    压力测试,负载测试, 两种测试的区别

    负载测试(Load Test):指数据在超负荷环境中运行,程序是否能够承担。 关注点:how much

    压力测试(Stress Test): 压力测试(又叫强度测试),它在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。

    极限测试 Extreme testing:在过量用户下的负载测试 Hammer testing:连续执行所有能做的操作

    容量测试(Volume Test):确定系统可处理同时在线的最大用户数 关注点:how much(而不是how fast) 容量测试,通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要关注使用中的实际表现。

     

      负载测试的目标是测试在一定负载情况下的系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载), 观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标

      压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,但是这个负载不一定是应用系统本身造成的。比如我们经常利用脚本或工具事先吃掉服务器的一部分cpu、内存或带宽等,创造出一定的负载环境并测试被测应用系统在此环境下的事物处理能力,响应时间等等。压力测试尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力。

     
  • 相关阅读:
    MapReduce数据连接
    STL笔记(2) STL之父访谈录
    Boost::Lexical_cast 的使用
    利用Python编写网络爬虫下载文章
    智普教育Python视频教程之入门基础篇,python笔记
    如何在windows下的Python开发工具IDLE里安装其他模块
    Windows命令行的使用
    Centos 开启telnet-service服务
    C,C++经典问题
    Linux/Unix C编程之的perror函数,strerror函数,errno
  • 原文地址:https://www.cnblogs.com/coxiseed/p/10875118.html
Copyright © 2011-2022 走看看