51Testing软件测试论坛

标题: 在UT和IT中自顶向下和自底向上的区别 [打印本页]

作者: 77go    时间: 2007-4-13 11:36
标题: 在UT和IT中自顶向下和自底向上的区别
在UT中自顶向下和自底向上的测试策略和IT中的测试策略有什么区别?最好能附上例子
作者: shanxi    时间: 2007-4-13 12:26
UI是什么?UT斯达康中国?
作者: tongke    时间: 2007-4-13 12:37
UT,IT=unit test and Integration test UI=user interface UT斯达康
作者: shanxi    时间: 2007-4-13 12:50
上面写错了 是UT
作者: zhangchen    时间: 2007-4-14 22:33
首先应认识到单单就自顶向下和自底向上这两种方法而言的思路是一样的,只是被用在不同的测试过程中。
其区别就在输入的测试用例上:
因为UT是依据LLD来进行的,而IT是依据HLD来进行的。
所以,两者设计测试用例时候的针对点不同。
UT的测试用例针对的是被测单元的具体功能。
IT的测试用例关注的是模块间的接口,接口间的数据传递关系,单元组合后是否实现预计的功能。
作者: zhangchen    时间: 2007-4-16 13:12
前面的弄错了,自顶向下和自底向上在UT和IT中是有区别的。
注意UT和IT的关注重点不同:
UT:注重被测单元本身单元接口,出错处理,局部数据结构,边界条件,独立路径。(即被测单元自身是否错误,先不考虑别的单元)
IT:注重被测单元间的接口和集成后的功能。(即集成,组合后的功能)
因此在使用测试策略时也有区别。
例1:
如果要测试3个函数单元A,B和C,函数A是顶层函数,第二层是函数B和C。
采用自顶向下策略进行UT:(三个步骤分别测了函数A,B,C)
1.为函数A写DRIVER,测试函数A,为函数B和C分别写STUB.
2.用函数A的DRIVER,测试函数B,函数C的STUB仍然保留。
3.函数A的DRIVER,测试函数C.

采用自顶向下策略进行IT:(第一步对函数A和B做集成测试,第二步对函数A,B和C做集成测试)
1.为函数A写DRIVER,对函数A和B做集成测试,为函数C写STUB.
2.用函数A的DRIVER,加入函数C,对函数A,B和C做集成测试.

例2:
如果要测试5个函数单元A,B,C,D和E,函数A是顶层函数,第二层是函数B,C和D,第三层是函数E在函数B下.
采用自底向上策略进行UT:(五个步骤分别测了函数EBCDA)
1.为函数E写DRIVER,测试函数E
2.为函数B写DRIVER,测试函数B,使用下一层已被测试的函数E做桩模块(不需写STUB,直接调用函数E既可,但仍然把其理解为桩)。
3.为函数C写DRIVER,测试函数C。
4.为函数D写DRIVER,测试函数D。
5.为函数A写DRIVER,测试函数A,使用下一层已被测试的函数B,C和D做桩模块。

采用自底向上策略进行IT:
1.为函数B写DRIVER,对函数B和E做集成测试。
2.为函数A写DRIVER,对函数A,B,C,D和E进行集成测试(并行进行)

作者: 77go    时间: 2007-4-23 19:46
谢啦~~~
作者: 追逐日光    时间: 2007-5-14 22:37
标题: 用些代码
zhangchen
            51Testing就业学员


楼主举例子能不能用一些实际的代码来说明下,只是用文字说明,不是好明确,有些牵强
作者: limengyun326    时间: 2007-8-2 16:59

例1:
如果要测试3个函数单元A,B和C,函数A是顶层函数,第二层是函数B和C。
采用自顶向下策略进行UT:(三个步骤分别测了函数A,B,C)
1.为函数A写DRIVER,测试函数A,为函数B和C分别写STUB.
2.用函数A的DRIVER,测试函数B,函数C的STUB仍然保留。


我想问一下:UT中
当函数A测试完毕后,
用A的DRIVER,测试函数B,
那么函数B的输入,以及调用B后的输出与预期输出的比较,在哪里进行?
难道是给A输入参数,用DRIVER调用A,然后在DRIVER里,比较A的输出是否正确???这样好象不像是在测B了吧??

所以对这点比较不明白...

[ 本帖最后由 limengyun326 于 2007-8-2 17:02 编辑 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2