1.3软件性能测试方法
来源:互联网 发布:java web文件系统 编辑:程序博客网 时间:2024/06/05 23:47
1.3.1 性能下降曲线分析法
性能下降曲线描述的是性能随用户数增加而出现下降趋势的曲线,性能指的是响应时间或者吞吐量。
一条相应时间性能下降曲线可以分为以下几个部分:
(1)单用户区域——对应系统的一个用户的响应时间。这对建立性能的参考值很有帮助。
(2)性能平坦区——在不进行更多性能调优情况下所能期望达到的最佳性能。该区域可用作基线或benchmark。
(3)压力区域——性能轻微下降的区域。其中典型的,最大的用户负载是压力区域的开始。
(4)拐点——性能开始急剧下降。
这几个区域实际上明确标识了系统性能的最优区间、性能开始变坏的区间、以及性能开始急剧下降的点。对性能测试来说,找到这些区间和拐点,也就可以找到性能瓶颈产生的地方,为性能调优提供依据。
1.3.2 LoadRunner 的性能测试过程
LoadRunner 将性能测试过程划分为:计划测试、设计测试、创建VU脚本、创建测试场景、运行测试场景、分析结果。
计划测试:进行测试需求收集、典型场景确定;
测试设计:测试用例的设计;
创建VU脚本:根据 设计的用例设创建脚本;
创建测试场景:测试场景的设计和设置;
运行测试场景:对已创建的测试场景进行执行,手机相应的数据;
分析结果:进行结果的分析和报告工作。
1.3.3 敏捷性能测试
敏捷性能测试是随着敏捷技术的发展而出现的一种新的性能测试方法。
敏捷性能测试的特点:
(1)在每个迭代目标中包含明确的性能目标
【由于一个迭代交付的产品并不一定既具有完备的功能,因此迭代目标中包含的性能目标并非完全建立在端到端的响应时间上】。迭代目标中的性能目标可能是基于端到端的,也可能是基于接口的,甚至可能是面向具体的函数的。只有确定了每个迭代的性能目标,才有可能在每个迭代中安排合理的性能测试。
(2)建立不同层次的性能测试
迭代目标中的性能目标具有不同的层次。敏捷测试中可以使用不同的方法对其进行验证。
面向具体函数的性能测试:通过Junit4或TestNG中的@Test来设置验证标准。与单元测试一样,函数级别的性能测试对环境的依赖性小,对其它模块和函数也不存在很强的依赖性,因此可以很容易的放置在持续集成中与其它单元测试一同运行。
面向接口级别的性能测试:接口级别的性能测至少要求将模块或子系统运行起来,并设置好测试支撑的环境。因策接口级别的性能测试往往需要一些设置环境的脚本的支持。Junit4等工具同样能支持接口级别的性能测试。
端到端的性能测试:考虑到端到端的性能测试结构与所在环境存在极大的依赖性,这个层次的性能测试需要在严格定义的环境上运行,因此,通常需要为被测应用准备好“一键部署的”脚本,只要通过一个命令就可以将被测应用部署到指定环境上,然后使用合适的工具和脚本对其进行性能测试。
(3)完全或接近完全自动化的性能测试
敏捷测试极大的依赖自动化测试,因为要达成敏捷和快速,自动化是必须的选择。性能测试中的自动化包括两个主要部分:性能测试工具与脚本,以及用于设置环境的脚本。
(4)使用测试驱动的方法保证性能与优化性能
测试驱动开发(TDD)是着手编写代码之前,首先为需要完成的代码设置接收测试,一旦测试通过,就意味着代码实现完成。TDD促使开发工程师在实现代码之前准确定义代码功能,并通过这个准则避免开发工程师增加不必要的功能。【TDD同样适用于敏捷中的性能测试,如果有明确的针对函数的性能标准,这个标准同样可以被包含在测试中,并作为函数实现与否的一个判定标准】
1.3.4 性能测试过程通用模型(PTGM)
(1)测试前期准备
(2)测试工具引入
(3)测试计划
(4)测试设计与开发
(5)测试执行与管理
(6)测试分析
- 1.3软件性能测试方法
- 软件性能测试方法
- 软件性能测试的几种方法
- 软件性能测试 - 1
- 软件性能测试 - 2
- 软件性能测试 - 3
- 软件性能测试
- 软件性能测试面面观
- 软件性能测试面面观
- 软件的性能测试
- WINCE性能测试软件
- 软件性能测试
- 什么是软件性能测试
- 软件性能测试方法论
- 软件性能测试方法论
- 软件性能测试
- 浅谈软件性能测试
- 软件性能测试
- 树模型系列之六:基于R语言的xgboost+LR实现方法及案例
- 这位新同事又矮又重,凭啥是阿里P8?
- 如何查看mysql当前未提交的事物
- 求excel的md5宏xla
- codis集群 搭建
- 1.3软件性能测试方法
- 【Python】迭代器和生成器理解
- Docker之django+mysql简单部署示例
- 关于 Token,你应该知道的十件事
- 将数据分批保存到不同文件夹下
- string函数find_first_not_of
- 在Visual Studio中添加数据库和.xsd文件
- Matlab调用Python读取Abaqus模型操作
- Matlab 坐标转换,图形旋转