软件测试阶段之单元测试_软件测试单元测试

8 是否存在与当前入口点无关的参数引用;

9 是否修改了只读型参数;

10 对全程变量的定义各模块是否一致;

11是否把某些约束作为参数传递。

如果模块内包括外部输入输出,还应该考虑下列因素:

1 文件属性是否正确;

2 OPEN/CLOSE语句是否正确;

3 格式说明与输入输出语句是否匹配;

4缓冲区大小与记录长度是否匹配;

5文件使用前是否已经打开;

6是否处理了文件尾;

7是否处理了输入/输出错误;

8输出信息中是否有文字性错误;

检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。

局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:

1 不合适或不相容的类型说明;

2 变量无初值;

3 变量初始化或省缺值有错;

4 不正确的变量名(拼错或不正确地截断);

5 出现上溢、下溢和地址异常。

除了局部数据结构外,如果可能,单元测试时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响。

在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。此时基本路径测试和循环测试是最常用且最有效的测试技术。

计算中常见的错误包括:

1 误解或用错了算符优先级;

2混合类型运算;

3变量初值错;

4精度不够;

5表达式符号错。

比较判断与控制流常常紧密相关,

测试用例还应致力于发现下列错误:

1不同数据类型的对象之间进行比较;

2错误地使用逻辑运算符或优先级;

3因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;

4比较运算或变量出错;

5循环终止条件或不可能出现;

6迭代发散时不能退出;

7错误地修改了循环变量。

一个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,

测试应着重检查下列问题:

1输出的出错信息难以理解;

2记录的错误与实际遇到的错误不相符;

3在程序自定义的出错处理段运行之前,系统已介入;

4异常处理不当;

5错误陈述中未能提供足够的定位出错信息。

边界条件测试是单元测试中最后,也是最重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。

(3)单元测试过程

一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试。测试用例的设计应与复审工作相结合,根据设计信息选取测试数据,将增大发现上述各类错误的可能性。在确定测试用例的同时,应给出期望结果。

应为测试模块开发一个驱动模块(driver)和(或)若干个桩模块(stub),下图显示了一般单元测试的环境。驱动模块在大多数场合称为“主程序”,它接收测试数据并将这些数据传递到被测试模块,被测试模块被调用后,“主程序”打印“进入-退出”消息。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

]
[外链图片转存中…(img-NbwC5xV1-1719282494422)]
[外链图片转存中…(img-8jB0svWZ-1719282494422)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值