性能测试个人的一些想法整理

性能测试定义:

通过一定的工具结合相应的测试方法,对部署的系统应用进行测试,发现系统应用内部存在的代码逻辑问题及应用部署的机器硬件资源瓶颈问题及应用部署架构存在架构错误问题,如:网络端、客户端、服务端搭建的架构问题;

负载测试:是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过;

压力测试(Stress Testing):是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试;

性能测试的目的:

性能测试的目的主要体现在三个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题;

项目开发周期:初始时刻,项目更多关注的是功能实现,此时功能测试显得尤为重要,测试的提前介入,可以提前预测风险,减少项目开发周期、节约开发成本;功能测试后的阶段,个人认为应该是性能测试(试想,如果一个项目连功能都实现不了,更何谈性能测试);在功能完毕之后,引入性能测试,通过性能测试对开发项目潜在的问题进行排查(功能测试,仅仅是几个人或者几十个人简单的对应用功能的一个测试,对于应用真正上线后的大量用户使用,应用存在的潜在风险,并不能做很好的预估,尤其是当前空前的竞争压力下,应用上线后的失败,很可能导致整个项目的失败;例如:12306订票网站,使用量之大,可能全世界前所未有,调动全国人力去测试应用性能问题,肯定是不可能的。如果事先不经过性能测试,贸然上线,在如此之多的用户使用情况下,系统崩溃将是怎样的一种后果。);

案例分享:编者曾经从事过一个项目,伴随项目的始终。前期阶段,由于测试提前介入,以及项目开发采用的敏捷开发方式,项目很快在不到半年的时间内,功能近乎完美完成。项目经理本着稳妥起见,引入性能测试,对项目潜在的风险进行评估,然后就搭建了一套模拟环境,专用于性能测试,搭建的模拟环境30用户并发运行,项目一点问题没有,进一步提升并发用户数,各种问题接踵而来;经过系统调优后(发布的应用系统参数等),部分问题解决;为了进一步测试实际情况下存在问题,性能测试环境由模拟环境切到了生产环境上,此时是大量用户下的并发,部分业务是没有问题的,但是更多的问题是集中在涉及到工作流的一些业务场景上,后台日志各种报错;通过抓取后台日志,对问题进行定位分析,很快排查解决了代码开发中存在的一些逻辑问题;代码修复后重新上线,问题已基本不存在了;项目也很快结束,大大的缩短了项目开发周期、节约了开发成功、更好的适用于用户;

性能测试注意点:

录制脚本尽量模拟实际用户操作,在场景设计时,尽量与实际场景一致,对于用户使用比较多的业务,应着重关注;

性能测试尽可能在实际生产环境上进行,普通模拟环境并不能真正发现实际生产环境下,应用存在的问题,但是并非弃用模拟环境;

性能测试,对于应用系统部署的环境上,可能需要部署一些系统性能监控软件,在软件的选取上,尽可能降低软件自身运行对系统性能的影响;

性能测试,特别是应用与数据库交互的业务操作上,需要提前预制符合性能测试业务需求的数据,在此基础上,尽量让环境测试环境可多次重复使用,这就要求数据、应用可还原;

性能测试技能掌握要求:

测试环境搭建,环境搭建不仅仅是性能测试所需要具备的技能,也是测试人员所需要具备的基本技能;很多测试,包括应用的安装卸载,都需要测试人员具备这一技能;

应用搭建使用协议的了解,很多情况下,性能测试人员需要录制测试脚本,这就要测试人员对应用采用的协议有充分的了解;

服务器架构的了解,单一的一台服务器、多台服务器情况下的集群架构等,了解服务器架构,可以为性能测试人员初期性能调优提供帮助;

操作系统机能的掌握,特别是Linux操作系统的了解,当前大多数的应用部署在Linux操作系统之上,性能测试人员需要掌握操作系统知识这一基础技能;

数据库知识,面对大数据时代,数据库机能的掌握不仅仅可以为性能测试服务,还可以为你今后的华丽转型,提供良好保障,华丽的DBA;

良好的编码思量。基础的编码知识,对于编码的了解,可以为你今后冲击高级性能测试工程师提供有力保障,一个高级性能测试工程师,应当具有性能调优这一技能,编码就显得尤为重要;

对于新技术、新思想的一种追求与掌握;

性能测试个人的一些想法整理,布布扣,bubuko.com

时间: 2024-10-01 04:56:11

性能测试个人的一些想法整理的相关文章

网络游戏性能测试的几点想法

进入游戏行业也有一段时间了,在日常的工作中对游戏的性能测试也产生了一些想法,因此写出来与大家讨论讨论. 网络游戏行业现在越做越大,面也越来越广了,依我的观点主要分为以下几个方面: 1.传统的c/s架构的网络游戏: 2.现在越来越风靡的b/s架构的网络游戏: 3.越来越多的wap网络游戏 那么我接下来就上面所说的3种网络游戏的性能测试怎么去做,发表一下自己的想法. 第一种 传统的c/s架构的网络游戏 这种网络游戏历史最悠久,也是目前最主流的网络游戏类型.这类游戏由需要用户下载客户端,然后通过客户端

关于技能与个人的发展---大学如何选专业的想法整理

这本来是一篇帮助侄子大学选专业的文字,也算是自己的一些想法,整理出来和各个挨踢人士分享,有些思路不是自己的,也是从网上看到的,各位可能感觉有些熟悉,以下是内容: 先说说我的经验和想法,打工只是一种挣钱的方式,而挣钱的方式有许多,总结来说有三大类,第一类给别人打工(虽然工资会逐年上涨,但基本可理解挣死工资),第二类给自己打工(比如小商店,作家等,挣得钱和自己花费的时间及努力成正比),第三类让别人给自己打工(当然是指企业主或投资人). 公司的岗位一般分为利润岗位和消耗岗位,销售/采购人员和管理人员可

(引用)性能测试没有告诉你的

<LoadRunner没有告诉你的> 1.        LoadRunner之—Block l  如何在一个脚本中实现不同事务不同次数的循环呢? l  案例:假如你想在一个脚本中,实现登录执行1次,查询执行2次,插入执行3次,怎么办?录3个脚本?每个事务分别在脚本中复制N次? l  当然不用,LR早就想到了你的需求,下面让我们隆重推出Block. l  位置:Run-time Settings--General--Run Logic l  操作: l  将你所要考察的事务设置在不同的Acti

《性能测试二三谈》系列

从16年4月份开始学习性能测试到现在全职做性能测试工作,差不多两年半时间.期间断断续续写了一些性能测试方法和负载工具以及监控工具相关的博客. 最近抽时间重新翻看了之前写的博客,发现有些内容缺乏思考和精准度.也为了方便自己随时查阅相关的知识,将性能测试相关的知识.工具.框架相关的内容整理出来,也算是一个Index吧. 主要会从基础篇.方法篇.分析篇.监控篇.工具篇这几部分来统计,具体见下文吧,会不断更新的... 基础篇 我第一次真正意义上接触性能测试,应该是从段念老师的<软件性能测试过程详解与案例

性能测试:常见的性能测试缺陷

性能测试,是结合被测系统应用架构.业务场景和实现细节.逻辑,对软件响应时间.处理速率.容错能力等进行分析测试,找到系统的性能瓶颈,并确认问题得到解决的过程. 由于工作需要,对性能测试缺陷分类进行了整理,这篇博客,聊聊常见的性能缺陷以及表现方式... 性能测试缺陷分类 缺陷类型 缺陷描述 硬件 磁盘空间 CPU IO读写速率 内存 网络 带宽 网络波动 CDN 延时 丢包 应用 JVM 代码逻辑 配置 JDK版本 底层配置 参数配置 数据库 索引 锁 表空间 慢SQL 数据量 中间件 超时 线程池

一个网站或者APP开发要多少钱

经常遇到朋友问我:"开发一个京东商城需要多少钱?开发一个滴滴打车需要多少钱?"类似这样的需求,就连我这样一名伪开发者都不愿意去骗客户或者朋友,因为这种问题是很难回答出来的.为什么这么说呢?要知道类似京东商城滴滴打车这样亿级别用户的产品,很难知道他之前经过了多少次版本的迭代,也很难知道他的产品线有多广,很多朋友甚至连"迭代"这样的名词具体概念都不懂,今天我会以Q+A的形式汇总诸多开发过程中遇到的客户问题,希望能给创业中的你一些建议,如果你是一名开发者可以绕道. 首先我

android中的回调

回调这种思想大家应该都用过,只是很多人不知道那是回调的一种罢了,前几天整理了一下自己对于回调的理解,就顺便把自己的一些想法整理到博客中. 让我们从一个小故事开始. 某天,我打电话向你请教问题,当然是个难题,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了.过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理. OK,这个故事我们先告一段落,其实,这就是一个典型的回调过程. C不会自己调用b,C提供b的

开发一款合格的APP成本费用大概是多少?

随着移动互联网的发展,APP开发已经成了当下最热门的话题.无数人都盼望做出下一个微信.滴滴打车等等神奇的APP软件.如今,APP开发门槛已经非常低,媒体上也充斥着各种小团队创造奇迹的故事.不过,APP开发是否真的那么简单呢?如果从头开始的话,开发APP的成本大概是多少呢? 根据程序员客栈www.proginn.com上个月诸多APP开发的项目数据分析,平均每一个1.0核心版本的原生态APP开发费用大概在5-10万之间.如果你不懂程序开发的话,首先要找的并不是程序员,而是产品开发的过程中最关键的"

ie8不兼容input的placeholder属性但是要实现其效果的方法

通过学习前辈的思想,个人想法整理如下: 通过两个元素标签,仿造出placeholder的内容 使用position定位好两个元素标签 第一要隐藏两个元素标签display:none,在<!--[if gte IE 8]><![endif]-->中设置style样式为display:inline-block 使用js控制效果,通过给页面绑定点击事件并且利用target对象做判断,控制两个元素标签的显藏: 点击的对象是元素标签,当前点击对象隐藏,判断另外的输入框值是否为空,是否隐藏显示