不懂性能测试,被面试官挂了...( 三 )


例如 , 如果用户的最大数量是 100 , 那么场景首先会运行 10、25、50 个用户 , 以此类推 , 最终会运行 100 个用户 。
性能测试结果分析
测试结果是性能测试人员最重要的交付内容 , 也是可以证明 ROI(投资回报率)以及性能测试工作真正体现价值的地方 。
由于性能测试通常需要进行多次执行才能得出正确的结论 , 无论通过工具自动生成还是自己汇总测试结果 。
有效的性能测试结果分析需要注意这几点:

  • 分析并记录测试失败的原因 。
  • 与前一次测试执行相比 , 应用程序的性能是否有变化 。
  • 为了执行性能测试用例 , 从应用程序构建到测试环境都做过哪些设置更改 。
  • 对每个性能场景执行的测试用例 , 及时进行性能测试结果分析 , 避免最终呈现完整性能测试报告时 , 出现任何数据指标的遗漏 。
  • 在总结中需要说明每场测试的目的、对应的虚拟用户数、测试持续时间、响应时间、吞吐量、不同负载情况下性能指标对比图、测试过程中出现的错误 , 以及后续改进的建议 。
完整报告
完整的性能测试报告以简洁为主 , 不需要任何推导 , 开发团队需要更多关于分析、比较结果的信息 , 以及如何获得结果的细节 。
性能测试计划/策略编写 Demo
现在我们以一款实时消息传递应用程序为例 , 编写性能测试策略 。
由于用户对于不同产品的性能需求不尽一致 , 这里仅以 Demo 呈现性能测试策略编写的完整过程 , 大家在工作中可适当对 Demo 模板进行裁剪 , 以满足自己当前项目所需 。
关于 XXX 在线聊天应用程序:假设这是当前客户公司内部使用的聊天工作平台 , 这个聊天应用程序基于 XMPP 协议支持发送和接收即时消息 。
此外该平台功能进行了一些增强 , 如远程 PC 控制、PC 诊断、修复工具、在线聊天等 。
对于这个应用程序 , 我们假设项目团队已经决定使用 JMeter 进行性能测试 , 使用 JIRA 进行缺陷跟踪 。
性能测试策略文档的第一页应该包含文档的标题和公司的版权;第二页应该包含文档控制 , 包括文档版本历史、审阅者和审批者列表和贡献者列表;第三页应包含目录 , 其中涉及以下主题:
①简介
本文档目的旨在说明如何在 XXX 聊天应用程序上 , 基于当前及未来状态进行性能测试 。
XXX 聊天应用程序是一个用于内部远程支持的工作平台 , 具有在线聊天、客户识别、远程 PC 控制、PC 诊断和修复工具等功能 。
性能测试主要目的如下:
  • 确保当前聊天应用程序的任何更新符合规范的服务级别协议 。
  • 确保应用程序的性能、可用性和稳定性不会因为新功能的添加而受到影响 。
  • 在持续增加负载的情况下 , 事务响应时间保持在可接受的范围内 。
  • 在不断增加负载的情况下 , JVM 始终显示稳定的内存使用情况 。
下图清晰展示了性能测试/优化过程:
不懂性能测试,被面试官挂了...
本文插图
注:如在企业内 , 这里还可以附上被测应用系统的架构设计图 。
②性能测试工作范畴
XXX 聊天应用程序性能测试工作范畴如下(In Scope):