单元测试等价于白箱测试吗?
作者:网络转载 发布时间:[ 2014/7/22 15:34:05 ] 推荐标签:
单元测试 = 白箱测试? 这是很多人的想法. 一听到白箱测试, 认为他是单元测试. 或者认为单元测试时, 是要用白箱测试的方法来进行.
事情是这样吗? 让我们继续看下去:
当我们要测试这个程序时
Stack push(Stack s, int key)
你会怎么测试呢? 你可能会考虑以下几种状况
(1) 空的 stack, 第一次 push
(2) 不是空的 stack, 然后 push 东西
(3) stack 是满的, push 个东西看会不会有问题
(4) 不是空的 stack, 然后 push 一个字符
(5) 不是空的 stack, 然后 push 一个指标
你所做的大多是根据程序思考逻辑, 或者是根据输入的值域来做参考, 来建立测试个案.
这些方式其实都是黑箱测试(用到了 use case testing 和 Equivalence Class Testing等方法, 可自行去网络上找详细介绍), 也是不管程序内部如何被实作. 只根据行为和输入值域来开立测试.
那真正的白箱测试会是怎么进行呢?
基本上, 可以测试的状况有无限多种. 而白箱测试是要根据程序内容来决定要怎样挑小可测试的集合.
那程序内有甚么东西, 可以让我们来做挑选的判断呢? 一般常见的是根据程控逻辑. 例如: 是否经过所有的叙述(statement); 是否经过程序所有分支等等.
如果以经过所有的叙述为例, 对于下面的程序
01: Stack push(Stack s, int key)
02: {
03: if(isFull(s)){
04: printf("Stack is full !!
");
05: }else{
06: s.top = s.top + 1;
07: s.element[s.top] = key;
08: printf("Success push %d in the Stack
", key);
09: }
10: return s;
11: }
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11