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


测试结果是性能测试人员最重要的交付内容 , 也是可以证明 ROI(投资回报率)以及性能测试工作真正体现价值的地方 。
由于性能测试通常需要进行多次执行才能得出正确的结论 , 无论通过工具自动生成还是自己汇总测试结果 。
有效的性能测试结果分析需要注意这几点:

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

注:如在企业内 , 这里还可以附上被测应用系统的架构设计图 。
②性能测试工作范畴
XXX 聊天应用程序性能测试工作范畴如下(In Scope):
  • 通过对系统详细调研 , 获取关键事务处理节点 , 构建负载分配 。
  • 确定性能测试的关键场景 。
  • 使用前一个版本的结果作为未来版本的基线 。
  • 确认其他用于分布式压测的代理机性能测试环境 , 以及使用的性能测试工具 。
  • 使用 JMeter 模拟各种峰值负载 , 并为负载场景准备性能测试脚本 。
  • 为服务器设置性能指标监控 , 以便在测试执行阶段识别性能瓶颈 。
  • 发布性能测试结果 。
  • 与项目干系人协作沟通 , 确定可行的调优方案 , 针对已识别的性能问题给出解决方案 。
  • 为该产品将来版本确定性能需求基线 。
以下任务不在此次性能测试工作范畴中(Out of Scope):


推荐阅读