南京市产品质量监督检验院 江苏南京 210000
摘要:软件测试是提升软件产品质量的关键环节,由于现阶段软件在产品中的比例越来越多,对软件的检测工作提出了更为严厉的指标。基于此,本文从静态代码的测试角度着手,分析出静态代码测试对软件产品品质的提升,进一步对软件测试在提高软件品质层面进行思考。
关键词:静态测试;软件质量;源代码
软件测试是确保软件品质的重要方法之一,并且随着信息技术的发展其在确保软件品质方面产生的作用越来越难以忽视。静态代码测试手段与动态代码测试手段相比,静态手段能够比较早的考试测试,并且在测试进行中所产生的代码漏洞可以进行较好的定位。静态测试还能够人工进行并能够通过静态检测设备自动检测。研究显示,在代码超出一百行时,出现了软件解决难度与解决代价倍数增加的情况,利用静态检测设备能够对检测时间进行有效节省,减少检测成本。
静态代码测试技术概述
静态代码检测需要在代码不运行的状态下进行,获得程序相关的信息,将其中与编码标准不相符的部分和程序里的漏洞等进行输出,为程序员改正源代码提供便利。一切不用操作代码并对代码实行分析的设备开展的环节都属于代码静态测试。这部分设备能够避免遗忘一些简单的问题,但是,静态代码检测并不能检测出程序中全部的问题。静态检测设备没有在程序中检测出问题时也不能确定代码中不存在错误,只是代表程序中不存在一些明显的问题。随着现代信息技术的进步,出现了非常多的静态检测工具[1]。
图1 软件测试工具分类图
如图1
静态代码测试提升软件产品质量的局限性
现存的静态代码检测设备都有一个共性问题,即出现的无谓信息过多,特别是会出现特别多的错误报告。这只是其中的一点问题,程序中可能实际没有这项错误,但进行了静态检测后却出现了报告。误报数量如果太多会给软件的工作造成很大的困扰,错误报告的内容普遍比较长,这一环节既耗费人力又耗费时间,但为了避免漏掉潜在的程序问题一定要进行阅读查看。错误报告虽是繁琐磨人的但就安全层面来看,遗漏情况更加严峻。若是程序里含有错误,但静态检测设备没有检查出这个错误,就会出现漏报情况。为了弥补这一失误,工作人员要拿出非常多的精力和时间对报告列表进行重新检阅,但漏报所产生的代价远远地超出了这些。漏报会营造出一种虚假安全的表象,这种现象是通过漏报分析问题的检测设备产生的,它将代码的整体维护的一切顺利,但实际确不是这样,问题依旧存在[1]。
静态代码软件测试对提升产品质量的作用
准则是软件检测环节的根本要求,并且将准则当做根本能够给予工作人员充分的想象空间,目前的静态软件检测还需要从以下几方面进行加强。
增强软件每个检测验收环节得到审核工作,保证检测工作的适用性。
增强对软件的文件审核研究水平,运用反向工程手段,将下一层文件的作用阐述进行组合,观测可否能够复制上层文件的需要,进而能够推测出性能分化中是否有多余、缺少和不准确的部分来增强软件的设计质量。
了解静态代码检测、代码的审核设备的特点,流利掌握检测设备的操作流程,进而能够在规定的时期里更加完美的发现软件代码的标准问题,去除掉动态监测无法找出的会给软件品质带来威胁因素的软件问题。
增强对软件源代码和软件设计文件统一性的检测,拒绝设计功能展示不完全的问题,要充分设计软件所需的各个功能,实现文件与实际统一,每部分的代码操作都有可靠的依据,其次,要加强软件的开发准确性,降低软件延伸或镀金为程序带来的不稳定诱因。
要抛开以往的测试思维,不光要遵循规定对每条进行检验,还要依照经验利用猜错的手段检验软件是否附加的性能,通常那些附加功能会使系统的解决问题功能和宽带受到影响,严重的话还会导致系统发生崩溃问题。
注意软件的故障树建设,通常来讲软件的问题产生都具有蝴蝶效应,一个微弱的问题都会造成极严重的损失。建设软件故障树,利用其展现小的缺点会造成的大型危害来提醒人们对细节问题的关注程度,及时处理软件存在的问题,对其具有重要的现实意义。
要多多对仿真数据和现实数据进行积累,通过运营积累的仿真数据及现实数据不光能够模仿出特别环境中检验软件的分析能力,还有利于借助这些现有数据对软件分析的结果的准确性进行判断,提高其在行业里的权威性。
成立具备专业领域检测特点的软件测试配置设备和系统检测设备,就现阶段的动态代码检测设备来讲,因为其估计到了各个领域专业的兼容性,致使设备在进行具体行业代码测试时出现的了不便,配置变得繁琐并且具体领域所具备的功能其并不能提供。基于此种情况可以与公司软件测试特征相结合,自己公司的工作人员自行进行软件测试自动化的实施、文件监测数据的生成,加强软件测试的效率和适用性[2]。
提高对软甲计算时间繁琐程度和空间繁琐度的评估,统计软件计算时间和空间复杂度既可以帮助软件解决算法出现错误的情况,也可以实现对算法的改进,提高算法的运用效率,进一步极强系统的稳固性与牢靠性。
结束语
综上所述,由于现代信息技术的进步,软件在我国各个行业中的使用越来越广泛,软件系统的安全性作为现金计算机行业的一个热门话题逐渐受到重视,动态软件测试是检查软件产品合理性的重点途径。静态代码测验是静态检测中的一种手段,因为其具备非常多的优点得到了人们的广泛利用,成为了科研人员和各个软件集团分析的核心。因此,基于源代码的静态分析成为了非常有价值的分析方向。静态测验分析与动态分析相比不需要进行检测程序的运行,可以在开发的初期阶段检查出程序中存在的问题及时指导工作人员进行改进。
参考文献
[1]罗琴灵.基于静态检测的代码审计技术研究[D].贵州:贵州大学,2015.
[2]李晓南,范明钰,王光卫.基于静态检测工具的源代码安全缺陷检测研究[J].计算机应用研究,2011,28(8):2997-2998,3021. DOI:10.3969/j.issn.1001-3695.2011.08.054.
[3]竟银行.一种基于本体的Java静态安全检测工具的优化与实现[D].北京:北京大学,2011.
[4]褚蕾.基于静态源码分析的软件安全测试技术研究与实现[D].四川:电子科技大学,2010. DOI:10.7666/d.Y1802594.