Jmeter性能测试系列内容,将以Jmeter开源性能测试工具针对ECShop用户登陆、随机购买商品两种业务模型实施性能测试活动。
通过性能测试需求分析、测试模型建立、场景设计等常规性能测试设计过程着手,结合BadBoy开发测试脚本,运用Jmeter进行性能测试场景设计与执行,并利用Jmeter结果分析功能进行测试结果分析,使童鞋们能够掌握Jmeter进行Web系统性能测试的流程与方法,并熟悉测试结果分析过程,具备独立开展性能测试工作的能力。
性能测试需求分析与传统的功能测试需求有所不同,功能测试需求分析重点在于从用户层面分析被测对象的功能性、易用性等质量特性,性能测试则需要从终端用户应用、系统架构设计、硬件配置等多个纬度分析系统可能存在性能瓶颈的业务。
性能测试必要性评估
任何项目在开展性能测试活动前都需要进行必要性评估。通过必要性评估活动,确认被测对象是否有必要实施性能测试活动。
通常情况下,必要性评估可以通过设定不同条件、不同权重进行分析,将评估项分为关键评估项和一般评估项两种。关键评估项,只要有一项符合,则必须开展性能测试,而一般评估项,可通过加权计算,超过60分,则需开展性能测试。
软件测试活动中,根据测试要求可分为功能测试与非功能测试。非功能测试,通常指的即是性能测试。当然,具体情况具体分析。
1.关键评估项
常见性能测试关键评估项如下:
(1) 被测对象需经过主管部门或监管单位审查、认可,需提供性能测试报告。
目前,很多企业的软件产品在正式上市对外销售、应用时,政府机关、主管部门或监管单位,可能需要其出具功能测试报告、性能测试报告,甚至是第三方测试报告,这种情况下,必须进行性能测试;
(2) 涉及财产生命安全的系统。通常情况,电商系统、金融业务系统、医疗健康评估,涉及用户或行方资金交易,生命安全类的,需要进行性能测试;
(3) 首次投产的大型系统,具有大量用户使用的核心业务;
(4) 系统核心数据库、业务逻辑、软硬件升级。与历史系统对比,系统核心数据库、业务逻辑调整、软件硬件设备升级,同样需要实施性能测试;
(5) 历史版本存在重大非功能缺陷或风险较大的未评估项;
(6) 业务量、用户量、节点增长30%以上。系统升级后,业务量、用户量、应用节点,增长量在30%以上的,具体数值可根据实际情况调整。应用节点增长一般指甲方因业务需求,增加应用节点,银行拓展分行、分中心、分公司、营业网点等;
(7) 系统架构发生重大变化。不同的系统架构可能存在较大的性能差异,因此在系统架构发生变化后,必须实施性能测试,并且在此过程中,无法通过类推的思路推断架构变化后的系统性能;
(8) 生产环境非功能严重缺陷修复后。生产环境在使用过程中产生重大非功能性缺陷成功修复后,需重新开展性能测试活动,以验证修复活动是否对生产环境造成不良影响。
以上仅仅列出笔者在日常性能测试活动参考的关键评估项,对于不同行业,不同测试对象可能存在的不同的关键评估项,读者可自行增减。
2.一般评估项
常见的性能测试一般评估项,主要从单次版本考虑,如果是平台性的,则为关键评估项,如果是单次版本,单个组件或业务,则从以下几个一般评估项评估权重:
(1) 是否在平台中处于核心位置(15分);
(2) 是否有升级,且升级内容中包含了外部系统对接接口、支付接口、Web Service调用接口等与其他系统关联接口(20分);
(3) 是否存在部署方式调整或优化(15分);
(4) 是否增加了性能风险较高的调整(20分);
(5) 是否存在客户要求必须测试的组件或业务流程(20分);
(6) 是否涉及多个功能缺陷的修复,且流程发生较大变化(10分)。
如果上述一般评估项,总计分值超过60分,则需进行性能测试。
【案例7-1 ECShop性能测试必要性评估】
针对上述关键评估项及一般评估项的评估,ECShop性能测试必要性评估条件中,满足关键评估项中的第三条:首次投产的大型系统,具有大量用户使用的核心业务”,因此本ECShop平台的性能测试活动必须开展。
![af165bd1f1d6836c037b8f7fb268fd1d.png](https://i-blog.csdnimg.cn/blog_migrate/97cb4c5583765d0c9919178d7e5e0301.jpeg)