软件性能测试

性能测试(一) 基础概念

泪湿孤枕 提交于 2019-11-28 23:58:33
本系列简述的是性能测试 阅读目录 什么是性能测试 性能测试的目的 性能测试的类型 性能测试的需求 性能测试环境 测试数据 什么是性能测试 性能测试是通过自动化的测试工具模拟多钟正常,峰值,以及异常负载条件,来对系统的各项性能指标进行测试。 通常我们班压力测试,负载测试,统称为性能测试 性能测试的目的 性能测试的目的是验证软件系统,是否能够达到用户的性能指标。同时发现软件中存在的性能瓶颈。优化软件。 性能测试的类型 压力测试(Stress testing) 是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。 负载测试(Load testing) 确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况 性能测试的需求 性能测试的困难不是测试工具如何使用,也不是对测试数据进行分析和系统调优, 感到困惑的是没有明确的,量化的需求。 比如 A. 网站可以同时支撑多少用户 B. 银行系统能支付多少用户同时支付 C. 抢购活动 如何不清楚具体的性能测试需求, 那只能参考同类产品 性能测试环境 性能需求跟环境有关系。 比如一辆汽车的百公里油耗是多少升。 会取决于汽车的驾驶环境。 1. 车上坐了几个人。 2. 车是否需要开口头。 3. 路况怎么样,是堵车呢,还是走高速。 4. 驾驶习惯是怎么样的。 5. 车上带了多重的物品.

性能测试:压力测试、负载测试、并发测试、强度测试及容量测试之间的区别

一曲冷凌霜 提交于 2019-11-28 23:29:13
性能测试又称多用户并发性能测试。 1、压力测试:压力测试的目标是测试在一定的负载下系统长时间运行的稳定性,尤其关注大业务量情况下长时间运行系统性能的变化(例如是否反应变慢、是否会内存泄漏导致系统逐渐崩溃、是否能恢复);压力测试是测试系统的限制和故障恢复能力,它包括两种情况: a.稳定性压力测试:在选定的压力值下,长时间持续运行。通过这类压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等; b.破坏性压力测试:在稳定性压力测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来; 2、负载测试的目标是测试在一定负载情况下系统性能(不关注稳定性,也就是说不关注长时间运行,只是得到不同负载下相关性能指标即可);实际中我们常从比较小的负载开始,逐渐增加模拟用户的数量(增加负载), 观察不同负载下应用程序响应时间、所耗资源,直到超时或关键资源耗尽,这就是所说的负载测试,它是测试系统的不同负载情况下的性能指标。 3、并发测试:主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试。 4、强度测试:强度测试检查程序对异常情况的抵抗能力

web网页测试用例(非常实用)

假如想象 提交于 2019-11-28 15:02:46
Web测试中,各类web控件测试点总结 一 、界面检查   进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验   1、页面名称title是否正确   2、当前位置是否可见 您的位置:xxx>xxxx   3、文字格式统一性   4、排版是否整齐   5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一   6、同一页面,是否出现 字段名称相同、值取不同的问题。   7、数据加载情况:除了文本框的值,还要注意:   复选框,是否保存打√,或者保存不打√   下拉框,是否保存选择的值   多文本框,值是否都被保存,空格,换行是否保存 二、单文本框(type=text)   边界:字段长度   判空:是否可以为空   唯一性:是否唯一 (小归结:边界、判空、唯一性、特殊字符、正确性)   考虑语言,操作环境   特殊符号测试输入:   ' or 1<>'1   ' or '1'='1  ' or '1'<>'2  "|?><   where a='xxx'   下划线是否允许  输入全部空格 输入 单引号   ><script>alert(“123”);</script>>   特殊字段输入限定:   框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉   输入金额文本框,整数首位为0,过滤掉,小数点后面

APP性能

江枫思渺然 提交于 2019-11-28 15:02:26
一、APP性能维度分析   APP类型众多,根据具体类型划分,性能指标的维度和优先级各不相同。视频类APP归属于娱乐游戏型的APP,因此性能测试维度优先级排序为:流畅度、crash、内存、流量、响应时长、功耗、CPU。 因为 Android 平台底层是由linux系统改良而来,不同维度的指标绝大部分都可以通过命令获取不同的指标(具体方法可以考加后面工具)。   在iOS平台上,性能的获取必须使用Xcode里面instruments下的相应组件,不像开源的Android那样灵活,但 技术 上是可以做到各平台的性能指标获取测试。 二、APP性能测试平台   从2012年后,测试平台化、服务化的思路推广到全国各地。各大公司都开发了不同的性能测试平台。比较有代表性的性能测试平台包括:   ● 百度 的慕斯(又名移动APP测试业务支撑平台(外部名称MTC:http://mtc.baidu.com));   ● 腾讯 的bita;   ●GT(http://gt.qq.com);   ●itestin(最老的一个性能和兼容性测试平台http://i.testin.cn/)。   由于IOS性能测试首先要涉及到签名的破解,所以所有平台一般都是从Android的APP进行切入点先行开发。 三、APP性能测试落地   性能测试开展主要分线下性能测试和线上监控测试两大类。  

web网页测试用例(非常实用)

不羁岁月 提交于 2019-11-28 14:32:22
Web测试中,各类web控件测试点总结 一 、界面检查   进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验   1、页面名称title是否正确   2、当前位置是否可见 您的位置:xxx>xxxx   3、文字格式统一性   4、排版是否整齐   5、列表项显示字段是否齐全,列表项字段名称是否跟表单统一   6、同一页面,是否出现 字段名称相同、值取不同的问题。   7、数据加载情况:除了文本框的值,还要注意:   复选框,是否保存打√,或者保存不打√   下拉框,是否保存选择的值   多文本框,值是否都被保存,空格,换行是否保存 二、单文本框(type=text)   边界:字段长度   判空:是否可以为空   唯一性:是否唯一 (小归结:边界、判空、唯一性、特殊字符、正确性)   考虑语言,操作环境   特殊符号测试输入:   ' or 1<>'1   ' or '1'='1  ' or '1'<>'2  "|?><   where a='xxx'   下划线是否允许  输入全部空格 输入 单引号   ><script>alert(“123”);</script>>   特殊字段输入限定:   框内容是否合法(tel,ip,url,email)序号等,直接限制输入数字,其他过滤掉   输入金额文本框,整数首位为0,过滤掉,小数点后面

支付宝的性能测试

谁说我不能喝 提交于 2019-11-28 11:19:58
支付宝的性能测试 作者 付丽华 孙玉星 发布于 2014年5月22日 | 6 讨论 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 稍后阅读 我的阅读清单 一、性能测试支付宝场景介绍 2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战。 支付宝的性能测试场景分为性能基线测试,项目性能测试。 任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放。 相关厂商内容 滴滴出行iOS客户端架构演进之路! 微信客户端如何应对弱网络! 函数式编程中的Swift与Swift中的函数式编程! 你离成为一位合格的技术领导者还有多远? 国际范 最前沿 不容错过的容器技术盛会 相关赞助商 GMTC全球移动技术大会2016年6月24日-25日,北京, 点击了解详情 ! 我们有一个老的扫描平台A,现在需要构建一个新的扫描平台B,对A中关键技术进行升级,并增加额外的功能。扫描的策略是存储在DB中的,需要通过发布来更新到应用服务器的内存中。 二、性能测试需求分析和方案制定 a. 需求挖掘 1),查看业务方的显性需求。业务方给到的需求为平台B的分析性能要优于平台A的性能

性能测试分析过程(一)

一个人想着一个人 提交于 2019-11-28 09:37:48
某月黑风高之夜,某打车平台上线了一大波(G+)优惠活动,众人纷纷下单。于是乎,该打车平台使用的智能提示服务扛不住直接趴窝了(如下图)。事后,负责智能提示服务开发和运维的有关部门开会后决定:必须对智能提示服务进行一次全面深入的性能摸底,立刻!现在!马上! 那么一大坨问题就迎面而来:对于智能提示这样的后台服务,性能测试过程中应该关心那些指标?这些指标代表什么含义?这些指标的通过标准是什么?下面将为您一一解答。 概述 不同人群关注的性能指标各有侧重。后台服务接口的调用者一般只关心吞吐量、响应时间等外部指标。后台服务的所有者不仅仅关注外部指标,还会关注CPU、内存、负载等内部指标。 拿某打车平台来说,它所关心的是智能提示的外部指标能不能抗住因大波优惠所导致的流量激增。而对于智能提示服务的开发、运维、测试人员,不仅仅关注外部指标,还会关注CPU、内存、IO等内部指标,以及部署方式、服务器软硬件配置等运维相关事项。 外部指标 从外部看,性能测试主要关注如下三个指标 吞吐量:每秒钟系统能够处理的请求数、任务数。 响应时间:服务处理一个请求或一个任务的耗时。 错误率:一批请求中结果出错的请求所占比例。 响应时间的指标取决于具体的服务。如智能提示一类的服务,返回的数据有效周期短(用户多输入一个字母就需要重新请求),对实时性要求比较高,响应时间的上限一般在100ms以内。而导航一类的服务

【原创】时隔十年,再度审视Performance Testing,性能测试,Load Runner,和企业级性能测试解决方案

不想你离开。 提交于 2019-11-27 01:04:01
软件测试入行是2006年,最先学习的测试工具囊括了QTP,Test Director,Load Runner,Rational Robot,Rational Performance; 那时的操作系统是2003 和 XP,Vista还用不起,微信还没诞生,QQ正壮年,嗯IE6正牛,Firefox也挺好的,Chrome还没听过呢; 那时我们没有云,没有虚拟化,没有笔记本,没有Mac,只有电脑城组装的单核AMD台式机(512MB内存); 当时软件测试工程师培训,需要缴纳2600的培训费,当时想那都是天价,一个月学校生活费才200块,现在想来好便宜呢。 感谢裸奔的蚂蚁带我们入行,让我们有了自食其力的能力,一口气干了十几年,成为测试行业里的老兵。 记得当时服务器都踩2G内存,跑个IIS或Tomcat,也基本没有什么性能问题,性能测试都遇不到; 印象最深的是当时老师问我们,你们有认识懂AIX小机的人吗?他遇到了一个问题,开发出来的WEB应用,在PC服务器上跑的杠杠的,但换了AIX平台后,慢得跟蜗牛一样; 我们第一没接触过PC服务器和Windows 2003 Server,第二没接触过小型机,更没有接触过IBM的牛叉AIX系统;重点是不会性能测试。 随后2007年毕业开始第一份工作,工作中有幸接触公司的高大上项目,开始接触Windows 2003 R2 64位服务器IBM X3850

软件测试-性能测试基础

我怕爱的太早我们不能终老 提交于 2019-11-26 14:05:38
1.性能测试是 通过 自动化测试工具模拟 多钟正常、峰值以及异常负载条件来对 系统的各项性能指标 进行测试。性能测试包块负载测试、压力测试、容量测试、强度测试等。 2.负载测试和压力测试区别。给个小故事:让一个女生60秒完成30个深蹲,第12个深蹲时呼吸开始加速,第20个时呼吸急促,每个深蹲的时间边长,第22个时,每个深蹲花费的时间明显变长,最后2个一共花了15秒完成,可以通过负载测试可以获得深蹲的负载图,明显的第22个深蹲出现性能拐点。负载测试主要确定在各种工作负载下软件系统的性能,目的是测试当前负载逐渐增加时,系统个性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试,简单来说:就是让一个女生背100斤大米做深蹲,做不到一百个要被华妃娘娘赏一丈红。压力测试就是测试系统在超负荷的情况下能不能正常工作,负载测试就是为了得到正常情况下的数据。 3.性能测试常见观察指标    B/S架构的软件一般关注如下web服务性能指标:   平均美标响应次数=总请求时间/秒数、平均每秒业务脚本的迭代次数、成功的请求、失败的请求、成功的单击次数、失败的单击次数、每秒单击次数   每秒成功的单击次数、每秒失败的单击次数、尝试连接数、吞吐率    C/S架构的软件,由于软件后台通常为数据库,所以更注重数据库的测试指标:   用户连接数、尝试连接数