admin管理员组文章数量:1794759
链路分析在性能测试流程中的应用
链路分析技术的作用不仅在于分析阶段的提质增效,链路分析在性能测试各阶段的实际应用也挺多。
一、测试准备阶段的应用
在实际测试执行前的准备阶段,需要针对测试环境、测试数据、测试脚本等内容进行准备和检查,以确保执行后的数据准确性,其中环境和脚本准备均有应用场景。
在实际开展性能测试之前,需要确保被测环境是否符合测试的要求,其中就包括机器的配置、部署应用的版本、使用的框架。通过探针的部署,探针启动后会主动上报当前应用的IP地址、应用中使用的框架类及其版本信息,测试工程师可以快速根据上报信息判断部署应用的是否为实际被测应用,确保不会影响最终结果。
在脚本编写完毕后,性能测试工程师一般会以1并发或低并发的方式验证脚本是否能正常执行,那么会出现两个问题。
首先,在调试阶段如果出现执行失败,性能测试工程师还是需要依赖开发人员或自身经验才能进行问题的排查,从而再次修改脚本。在一些涉及多应用节点的情况下,这对测试工程师的要求非常高。
其次,即使脚本调试成功,在传统的压测工具中,仅能通过成功率判断脚本编写无误,但是无法判断其测试内容和数据是否符合预期。尤其是在部分混合场景中,脚本涉及不同微服务节点和相关数据库,在无法感知的情况下,只能通过人员经验和对业务的熟悉程度进行主观判断,往往会出现“想测试ABCD,却测成了ADCB”的情况,导致性能测试人需要重复进行调整、压力执行、结果分析,浪费了大量的时间和精力,且结果差强人意。
二、测试执行阶段的应用
在测试执行阶段,链路分析能显而易见地提升对性能瓶颈、错误异常的排查效率,相关的分析能力在核心能力建设的内容中均有提到,包括链路拓扑、代码级分析这两大能力。
部分企业在实践过程中通过链路分析可以将传统模式下需要4~5小时才能排查的瓶颈缩短至1小时之内完成排查,其效率的提升不仅体现在问题排查上,还体现在与相关开发工程师的跨部门沟通中。
三、测试总结阶段的应用
在测试总结阶段,测试工程师需要对整个性能测试过程进行总结和评价,并输出标准的测试报告。链路能力的应用主要体现在如下两个场景。
首先是对测试结果进行补充。传统性能测试通过TPS、响应时间、成功率等指标判断测试结果是否通过,比如平均响应时间低于1000毫秒,虽然从结果来看,被测应用是通过的,但是它依然可以进行性能分析。
我们可以举个简单的例子。虽然被测应用平均响应时间为1000毫秒,但是其中900毫秒都花费在了SQL语句执行上,100毫秒为自身业务处理耗时。那么在这样的情况下,虽然1000毫秒的指标数据很不错,但是应用在实际上线后依然会由于SQL执行耗时较长引发生产上的性能故障。
而链路分析的引进是为其增加了一层保险。在上述情况下,测试工程师能非常直观地发现问题所在,并在测试阶段提交缺陷,这也是性能测试重要的价值所在。
因此除了标准的平均响应时间外,针对核心接口的耗时、数据库执行的耗时等均可以作为结果的判断依据,帮助测试工程师更好、更准确地判断被测应用是否通过。
其次是对测试资产的留存补充。在收尾阶段,标准的性能测试报告会作为核心资产留存下来,可作为后续类似项目或相关项目的参考。如果企业内部建设了链路分析体系,那么可留存的数据资产会更加充分。
一方面,链路分析过程可以为同类型项目提供代码级的数据,在每次变更时作为测试参考。
另一方面,也可以将拓扑结构数据与生产部署架构进行对比,如果发现生产环境出现了测试验证之外的链路调用,运维工程师即可快速圈定异常范围,针对这些异常链路进行深度分析。此外,能帮助测试人员发现部分漏测的场景,补足测试场景,逐步提升性能测试的覆盖率。
如有收获,您的关注,点赞,在看,留言评论是对我最大的支持!!!
本文标签: 链路分析在性能测试流程中的应用
版权声明:本文标题:链路分析在性能测试流程中的应用 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754617166a1704424.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论