
冯济舟·对软件测试技术常见误区的一些思考
对软件测试技术常见误区的一些思考孔径阵列与空间探测安徽省重点实验室冯济舟
摘要:近年来,随着软件软件规模和复杂度不断提高。作为保障软件质量的重要活动,软件测试技术提出了更加苛刻的要求。本文根据实际项目经验,分析了软件测试技术中存在的误区,归纳和总结出解决方法。
关键词:复杂度软件测试误区
引言
软件测试是能力成熟度模型集成(Capability Maturity Model Integration, CMMI )中验iE ( Verification ) 与确认(Validation)过程域的重要表现形式,是保障软件可靠性的重要手段。近年来,随着软件规模和复杂程度的不断提高,软件测试技术也不断发展,软件测试已成为除了评审手段外软件质量保证的重要活动[-2]。在如今各个软件项目重视软件测试过程,增加软件测试人力资源的同时,受测试门槛认识及测试人员未经过系统培训的影响,未能及时发现软件测试技术上存在的误区,导致影响软件测试质量,给产品可靠性带来巨大隐患。本文根据实际工程经验,归纳和总结了软件测试技术常见的误区,提出了解决方法,有助于增强测试人员对软件测试技术的正确认识,对软件测试顺利、有效地进行具有积极意义。
1软件测试方法常见误区
1.1静态分析和代码审查无区分
对于代码审查和静态分析的概念混淆,认为代码审查和静态分析的结果都是一样的,没有区别。
代码审查是指检查代码和设计的一致性、代码
执行标准的情况、代码逻辑表达的正确性、代码结构的合理性以及代码的可读性。代码审查一般查找的是命名规则是否遵循编码规范,代码格式是否符合编码规则。而静态分析是一种对代码的机械性和
程序化的特性分析方法,一股需进行控制流分析数据流分析、接口分析和表达式分析。其中控制流分析是通过控制流程图按照结构化程序规则及程序结构要求,进行的系统地控制结构工作的检查。数据流分析是用控制流程图来分析数据发生的异常现象,如初始化、赋值或者引用过程中引起的异常。接口分析是指程序与单元之间的接口一致性,单元与外部接口之间的一致性检查。表达式分析主要递免与计算相关的错误,如表达式中运算符优先级、括号使用、数组下标表达式异常、除数分母为零,浮点数做相等比较、浮化整时的溢出以及被平方根数小于零等。
因此在审查过程中,涉及到多个因素之间逻辑、结构关系上出现的问题属于静态分析问题,而只涉及到单个因素本身出现的问题属于代码审查问题。 1.2打桩和插桩的概念不清
在测试过程中偶尔会遇到打桩和插桩的概念,但由于这两个概念使用频率不高,接触不多,造成不理解打桩和插桩的具体含义和做法。
打桩是指通过编写或生成桩代码来代替关联代码或未实现代码的方法。打桩主要应用于隔离、补齐和控制三种情况下。所谓隔离是指将测试任务从产品项目中分离出来,使之能够独立编译、链接和运行,通过打桩,将测试任务之外的并与测试相关的代码,用桩代码替代,从而分离了测试任务;所
双月刊/总第265期|45