服务热线

  • 服务电话:0756-3391906
  • 软件测试技术:0756-3391891
  • 嵌入式软件测试:0756-3391732
  • 网络测试技术:0756-3396982
  • 监督电话:0756-3391848
  • 软件业务服务:0756-3391906
  • 网络业务服务:0756-3396981

当前位置: 首页 >> 经典案例 >> 开发过程测试

《财务管控》自动化静态测试及研究分析

    
财务管控》自动化静态测试及研究分析

 

      一、项目概述与背景                             

      珠海南方软件产品检测中心受xx公司委托,采用自动化测试手段与人工分析相结合的方法,对其使用JAVA语言开发的“财务管控V5.4项目进行源代码质量缺陷检查、安全漏洞扫描代码质量度量等静态测试,实现该软件性能和安全性的全面提升。
      二、项目源代码静态测试内容、方法及结果
      本次测试,重点针对影响系统性能和安全性的源代码质量缺陷和安全漏洞开展静态测试。首先组织包括开发人员在内的技术团队,建立提高系统性能和安全性的相关技术指标体系,该指标体系包括三个部分:1、包括资源泄露和性能问题等质量缺陷14大类共计128个技术指标;2、包括没有验证输入和信息泄露等安全漏洞19类共计323个技术指标;3、检查质量风险较高的执行过于复杂的即圈复杂度大于20的方法。然后,采用Klocwork Insight完成源代码质量缺陷检查和代码质量度量;使用Fortify SCA和Klocwork Insight结合进行安全漏洞扫描。
      1、源代码质量缺陷检查部分测试内容及结果:
      本次源代码质量缺陷检查涵盖了资源泄露、释放后使用、性能问题、比较和hash码错误、忽略返回值、可能发生的运行错误、克隆问题、Android问题、struts错误、线程和同步问题、可疑代码、冗余代码、特殊规则和可维护性问题14方面的内容,共检测出2415个质量缺陷。其中释放后使用、忽略返回值、克隆问题、Android问题、struts错误、线程和同步问题、特殊规则、可维护性问题8个方面没有发现质量缺陷,资源泄露方面发现10处质量缺陷,性能问题方面发现1395处质量缺陷,比较和hash码错误方面发现235处质量缺陷,可能发生的运行错误方面发现162处质量缺陷,可疑代码方面发现12处质量缺陷,冗余代码方面发现601处质量缺陷。
      2、安全漏洞扫描部分测试内容及结果:
      本次安全漏洞扫描涵盖了没有验证的用户输入、进程和路径注入、拒绝服务、跨站点脚本攻击、信息泄露、数据注入错误、不合适的错误处理、不安全的代码、序列化应用程序接口问题、弱的封装和弱加密、API误用、代码质量、封装、环境、错误、输入验证及表示、时间和状态19个方面的内容,共检测出665处安全漏洞。其中没有验证的用户输入、进程和路径注入、拒绝服务、跨站点脚本攻击、信息泄露、数据注入错误、不安全的代码、序列化应用程序接口问题、弱的封装和弱加密、API误用、代码质量、封装、环境、错误、安全功能、时间和状态17个方面没有发现安全漏洞,不合适的错误处理方面发现651处安全漏洞,输入验证及表示方面发现14处安全漏洞。
      3、代码质量度量部分测试内容及结果:
      本次软件架构分析及代码质量度量生成了“YGBank”项目的软件架构图,列出了61个圈复杂度大于20的方法。检测中心将软件架构图和圈复杂度大于20的方法提交给送检方。
      三、代码质量缺陷和安全漏洞扫描测试问题结果严重程度理论与用户认可度研究结果

      本次测试结束后,检测中心组织企业开发人员、技术专家和测试人员完成了人工分析和测试结果评估。完成过滤误报结果同时,采用军方业界通用分类标准将测试问题结果按照严重程度划分为十个等级,即对确认测试问题结果进行了理论评估,同时开展了测试问题结果用户认可度反馈评估。具体分级内容和结果见 表1和表2。

代码质量缺陷测试问题结果严重程度理论与用户认可度研究结果列表        表1

 

代码安全漏洞测试问题结果严重程度理论与用户认可度研究结果列表       表2