APP下载

软件代码测试技术

2015-05-13

信息通信技术 2015年3期
关键词:故障检测

北京邮电大学网络与交换技术国家重点实验室 北京 1000876

概述

软件测试技术可以从多种角度进行分类,如按开发阶段可分为单元测试、集成测试、系统测试、确认测试和验收测试,按是否需要程序执行可分为静态测试和动态测试,按是否需要源代码可分为白盒测试和黑盒测试,按程序运行特性可分为功能测试和性能测试,按功能测试类型可分为逻辑功能测试、安装卸载测试、易用性测试、兼容性测试、安全性测试、图形界面测试等,按性能测试类型可分为一般性能测试、压力测试、负载测试、稳定性测试,另外,还有回归测试、冒烟测试、随机测试等等。基于以上测试分类,对于白盒测试可根据是否需要程序运行进一步划分为静态白盒测试和动态白盒测试。

静态白盒测试主要包括缺陷检测技术、规则审查技术和质量度量技术。缺陷检测技术针对源代码中存在的一些潜在语法或语义错误进行检测,如对可能为空的指针进行解引用、对已分配的内存没有及时释放、使用未经过初始化的数据等问题,其难点在于需要准确地计算出复杂的执行语义,典型的工具有Klocwork的Klocwork Insight[1]、Coverity的Coverity Static Analysis[2]、Fortify的Static Code Analyzer[3],GIMPEL SOFTWARE的PC-Lint[4]、北邮的DTS[5]、北航的QESAT[6]和北大的COBOT[7];规则审查技术针对一些特定的开发规范进行检查,如版式规范、命名规范、书写规范等,该技术在语法层面上进行检测难度不大,典型工具有Parasoft的Jtest和C++test[8]、Rational的Software Analyzer[9]、MicroFocus公司DevPartner中的Source Code Review[10]功能、Telelogic公司Logiscope中的RuleChecker[11]功能和马里兰大学的FindBugs[12];质量度量技术首先定义若干个度量元,通过度量元的组合形成质量标准,最后通过组合质量标准形成质量因素,该技术也是在语法层面展开的,典型的工具是Telelogic公司Logiscope中的Audit功能。……

登录APP查看全文

猜你喜欢

故障检测
故障一点通
奔驰R320车ABS、ESP故障灯异常点亮
小波变换在PCB缺陷检测中的应用
故障一点通
故障一点通
故障一点通
江淮车故障3例