如何做好性能测试

--摘自《LoadRunner性能测试实战》

 

如何做好性能测试
    多数企业都想使产品获得高性能,以降低投产后的风险。但是现实中的性能测试工作却经常不受重视,常会碰到“走过场”或“拖到整个项目最后进行”的情况,甚至有时会作分舵无意义的性能测试。此外,多数企业的测试人员能力水平不高,这也是导致性能测试不过关的原因。
    要想做对性能测试应该从管理与技术两方面入手。

按照规范的管理流程开展测试工作
    软件性能的低下很多时候是由于系统架构设计不好或代码效率低下而引起的,如果上线后发现性能问题往往已很难补救。因此性能测试应该按照规范的流程来执行,尽量把问题消灭在产品上线之前。
    根据多数企业的实际情况,性能测试应该分为开发与用户现场两个阶段来进行。
    严格的讲,性能测试应该按照测试环境的软、硬件配置高低分为两个阶段。只是由于开发阶段的软、硬件配置相对较低,而用户现场的投产环境软、硬件配置较高,因此才把性能测试分为开发与用户现场两个阶段。对于拥有先进实验设备甚至实验室的公司,完全可以在开发阶段完成全部的性能测试工作,如果用户现场仍要进行性能测试,则只是简单的验收测试而已。


开发阶段的性能测试实施
    开发阶段的性能测试主要指软件试运行前的性能测试,即团队内部的性能测试。这一阶段测试时一个反复迭代的过程。
    性能测试不是特别重要的项目,这一阶段的性能测试较多关注与软件功能而引起的缺陷。因此主要进行用户并发性能测试,即核心模块并发用户测试与组合模块并发用户测试。此外,可能还会进行一些预期性能指标的性能测试。通过开发阶段的性能测试可以发现一些核心算法问题,最大限度地排除由软件本身引起的问题。
    对于系统类软件或特殊应用系统的性能测试,解决其性能问题可能很耗时,所以应该较早的组织硬件资源进行各类性能测试,例如疲劳强度与大数据量测试、服务器性能测试等。


用户现场性能测试的实施
    用户现场的性能测试有验收测试的“味道”,是开发阶段性能测试工作的延续。这一阶段的性能重点是关注性能测试的整体表现。
    对于系统软件和特殊领域的应用系统,这一阶段的性能测试主要包含预期指标性能测试、并发用户性能测试、各类服务器性能测试、疲劳强度与大数据量性能测试等内容,基本覆盖了“全面性能测试模型”的各个方面。与开发阶段的性能测试相比,本阶段的性能测试用例数量可能会少一些,但是测试用例覆盖的范围与开发阶段的性能测试基本一致。
    一般应用系统在用户现场的性能测试通常包含预期指标性能测试与用户并发性能测试,可能也会对服务器进行一定的测试,不过内容通常比较简单。一般应用系统发生性能问题的风险不会太高,因此只要通过验收测试即可。
    这两个阶段的性能测试都应该按照“需求分析-规划与设计-执行-调优-验证”的顺序来执行。

做好性能测试计划需要考虑以下几个关键因素: 1. 确定测试目标:明确性能测试的目的和期望结果,例如确定系统的瓶颈、找出系统的性能瓶颈等。 2. 定义测试范围:明确需要测试的系统组件、功能模块、交易量和用户数量等。确定测试的具体范围有助于规划测试资源和时间。 3. 选择合适的工具:根据系统的特点和需求,选择适合性能测试的工具,例如JMeter、LoadRunner等。确保工具能够模拟实际使用场景和生成足够的负载。 4. 设计测试场景:根据系统的业务流程和用户使用习惯,设计合理的测试场景。考虑并发用户数、事务量、数据量等因素,以及可能存在的异常情况。 5. 准备测试环境:搭建合适的测试环境,包括硬件、软件和网络环境。确保测试环境与生产环境尽可能接近,以保证测试结果的准确性。 6. 制定性能指标:根据系统的需求和用户期望,制定合理的性能指标,例如响应时间、吞吐量、并发用户数等。这些指标可以用于评估系统的性能表现。 7. 编写测试脚本:根据设计的测试场景,使用选择的性能测试工具编写测试脚本。确保脚本能够模拟真实的用户行为和负载,并能够记录相关的性能数据。 8. 执行测试计划:按照测试计划和预定的时间表执行性能测试。监控系统的性能指标,记录测试结果,以及处理可能出现的性能问题。 9. 分析和优化:分析测试结果,识别系统的性能瓶颈和问题所在。根据分析结果,进行性能优化,例如调整系统配置、优化代码、增加服务器资源等。 10. 生成报告和总结:根据测试结果和分析,生成详细的性能测试报告。总结测试过程中的经验教训和改进点,为后续的性能测试提供参考。 以上是一个基本的性能测试计划框架,具体实施时需要根据项目的实际情况进行调整和补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值