菜鸟笔记--软件测试

软件测试的基本方法:代码审查;文档审查;自动化静态测试技术;黑白盒测试技术
1:代码审查:SFRACAS系统
2:文档审查:完整性,一致性,正确性(软件需求规格说明,软件设计文档)
3:自动化静态测试技术:
静态分析策略:基于模式(基于规则)的静态代码分析
程序的静态结构分析
代码度量计算
1:基于模式(基于规则的静态代码分析)
指纯粹依靠扫描代码并检查其中是否含有已知会带来缺陷或者会影 响代码可重用性或灵活性的模块。
常见误区:编码规则制定过于严格,检查结果报误率很高
过早开始规则检查会耽误编码时间
编码规则妨碍了编程人员的灵感
静态规则检查只要做一次就够了
2:程序的静态结构分析
主要以图形的方式表现程序的内部结构,常用的有控制流分析,数据流分析,接口分析以及表达式分析。
控制流分析:使用控制流图(CFG)系统地检查被测程序的控制结构的工作
对源代码的分析要检查以下主要内容:
转向并不存在的语句标号
没有使用的语句标号
没有使用的子程序定义
调用并不存在的子程序
从程序入口进入后无法达到的语句
不能达到停止语句的语句
结构化编程验证
不可达代码检查
数据流分析:
用数据流图来分析数据产生异常的情况。这些异常包括被初始化,被赋值或引用过程中/被引用过程中行为序列的异常
流程是:先建立数据流图,然后在数据流程图中标注某个数据对象的操作序列,遍历数据流图,形成这个数据对象的数据流模型,并给出这个数据对象的初始状态,利用数据流异常状态图分析数据对象可能的异常。
接口分析:主要用于程序静态分析和设计分析。接口一致性的设计分析涉及模块之间接口的一致性以及模块和外部数据库之间的一致性。
程序的接口分析涉及子程序以及函数之间接口一致性,包括检查形参与实参类型,个数,维数,顺序的一致性,当子程序之间的数据或控制传递使用公共变量块或全局变量块时,也应检查他们的一致性。
表达式分析:主要包括以下内容
程序中括号的使用不正确
数组引用错误
数组下标越界造成的错误
作为除数的变量可能为零
作为开平方的变量可能为负
作为正切值的变量可能为圆周率的一半
最复杂的一类表达式分析是对浮点数计算的误差进行检查,由于使用二进制数不能精确的表示十进制浮点数,常常使得结果出乎意料。
关于浮点数的用法注意:
不是所有的浮点数都能在计算机中用二进制形式完全表示
计算机在对浮点数进行运算时,很可能会产生舍入和切断
在有些计算机结构中(Intel IA32),处理器有特殊的浮点寄存器,采用80位的扩展精度,这比存储器中的32位单精度和64位双精度表示的浮点数据要精确许多,但是数据在这两种存储器之间进行转换时会存在较大的误差
并非所有的浮点比较都会出现误差,但是参与运算后的浮点数比较容易出现误差
相关的浮点数规则(MISRA c标准):
不允许对浮点数进行相等或者不相等的比较,即使是非直接的比较也时不允许的,例如
float32_t x,y

if(x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值