[发明专利]软件性能基准确定方法及装置有效
申请号: | 202010596163.6 | 申请日: | 2020-06-28 |
公开(公告)号: | CN111782266B | 公开(公告)日: | 2023-08-25 |
发明(设计)人: | 罗秉安;丘士丹;黄琼;钟智敏 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/77 | 分类号: | G06F8/77;G06F8/75 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王涛;任默闻 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 性能 基准 确定 方法 装置 | ||
本申请提供了一种软件性能基准确定方法及装置,该软件性能基准确定方法包括:对应用程序的源代码进行静态分析,得到应用程序的调用链关系及复杂度数值;对所述应用程序进行动态分析,生成应用程序运行过程中的调用路径图;根据所述调用链关系及调用路径图生成交易的程序复杂度;根据所述程序复杂度及预先创建的性能测试结果预测模型生成基于标准资源服务器的性能基准值。利用本申请,可以在不需要发起大并发的压力的情况下,分析预测得到具体交易基于标准资源服务器的性能基准指标,不需要搭建真实的复杂的性能测试环境,不需要准备和调试性能测试脚本和数据,也不需要发起实际的大并发的性能测试。
技术领域
本申请是关于软件性能测试技术,特别是关于一种软件性能基准确定方法及装置。
背景技术
目前的性能测试大部分都是以项目为单位,一个项目编码完毕,要重新搭建此项目涉及的全流程的模拟生产的测试环境,对软件的交易发起完全真实的高并发测试,得到系统所能承受的压力,并得到稳定情况下的性能指标,包括TPS(每秒交易数)、响应时间等。目前传统的性能测试方法,没有建立起一个标准的基准,纵向相类似的项目之间没有比较关系,横向同类型的应用之间也没有参考作用,导致每一个项目的性能测试基本都是从零开始,目标和结果都存在较大的不确定性。
发明内容
本申请提供了一种软件性能基准确定方法及装置,以在不需要发起大并发的压力的情况下,分析预测得到具体交易基于标准资源服务器的性能基准指标,不需要搭建真实的复杂的性能测试环境,不需要准备和调试性能测试脚本和数据,也不需要发起实际的大并发的性能测试。
根据本申请的一个方面,提供了一种软件性能基准确定方法,该软件性能基准确定方法包括:
对应用程序的源代码进行静态分析,得到应用程序的调用链关系及复杂度数值;
对所述应用程序进行动态分析,生成应用程序运行过程中的调用路径图;
根据所述调用链关系及调用路径图生成交易的程序复杂度;
根据所述程序复杂度及预先创建的性能测试结果预测模型生成基于标准资源服务器的性能基准值。
一实施例中,所述对应用程序的源代码进行静态分析,得到应用程序的调用链关系,包括:
对所述源代码进行语法分析得到语法节点集合;
根据所述语法节点集合的输入输出元素,分析得到语句执行路线的集合。
一实施例中,所述对应用程序的源代码进行静态分析,得到应用程序的复杂度数值,包括:
对所述源代码进行语法分析得到语法节点集合;
对每一个语法节点进行复杂度分析,判断当前语法节点的时间复杂度、空间复杂度、圈复杂度、数据访问复杂度。
一实施例中,述对所述应用程序进行动态分析,生成应用程序运行过程中的调用路径图,包括:记录交易运行期间涉及的应用程序的调用情况,将所述调用情况整理成调用路径图。
一实施例中,所述根据所述调用链关系及调用路径图生成交易的程序复杂度,包括:
利用所述调用链关系及调用路径图分析交易的程序调用链;
根据所述程序调用链计算得到所述程序复杂度。
一实施例中,所述程序调用链包括主干链路及叶子链路,利用所述调用链关系及调用路径图分析交易的程序调用链,包括:将运行调用链确定为所述主干链路的程序集,将所述运行调用链经过应用程序的一级调用确定为叶子链路的程序集。
一实施例中,根据所述程序调用链计算得到所述程序复杂度,包括:
分别计算所述主干链路及叶子链路的复杂度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010596163.6/2.html,转载请声明来源钻瓜专利网。