WEB 性能测试用例设计以及总结
WEB 性能测试用例设计以及总结
WEB 性能测试用例设计模型是设计性能测试用例的一个框架,在实际项目中,需要对其进行适当的剪裁,从而确定性能测试用例的范围和类别。剪裁的依据是性能测试策略和测试范围,在测试用例主要框架确定后,接下来就是如何设计各类性能测试用例中具体数据。

基于用户的测试多在用户现场进行,为了测试目的而进行的测试多在开发环境即开发团队的内部进行。为了测试目的而设计的测试用例场景主要根据测试设计人员的经验来进行,但是仍要参考用户的实际场景,用户实际使用场景是设计所有测试用例的依据。
性能测试用例设计首先要分析出用户现实中的典型场景,然后参照典型场景进行设计。
比较常见的用户场景有如下三种
一天内不同时段的使用场景
系统运行不同时期的场景
不同业务模式下的场景
各类测试用例设计的细节
1. 确定用户使用系统情况的方法
确定用户对系统的使用情况是设计用例具体数据的基础,后面并发用户数据设计,疲劳强度设计以及各种场景设计都要依赖对用户使用系统情况的分析,分析用户使用情况经常采用现场调查和分析系统日志两种方法:
用户现场调查:通过和用户进行沟通,可以确定用户的人员组成情况,这类方法适用于用户群体固定且目标测试系统没有投产前的情况。
分析系统日志:当用户比较分散,现场调查比较困难时,可以采用对系统日志进行分析的方法,作为对用户现场调查的补充。
2. 并发用户数量设计
设计并发用户数量前,首先要了解确定系统最大并发用户数量的方法可,以根据系统的最大使用人数或者最大在线数量来评估最大并发用户数量的方法:
极限法:取最大在线用户数作为最大并发数,这种方法适用于系统已经投产目标用户群体不确定的门户网站,可以通过分析日志来进行测试,也可以使用系统已经注册的用户数量作为系统的用户数量,按照经验公式来估算最大用户数量。
用户趋势分析:对软件生存周期内的用户未来走势进行分析,预测系统可能达到的最大使用用户数目,从而估算系统的最大并发用户数目,这种方法多用于用户数目逐渐增多的情况。
经验评估法:多用于系统的使用用户数目相对稳定而且比较明确的系统。
并发用户数量的设计基本是按照最大并发用户的数量的百分比来设计的,对于某一特定的用例,需要注意:
一、按照各类用户同时递增的方式来设计用户数量,是为了按照由浅入深的方法来发现系统的瓶颈;
二、并发用户的最大值一般不会超过前面计算的最大并发用户数量的 20% ,除非是为了测试系统能支持的最大并发用户数量;
三、设计用户数量时要考虑成本,因为每组用户数都意味着至少执行一次测试;
3. 系统不同时间段场景的设计
不同时间段的场景更接近用户使用情况,它也是设计核心模块和组合模块并发性能测试用例的基础,不同时间段场景分析的数据主要是前面的需求分析和日志分析结果。
不同时间段场景的设计基本原则有两个:一是选择典型的场景进行测试,尤其要选择场景中并发用户数目较大的场景;二是要覆盖全面,设计出的用例要覆盖到压力可能较大的时间段,用户场景的设计一般与后面的业务模式结合起来进行。
4. 业务模式的设计
业务模式的设计是不同时间段场景设计的特例,也是设计核心模块和组合模块并发性能测试用例的基础,设计业务模式的目的是专注于某些功能模块的组合,按时间段来设计场景通常会涉及很多模块,如果系统存在的由应用软件引起的瓶颈则很难定位,所以才抽象一些特定的业务模式来进行用例的设计。
按照业务模式和时间段的场景来设计性能测试用例时,会涉及到如何设计每个模块并发用户数目的问题,通常会取各个相关模块在24小时内最大的并发用户数目进行组合。
5. 大数据量测试用例的设计
历史数据相关的大数据量测试设计与并发用户的测试设计很类似,首先要确定系统数据的最长迁移周期,确定了系统的最大数据量后,接下来选择一些前面的核心模块或者组合模块的并发用户测试用例作为其主要内容即可。
运行时大数据量测试主要根据模拟系统运行时可能产生的大数据量来进行测试,这类测试用例通常根据实际情况去分析设计。
6. 一些特定测试用例的设计
疲劳强度测试,最大用户测试,容量测试等一些特殊的测试用例设计,根据用户的需求进行,这类用例的相关要求通常十分明确。
性能测试用例最重要的是注意用例间的关系,孤立的设计各类用例只能增加测试成本,浪费人力。性能测试用例设计人员应该追求设计既能覆盖性能测试需求,又能以较低的成本来执行测试用例。
总结
1. 测试用例可用性总结
对于一个比较完善的性能测试项目,经常会有一些测试用例不能执行,因此测试完成后应该分析哪些用例不能执行以及不能执行的原因,这样可以为下次测试打好基础。
2. 用例执行效果分析
通过对用例执行效果进行分析,可以为升级或者开发新的性能测试用例提供有利的参考,不是所有的用例都能导致系统瓶颈的出现,因此应该分析哪些用例能够发现系统问题,那些用例执行时没有太大效果。
分析那些设计好的用例不但有助于以后设计用例,还可以为再次执行提供参考,当下次测试进度压力较大时可以先执行重要的用例,跳过那些尝试性的,不容易发现问题的用例。
3. 用例执行时间分析
分析用例的执行时间是为下次规划性能测试提供参考,由于很多用例执行时间不是特别确定,导致性能测试计划也具有一定的不确定性,通过分析用例的执行时间可以为以后的制定测试计划提供参考。
总之,性能测试用例的设计是需要通过不断分析总结才能做好,不但要分析性能测试用例的可用性、执行效果、执行时间,还应该分析用例的设计方法、设计思路等。
WEB 性能测试用例设计以及总结的更多相关文章
- WEB性能测试用例设计
性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数据量测试,网络性能测试,服务器性能测试五大部分,具体编写测试用例时要根据实际情况进行裁减,在项目应用中遵守低成本,策略为中心,裁减,完 ...
- [Tommas] ERP系统测试用例设计1(转)
问题: 1.如何进行ERP系统测试用例设计? 2.ERP系统测试用例设计过程? 3.ERP系统测试用例设计的方法? ERP系统本身是一种业务流程很复杂,单据报表众多,逻辑性很强的系统,质量保证方面很难 ...
- Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!)
Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!) [美]]Peter Morville(彼得·莫维尔) Louis Rosenfeld(路易斯·罗森菲尔德) ...
- 黑盒测试用例设计方法&理论结合实际 -> 等价类划分
一. 概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...
- [liu yanling]测试用例设计综合策略
Myers提出了使用各种测试方法的综合策略: 1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强. 2) 必要时用等价类划分方法补充一些测试 ...
- [liu yanling]黑盒测试用例设计方法
1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1. 概念 等价类划分法是把 ...
- [转] 《高性能HTML5》读后整理的Web性能优化内容
读后感 先说说<高性能HTML5>这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影.个人觉得作者应该首先把HT ...
- 前后端分离之Web前端架构设计
架构设计:前后端分离之Web前端架构设计 在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分 ...
- Web 性能优化:21 种优化 CSS 和加快网站速度的方法
这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...
随机推荐
- Arduino入门笔记(5):1602液晶实验(实现时钟)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- iOS客户端图片智能裁剪
 概述 所谓智能裁剪其实就是按照指定尺寸裁剪或显示出包含图片核心特征的区域,目前很多智能裁剪都是在服务器端做的,在客户端需要访问时直接裁剪放到Redis或者提前裁剪好以备访问.但是找了一圈直接在iO ...
- 微信小程序 写一个获取验证码 及setInterval 使用基本方法
<!--index.wxml--> <view class="container"> <view class="container_cont ...
- Java下载创建好的Excel模板
1.废话不多说,直接上源码 //从数据库取数据创建表格 private HSSFWorkbook exportStudentInfo(List<ExamStudentVo> student ...
- 从一个国内普通开发者的视角谈谈Sitecore
一.Sitecore是个神马玩意 简而言之,Sitecore就是一个基于ASP.NET技术的CMS系统,它不仅具有传统Web CMS的所有功能,还集成了Marketing营销(当然,这个功能价格不菲) ...
- Python爬虫入门教程 42-100 爬取儿歌多多APP数据-手机APP爬虫部分
1. 儿歌多多APP简单分析 今天是手机APP数据爬取的第一篇案例博客,我找到了一个儿歌多多APP,没有加固,没有加壳,没有加密参数,对新手来说,比较友好,咱就拿它练练手,熟悉一下Fiddler和夜神 ...
- springboot~读取自定义配置项
我们springboot项目有自己默认的配置文件,一般地由application.yml和bootstrap.yml组成,前者是模块的配置,后者是微服务的配置,后台比前者先被框架加载. 我们有时需要自 ...
- 【面试】吃透了这些Redis知识点,面试官一定觉得你很NB(干货 | 建议珍藏)
万字长文,干货满满. 是数据结构而非类型 很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义.redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有 ...
- .NetCore WebAPI采坑之路(持续更新)
1.WebAPI新增日志过滤器or中间件后Action读取到的请求Body为空问题 案例: 自定义了一个中间件,用于记录每次访问webapi的入参,以及引用了Swagger. 先看下面这段代码: pu ...
- xml代码 解决eclipse乱码问题
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springf ...