一种自动生成软件功能耦合矩阵的方法技术

技术编号:31823954 阅读:18 留言:0更新日期:2022-01-12 12:46
本发明专利技术提出了一种自动生成软件功能耦合矩阵的方法,用于解得软件产品的功能运行过程中真实耦合的耦合关系和耦合概率,生成耦合矩阵并给出耦合点的耦合优先级来指导后续的软件产品开发和测试;所述方法首先建立软件产品功能和功能点与代码接口的对应关系,并在软件运行时记录软件的代码接口之间的调用关系在日志中;然后,通过分析日志得出代码接口间的调用关系和对应的发生概率;最后,再通过代码接口与功能、功能点和子功能点的映射关系,按照发生概率的大小设定耦合优先级后自动生成功能耦合矩阵,并使用功能耦合矩阵和对应的耦合优先级来指导后续的软件产品的开发和测试。合优先级来指导后续的软件产品的开发和测试。合优先级来指导后续的软件产品的开发和测试。

【技术实现步骤摘要】
一种自动生成软件功能耦合矩阵的方法


[0001]本专利技术属于计算机软件开发
,具体地说,涉及一种自动生成软件功能耦合矩阵的方法。

技术介绍

[0002]在软件开发和测试时场景下存在大量的功能耦合分析不足导致的问题,以及在工作经常出现大量人力解决功能耦合问题,而该耦合点在实际应用基本不会使用,导致软件开发和测试人力的浪费。

技术实现思路

[0003]本专利技术针对现有技术的上述缺陷和需求,提供了一种自动生成软件耦合矩阵方法,本专利技术通过建立软件功能和功能点与代码接口的对应关系,并在软件运行时记录软件接口之间的调用关系通过分析日志得出接口间的调用关系和发生概率。再通过接口与功能、功能点和子功能点的映射关系自动生成功能耦合矩阵。
[0004]本专利技术具体实现内容如下:本专利技术提出了一种自动生成软件功能耦合矩阵的方法,用于解得软件产品的功能运行过程中真实耦合的耦合关系和耦合概率,生成耦合矩阵并给出耦合点的耦合优先级来指导后续的软件产品开发和测试;所述方法首先建立软件产品功能和功能点与代码接口的对应关系,并在软件运行时记录软件的代码接口之间的调用关系在日志中;然后,通过分析日志得出代码接口间的调用关系和对应的发生概率;最后,再通过代码接口与功能、功能点和子功能点的映射关系,按照发生概率的大小设定耦合优先级后自动生成功能耦合矩阵,并使用功能耦合矩阵和对应的耦合优先级来指导后续的软件产品的开发和测试。
[0005]为了更好地实现本专利技术,进一步地,具体包括以下步骤:步骤1:对软件产品进行功能、功能点和子功能点的多级划分,并建立对应的多级功能目录;步骤2:建立软件产品的多级功能与代码接口的对应关系表,并在代码接口中注明代码接口的测试点;步骤3:在软件产品使用过程中将接口调用关系记录在日志中;步骤4:通过分析日志得出代码接口间的调用关系和对应的发生概率;步骤5:通过代码接口与功能、功能点和子功能点的映射关系,按照发生概率的大小设定耦合优先级后自动生成功能耦合矩阵;步骤6:使用功能耦合矩阵和对应的耦合优先级来指导后续的软件产品的开发和测试。
[0006]为了更好地实现本专利技术,进一步地,所述步骤3的具体操作为:步骤3.1:根据软件的功能特性定义事务类型,具体包括配置事务、状态迁移事务、业务转发事务;
步骤3.2:将代码接口对应的记录日志功能开启,当软件产品检测到对应类型的事务开始时,对该事务进行日志记录;所述日志中记录有对应事务执行过程中调用的代码接口和调用代码接口的参数。
[0007]为了更好地实现本专利技术,进一步地,在所述步骤3.2中,对于所述配置事务,需要记录配置的代码接口和代码接口操作的对象,并记录操作对象当前的标记,并在操作后生成新的标记记录到日志中;同时记录当前配置事务中所有代码接口之间的调用树。
[0008]为了更好地实现本专利技术,进一步地,所述步骤3.2中,对于所述状态迁移事务,在检测到对象的状态发生变化时,需要记录状态发生的对象,状态迁移的原因和状态迁移的原因关联的代码接口。
[0009]为了更好地实现本专利技术,进一步地,所述步骤3.2中,对于所述转发事务,将转发事务划分成多种不同场景的转发事务,对于不同转发事务在设备中经历的节点进行记录,并记录经历的节点对应的代码接口。
[0010]为了更好地实现本专利技术,进一步地,所述转发事务被划分为以太转发事务、IP转发事务、IPv4转发事务、IPv6转发事务、IP4in6转发事务、tcp转发事务和udp转发事务。
[0011]为了更好地实现本专利技术,进一步地,使用所述日志进行以下分析操作:操作1:根据事务中操作的对象和对象的标记判断事务之间是否产生耦合,如果产生了耦合可以生成事务之间的耦合关系;操作2:可以根据事务之间的关联关系生成不同事务间发生耦合接口之间的关联关系,并计算出关联深度和关联次数;操作3:在研发过程需要将发现问题时的日志上传到问题单库中,工具可以根据问题单库中记录的日志获取事务发生问题的数量、严重程度和发生时间。
[0012]为了更好地实现本专利技术,进一步地,所述步骤5中,设置研发问题库,并设置对应的事务权重比例;然后对于不同的事务类型设置不同的初始权重,再将初始权重与事务权重比例叠加得到最终的权重,最终的权重越高的,耦合优先级越高。
[0013]为了更好地实现本专利技术,进一步地,所述事务权重比例的计算方法为:自动收集各种类型的事务在研发问题库中对应代码接口耦合产生问题的数量和严重程度,不同严重程度对应的软件缺陷率DI值不同;问题数量越多的事务的事务权重比例越大;软件缺陷率DI值越高的事务的研发问题库权重越大;并设定关联深度和关联系数;所述关联深度为代码接口之间调用层级,调用层级越大,耦合优先级越低;所述关联次数为在日志中发生关联次数,关联次数越大,耦合优先级越高;然后得到优先级系数,耦合优先级系数的计算方法如下:优先级系数=初始权重*事务权重比例
ꢀ–ꢀ
关联深度*比例 + 关联次数*比例;根据得出的优先级系数设定对应的耦合优先级:优先级系数>100 为耦合优先级1;优先级系数在50~100之间为耦合优先级2;优先级系数在10~50之间为耦合优先级3;优先级系数为0~10之间为耦合优先级4;并备案。
[0014]本专利技术与现有技术相比具有以下有点及有益效果:(1)指导软件开发过程作为参考功能间耦处理的参考,并根据优先级处理耦合点之间的关系,减少功能间耦合的问题。同时为解决功能耦合问题时提供优先级的参考,避免将人力投入到解决不重要的耦合点中。
[0015](2)指导软件测试的用例设计,提升用例设计的准确性。
[0016](3)指导软件测试策略的制定,在代码变更时可以准确的评估出修改代码影响的范围。
附图说明
[0017]图1为多级功能目录的示意图;图2为接口对应关系的表格示意图;图3为耦合矩阵的结构示意图。
具体实施方式
[0018]为了更清楚地说明本专利技术实施例的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本专利技术中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0020]实施例1:本实施例提出了一种自动生成软件功能耦合矩阵的方法,用于解得软件产品的功能运行过程中真实耦合的耦合关系和耦合概率,生成耦合矩阵并给出耦合点的耦合优先级来指导后续的软件产品开发和测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动生成软件功能耦合矩阵的方法,用于解得软件产品的功能运行过程中真实耦合的耦合关系和耦合概率,生成耦合矩阵并给出耦合点的耦合优先级来指导后续的软件产品开发和测试;其特征在于,首先建立软件产品功能和功能点与代码接口的对应关系,并在软件运行时记录软件的代码接口之间的调用关系在日志中;然后,通过分析日志得出代码接口间的调用关系和对应的发生概率;最后,再通过代码接口与功能、功能点和子功能点的映射关系,按照发生概率的大小设定耦合优先级后自动生成功能耦合矩阵,并使用功能耦合矩阵和对应的耦合优先级来指导后续的软件产品的开发和测试。2.如权利要求1所述的一种自动生成软件功能耦合矩阵的方法,其特征在于,具体包括以下步骤:步骤1:对软件产品进行功能、功能点和子功能点的多级划分,并建立对应的多级功能目录;步骤2:建立软件产品的多级功能与代码接口的对应关系表,并在代码接口中注明代码接口的测试点;步骤3:在软件产品使用过程中将接口调用关系记录在日志中;步骤4:通过分析日志得出代码接口间的调用关系和对应的发生概率;步骤5:通过代码接口与功能、功能点和子功能点的映射关系,按照发生概率的大小设定耦合优先级后自动生成功能耦合矩阵;步骤6:使用功能耦合矩阵和对应的耦合优先级来指导后续的软件产品的开发和测试。3.如权利要求2所述的一种自动生成软件功能耦合矩阵的方法,其特征在于,所述步骤3的具体操作为:步骤3.1:根据软件的功能特性定义事务类型,具体包括配置事务、状态迁移事务、业务转发事务;步骤3.2:将代码接口对应的记录日志功能开启,当软件产品检测到对应类型的事务开始时,对该事务进行日志记录;所述日志中记录有对应事务执行过程中调用的代码接口和调用代码接口的参数。4.如权利要求3所述的一种自动生成软件功能耦合矩阵的方法,其特征在于,在所述步骤3.2中,对于所述配置事务,需要记录配置的代码接口和代码接口操作的对象,并记录操作对象当前的标记,并在操作后生成新的标记记录到日志中;同时记录当前配置事务中所有代码接口之间的调用树。5.如权利要求3所述的一种自动生成软件功能耦合矩阵的方法,其特征在于,所述步骤3.2中,对于所述状态迁移事务,在检测到对象的状态发生变化时,需要记录状态发生的对象,状态迁移的原因和状态迁移的原因关联的代码接口。6.如权利要求3所述的一种自动生成软件功能耦...

【专利技术属性】
技术研发人员:赵海波范渊吴永越郑学新刘韬
申请(专利权)人:成都安恒信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1