技术新讯 > 计算推算,计数设备的制造及其应用技术 > 迭代缺陷风险评估方法及系统与流程  >  正文

迭代缺陷风险评估方法及系统与流程

  • 国知局
  • 2024-12-06 12:29:17

本发明涉及软件测试,尤其涉及一种迭代缺陷风险评估方法及系统。

背景技术:

1、随着市场需求和用户需求的不断变化,功能迭代则成为了软件开发过程中不可避免的一环。迭代过程中,通过添加新功能、优化现有功能或修复已知缺陷等来对软件进行改进。然而,每一次迭代均有可能引入新的缺陷或问题。

2、目前,通常利用代码静态扫描工具,在不执行代码的情况下,对迭代后的软件代码进行静态扫描,以找到潜在的编程错误问题及安全漏洞等。或者,通过人工审查的方式,对迭代后的软件代码进行审查,以确保迭代后的软件代码符合编码标准和项目要求。然而,上述利用代码静态扫描工具对迭代后的软件代码进行静态扫描的方式,难以理解软件代码的上下文和业务逻辑等,容易导致代码缺陷识别失误。并且,上述人工审查的方式,存在一定的主观性,容易导致代码缺陷审查失误。

技术实现思路

1、本发明提供一种迭代缺陷风险评估方法及系统,以解决现有技术中对于迭代后的代码的缺陷容易出现识别或审查失误的问题。

2、本发明提供的一种迭代缺陷风险评估方法,所述方法包括:获取目标软件的至少两个目标功能点的迭代风险指标数据,所述目标软件为正在进行功能迭代的软件,所述迭代风险指标数据包括目标功能点的多个迭代风险指标的数据;

3、根据预设的项目因素,得到每个迭代风险指标的权重;

4、基于所述迭代风险指标的权重,对所述目标功能点的迭代风险指标数据进行加权处理,以得到每个所述目标功能点的风险值;

5、基于所述风险值,确定目标风险区域,所述目标风险区域指所述目标软件的代码风险区域,所述目标风险区域用于确定软件测试重点区域。

6、于本发明一实施例中,所述多个迭代风险指标包括:功能周期变化率,获取所述目标功能点的功能周期变化率数据的步骤包括:

7、获取所述目标软件在预设的迭代周期内所述目标功能点的迭代次数,以及所述目标软件在所述迭代周期内的总迭代次数;

8、将所述目标功能点的迭代次数与所述总迭代次数之间的比值确定为当前所述目标功能点的功能周期变化率数据。

9、于本发明一实施例中,所述多个迭代风险指标包括:代码行变更率,获取所述目标功能点的代码行变更率数据的步骤包括:

10、获取所述目标功能点在当前的软件功能迭代过程中的代码变更行数,以及所述目标功能点当前对应的总代码行数;

11、将代码变更行数与对应的总代码行数之间的比值确定为当前所述目标功能点的代码行变更率数据。

12、于本发明一实施例中,所述多个迭代风险指标包括:功能影响范围,获取所述目标功能点的功能影响范围数据的步骤包括:

13、基于所述目标软件中各个功能点的关联关系,得到与所述目标功能点存在直接关联的功能点;

14、将与所述目标功能点存在直接关联的功能点的数量确定为第一数量;

15、将所述目标软件中全部功能点的数量确定为第二数量;

16、将所述第一数量与所述第二数量之间的比值确定为当前所述目标功能点的功能影响范围数据。

17、于本发明一实施例中,所述多个迭代风险指标包括:测试未覆盖率,获取所述目标功能点的测试未覆盖率数据的步骤包括:

18、将所述目标功能点对应的代码确定为目标代码;

19、将最近一次测试覆盖的所述目标代码的行数与所述目标代码的总行数之间的比值确定为测试覆盖率,最近一次测试为自动化测试和/或单元测试,所述自动化测试指利用预设的自动化测试工具进行代码解析与测试,所述单元测试指对代码单元进行测试,所述代码单元为目标软件的代码中的函数或方法;

20、将所述测试覆盖率的补数确定为当前所述目标功能点的测试未覆盖率数据。

21、于本发明一实施例中,在获取目标软件的至少两个目标功能点的迭代风险指标数据的步骤之后,还包括:

22、基于所述目标功能点的所述迭代风险指标数据,构建风险视图;

23、对所述风险视图进行可视化展示,所述风险视图中所述目标功能点的所述迭代风险指标数据按照数据采集周期定期更新,所述数据采集周期指获取所述迭代风险指标数据的周期。

24、于本发明一实施例中,基于所述风险值,确定所述目标软件的代码的目标风险区域的步骤包括:

25、基于全部所述目标功能点的所述风险值,对所述目标功能点从大到小进行排序,以将排列靠前的一个或多个所述目标功能点确定为风险功能点;

26、获取所述目标软件中各个功能点的关联关系;

27、基于所述关联关系,得到与所述风险功能点存在直接关联和/或间接关联的功能点;

28、将与所述风险功能点存在直接关联或间接关联的功能点确定为风险关联点;

29、基于所述风险功能点与对应的所述风险关联点,确定所述目标风险区域。

30、于本发明一实施例中,根据预设的项目因素,得到每个迭代风险指标的权重的步骤包括:

31、基于所述项目因素和所述迭代风险指标,构建层次结构模型,所述层次结构模型包括:目标层、准则层以及方案层,所述目标层的内容为获取迭代风险指标的权重的最优方案,所述准则层包括多个所述项目因素,所述方案层包括多个迭代风险指标;

32、通过对所述准则层中的项目因素进行两两比较,得到每个所述项目因素的第一权重;

33、基于所述方案层,构建判断矩阵,以对所述方案层中的迭代风险指标进行两两比较,得到所述迭代风险指标相对于每个所述项目因素的第二权重;

34、将所述第二权重与对应的第一权重之间的乘积确定为中间权重;

35、将迭代风险指标的全部所述中间权重的和值确定为所述迭代风险指标的合成权重;

36、基于全部所述迭代风险指标的合成权重比,得到每个所述迭代风险指标的权重。

37、于本发明一实施例中,所述多个迭代风险指标还包括:遗留问题率,获取所述目标功能点的遗留问题率数据的步骤包括:

38、获取所述目标功能点当前的缺陷数及总代码行数;

39、将所述缺陷数与所述总代码行数之间的比值确定为中间值;

40、将所述中间值与1000的乘积确定为遗留问题率数据。

41、本发明还提供了一种迭代缺陷风险评估系统,所述系统包括:

42、数据获取模块,用于获取目标软件的至少两个目标功能点的迭代风险指标数据,所述目标软件为正在进行功能迭代的软件,所述迭代风险指标数据包括目标功能点的多个迭代风险指标的数据;

43、权重获取模块,用于根据预设的项目因素,得到每个迭代风险指标的权重;

44、风险值获取模块,用于基于所述迭代风险指标的权重,对所述目标功能点的迭代风险指标数据进行加权处理,以得到每个所述目标功能点的风险值;

45、目标风险区域确定模块,用于基于所述风险值,确定目标风险区域,所述目标风险区域指所述目标软件的代码风险区域,所述目标风险区域用于确定软件测试重点区域。

46、本发明的有益效果:本发明提出的一种迭代缺陷风险评估方法及系统,该方法通过获取目标软件的至少两个目标功能点的迭代风险指标数据,目标软件为正在进行功能迭代的软件,迭代风险指标数据包括目标功能点的多个迭代风险指标的数据;根据预设的项目因素,得到每个迭代风险指标的权重;基于迭代风险指标的权重,对目标功能点的迭代风险指标的数据进行加权处理,以得到每个目标功能点的风险值;基于风险值,确定目标风险区域,目标风险区域指目标软件的代码风险区域,目标风险区域用于确定软件测试重点区域。该方法能够得到目标软件的目标风险区域,即本次迭代过程中产生代码缺陷的风险较高的区域,便于后续相关人员对该区域进行重点关注与测试,以避免出现代码缺陷识别或审查失误等情况。

本文地址:https://www.jishuxx.com/zhuanli/20241204/341673.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。