性能测试-测试用例策略和方法

2067 篇文章 51 订阅
797 篇文章 1 订阅

一、测试用例

无论是功能测试还是性能测试,执行用例时候都有优先级之分,对于性能测试来说,优先级可以这样划分:

①.重要的(业务场景中的核心)

②.重复的(用户使用频率最高的)

③.重量级的(消耗大量系统资源的)

设计性能测试用例的简要过程:

1、具体的性能指标分为以下几类:

①.系统容量(数据容量、用户量、用户并发量)

②.系统并发度指标(注册用户、在线用户、并发用户)

③.响应度指标(正常压力下响应能力、峰值压力下响应能力、异常压力下的响应能力)

2、熟悉并且理解整个系统的业务逻辑、实现原理,然后进行需求拆分,得到性能测试需求点

3、多个渠道得到具体性能要求,分析评估风险,优先级,是否进行测试等

4、编写性能测试方案和用例,并进行评审通过,然后执行

PS:一些性能测试的测试点

a.查询 b.保存 c.统计 d.刷新 e.显示 f.传输 g.响应 h.下载

举个例子:打开网络上其他媒介的文件,在网络拥堵的情况下打开执行相关操作,主要测试点如下:

①.数据量小的时候主要执行查询统计刷新等功能点

②.数据量累计到一定程度时的查询统计刷新时间(一定程度:根据实际情况与需求来确定范围)

二、常见的基础性能测试

1、安全可靠性测试

①.用户权限限制:对不同用户权限的限制情况

②.用户和密码封闭性:对相应用户和密码进行次数限制

③.屏蔽用户操作错误:对用户常见操作错误的提示和屏蔽情况

④.错误提示的准确性:对用户的错误提示的准确度

⑤.错误是否导致系统异常退出:有无操作错误引起系统异常退出的情况

⑥.数据备份和恢复手段:系统是否提供备份及恢复功能,备份手段具体如何,是否对备份数据进行加密、压缩等

⑦.输入数据有效性检查:对录入系统的数据进行有效性检查

⑧.留痕功能:系统是否有操作日志,日志记录的操作情况的全面性和准确性,是否含有主要要素

⑨.异常情况的影响:程序运行过程中进行掉电掉网等测试,考察数据和系统的受影响程度,若受损,是否有补救措施等

⑩.数据传输安全性:对有特殊要求的数据传输,对其进行必要的加密处理,使用的算法等

2、资源占用率测试

①.软件安装所占用的硬盘空间:检查软件安装所占用的硬盘空间

②.模块装载后内存占用量:检查模块装载后内存占用量(包括虚拟内存)

③.模块卸载后内存释放量:检查模块卸载后内存释放率(包括虚拟内存)

3、兼容性测试

①.软件兼容:测试软件安装运行的适用平台

②.硬件兼容:硬件平台的配置要求

4、易用性测试

①.易安装性:安装难易程度,是否符合当前流行的,易被接受的安装模式

②.用户界面友好性:界面的简洁程度等

③.易学性:相对用户使用者而言,学习使用的难度,对操作人员的要求等

④.易操作性:操作的难易程度

⑤.联机帮助丰富性:检查联机操作的准确性、全面性,以及关键操作时使用联机帮助的方便性

5、用户文档测试

①.用户手册的完整程度:用户手册内容的全面性、完整性

②.用户手册描述与软件实际功能的一致性:手册与软件实际功能的一直程度

③.用户手册的易理解程度:用户手册对重要操作

④.用户手册提供的学习操作示例:对主要功能和关键操作提供的应用实例有多少,实例的详细程度

6、效率测试

①.通信效率:网络负载、吞吐率、利用率、响应时间、延迟等

②.设备效率:CPU占用率、内存占用率、磁盘占用率、输入输出效率等,包括软件不工作状态下对硬件资源的占用情况和进行业务处理过程中对硬件资源的占用情况

③.执行效率:典型业务场景的执行效率,例如关键的查询、统计等响应时间等

7、可扩展性测试

①.与异种数据接口:有无与其他数据的接口

②.是否能扩展功能模块:能否根据用户要求扩展功能模块

三、常见的进阶性能测试

1、并发性能测试

并发测试的过程,是一个负载测试和压力测试的过程。即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析执行指标和资源监控指标来确定系统并发性能的过程

测试案例:例如:中间件应能满足一定数量的客户端同时办公的需要

测试内容与监控指标:(负载压力测试;模拟不同数量并发用户测试)

模拟不同数量并发用户执行关键业务,测试至系统能够承受的最大并发用户数。

主要监控指标如下:

● 每分钟事务处理数(Transaction Rate):不同负载下每分钟成功完成的事务处理数;

● 响应时间(Response Time):服务器对每个应用请求  

● Mean:平均的服务器响应时间;

● Max:最大的服务器响应时间;

● StdDev:事务处理服务器响应的偏差,值越大,偏差越大;

● Median:中值响应时间;

● 90%:90%事务处理的服务器响应时间

● 虚拟并发用户数(Total Virtual Users):测试工具模拟的用户并发数量。

2、系统资源监控

在进行负载压力测试的同时,用测试工具对数据库服务器、Web服务器、应用服务器、认证及授权服务器上的操作系统、数据库以及中间件等资源进行监控。

监控系统资源指标,在测试中,根据测试需求以及测试环境的变化,选取有意义的数据进行分析。

3、大数据量

例如:考虑系统未来发展需要的存储空间,添加大数据量测试。

主要包括两方面内容:

①.单独的数据量测试;

②.与并发性能测试相结合的综合测试。

测试数据的准备借助于测试数据管理与生成工具,例如FileAid。

4、速度

例如:磁盘访问速度、备份速度以及网络办公系统运行速度等(人工测试)

5、疲劳测试

通常是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。

四、性能测试指标 

一般有2种形式描述:产品需求指标和系统的性能指标。

1、产品需求指标

①.给出产品性能的主要指标,如在100000记录中查询一个特定数据的时间为0.5秒;

②.以某个已发布的版本为基线,如比上一个版本的性能提高30-50%;

③.和竞争对手的同类产品比较。

2、系统的性能指标

①.CPU利用率;

②.内存占用率;

③.磁盘I/O ;

④.响应时间。

五、性能测试的策略

性能测试策略一般从需求设计阶段开始讨论制定,策略的内容决定着性能测试工作投入多少资源、什么时间开始实施等后继工作如何安排。制定性能测试的策略的因素:

1、预期的指标性能的因素

系统在需求分析、设计阶段和产品说明书等文档中明确的提出都性能指标,这些指标是性能测试要完成的工作。

2、独立业务性能测试的因素

独立业务主要是指软件产品的模块具有独立业务功能,在需求阶段就可以确定,要单独测试其性能。

3、业务性能组合测试的因素

应用类软件系统通常不会使所有的用户只使用一个或者几个核心业务模块,可能是对多个业务进行组合使用,对多个业务进行组合性能测试。由于组合业务测试是最能反映

用户使用系统情况,因而业务性能组合测试是测试的核心内容。

4、疲劳强度性能测试

疲劳强度测试是在系统稳定运行下模拟较大的用户数量、并长时间运行系统的测试,通过综合分析执行指标和资源监控来确定系统处理最大业务量时的性能,主要目的是为了测试系统的稳定性。

5、大数据量性能测试的因素

大数据量测试是为了测试系统的业务处理能力进行的。第一种是针对某些系统存储、传输、统计查询等业务进行大数据量的测试,主要是测试数据增多时的性能情况;

第二种是极限状态下数据测试,主要指系统数据量达到一定程度时,通过性能测试来评估系统的响应情况,测试对象是某些核心业务或者日常常用的组合业务。

6、网络性能测试的因素

网络性能测试主要是为了准确展示带宽、延迟、吞吐量、负载、瓶颈和端口的变化是如何影响用户的响应时间的。重点测试吞吐量指标,因为80%的系统性能瓶颈由吞吐量造成。

六、性能测试的方法

性能测试方法主要有:能力验证、规划性能、性能调优、压力加载、性能下降曲线分析。

1、能力验证

 能力验证强调:系统具备的硬件设备、软件环境、网络条件、基础数据。能力验证使用到可靠性测试、压力测试、失效恢复测试 。

2、规划性能

 规划性能关心的是要求系统具有的性能,强调系统配置,使系统能够满足增长的用户数的需要等问题。规划性能使用到负载测试、配置测试、压力测试。

3、性能调优

性能调优关心的是要求系统确定基准环境、基准负载和基准性能指标;调整系统运行环境和实现方法;记录测试结果、进行测试分析。

4、压力加载

压力加载强调:

①.稳定压力加载。一次性将负载加到某个水平,持续一段时间; 

②.逐渐加载或交替加载到某个负载水平; 

③.峰谷测试。确定从系统高峰时间的负载转为几乎空闲、再攀升到高负载这样峰值交替情况下的系统性能状态/指标。

5. 性能下降曲线分析 

性能下降曲线分析关心的是性能随着用户数的增加而出现下降趋势的曲线分析、查看性能下降的环境点与上下文。确定性能阀值。性能曲线通过单用户区域、

性能平坦区域、压力区域、性能拐点进行监控和分析。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

某网站性能测试用例 某网站提供会员模板下载、上传、购买、支付等功能,目前进入性能测试阶段,通过性能需求可以了解到主要有以下几个性能指标需要进行测试:   ● 产品页面刷新性能   ● 产品上传性能   ● 产品下载性能   目前给出的指标为:   延迟:   测试项 响应时间 抖动 备注   产品页面刷新 <5秒 <2秒   产品下载相应时间 <4秒 <2秒   吞吐量:   编号 项 吞吐量   Perf.T.1 所有登录用户在线状态更改频率 每10分钟1次   Perf.T.2 每日页面平均访问量 60000次   Perf.T.3 每日下载量 50000   Perf.T.4 平均每日新增会员数量 500   Perf.T.5 高峰同一模板下载量 100用户并发下载   Perf.T.6 高峰不同模板下载量 150用户并发下载   容量:   编号 项 容量   Perf.C.1 用户数 <=100万   Perf.C.2 活动用户数 10000   Perf.C.3 模板中心总用户数 <=25万   根据如上性能需求及数据我们该如何设计性能测试用例及场景呢?(可以说给出的性能需求很垃圾,没有丝毫价值,但没办法还是点做啊)   首先,我不去在乎它要求的性能是什么,我只需要去做在一定的测试环境下对系统进行压力测试,找到各个性能指标的临界点就好了,至于是否达到性能指标,在和性能需求对照编写测试报告即可。   所以,针对这几个需要进行性能测试的页面,我们做一下分析,如何设计场景才能尽可能准确地体现出系统的性能:   先说一下搜索页面   搜索页面根据对项目的了解,搜索后,将所有符合条件的结果遍历出来,显示在前台,每页的显示数量是一定的,超出的部分分页显示。根据上面的描述我们可以看出搜索结果是在将符合条件的所有结果集均发送到前台页面,对于页面显示对性能的消耗我们可以忽略不计,主要的压力来自数据的传输、sql的执行及应用服务器的处理过程,所以我可以从两个方面设计场景:   a、虚拟用户一定,不同数据库数量级的情况下,搜索的性能   如何确定虚拟用户的数量成为一个关键,我们可以让客户提供一个常规情况下每天访问用户数(如果没有实际数据可参考,可以根据产品方案中期望的用户数来代替),我们就用这个用户数来进行测试;再来分析一下不同的数据库数量级,如果系统运营1年的产品数据量是5万条,那么我们就根据这个值分别取1W条、3W 条、5W条、10W条、20W条数据量来进行测试(具体的分法可以根据实际情况而定),所以对于这个测试目标,我们可以设计5个场景进行:   虚拟用户数 数据库数量级 录制页面 并发用户数执行时间思考时间   100 10000 搜索页面 随机产生 30分钟 加入思考时间   100 30000 搜索页面 随机产生 30分钟 加入思考时间   100 50000 搜索页面 随机产生 30分钟 加入思考时间   100 100000 搜索页面 随机产生 30分钟 加入思考时间   100 200000 搜索页面 随机产生 30分钟 加入思考时间   b、一定数据库数量级,不同量虚拟用户的情况下,搜索的性能   我们定下来一个常规的数据库数据量,在数据量不变的情况下逐步增加虚拟用户数,测试一下不同虚拟用户压力下系统的性能   虚拟用户数 数据库数量级 录制页面 并发用户数执行时间思考时间   50 50000 搜索页面 随机产生 30分钟 加入思考时间   80 50000 搜索页面 随机产生 30分钟 加入思考时间   100 50000 搜索页面 随机产生 30分钟 加入思考时间   120 50000 搜索页面 随机产生 30分钟 加入思考时间   150 50000 搜索页面 随机产生 30分钟 加入思考时间   产品上传   影响上传性能的主要因素有上传文件的大小和上传的请求数,所以我们就从这两个方面设计用例。   a、虚拟用户数一定,上传不同大小的文件   虚拟用户数 上传文件大小 录制页面 并发用户数 执行时间 思考时间   50 100k 上传页面 随机产生 30分钟 取消思考时间   50 300k 上传页面 随机产生 30分钟 取消思考时间   50 500k 上传页面 随机产生 30分钟 取消思考时间   50 800k 上传页面 随机产生 30分钟 取消思考时间   50 1M 上传页面 随机产生 30分钟 取消思考时间   b、上传文件大小一定,不同量的虚拟用户   虚拟用户数 上传文件大小 录制页面 并发用户数执行时间思考时间   20 300k 上传页面 随机产生 30分钟 取消思考时间   50 300k 上传页面 随机产生 30分钟 取消思考时间   80 300k 上传页面 随机产生 30分钟 取消思考时间   100 300k 上传页面 随机产生 30分钟 取消思考时间   产品下载   影响下载性能的主要因素有下载文件的大小和下载的请求数,所以我们就从这两个方面设计用例   a、虚拟用户数一定,下载不同大小的文件   虚拟用户数 下载文件大小 录制页面 并发用户数执行时间思考时间   50 100k 下载页面 随机产生 30分钟 取消思考时间   50 300k 下载页面 随机产生 30分钟 取消思考时间   50 500k 下载页面 随机产生 30分钟 取消思考时间   50 800k 下载页面 随机产生 30分钟 取消思考时间   50 1M 下载页面 随机产生 30分钟 取消思考时间   b、下载文件大小一定,不同量的虚拟用户   虚拟用户数 下载文件大小 录制页面 并发用户数 执行时间 思考时间   20 300k 下载页面 随机产生 30分钟 取消思考时间   50 300k 下载页面 随机产生 30分钟 取消思考时间   80 300k 下载页面 随机产生 30分钟 取消思考时间   100 300k 下载页面 随机产生 30分钟 取消思考时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值