关于模块接口的笔记

桩模块与驱动模块的区别


桩顾名思义就是相对底层的东西了,测试上层的函数的时候,由于被测函数需要调用到相对底层的一些函数,当底层函数比较复杂时,就可以考虑自己做一个简单的被调用函数来替换原来的底层函数,前提是不会太大的影响你要测试的代码;驱动函数就是要用来做火车头的,当被测函数不能直接运行时,就需要一个驱动其运行的函数,比如说main(),或者别的可以将这个函数运行起来以便于你来测试的函数。
补充一下,桩函数中要包括被替换函数多种参数值,这样复用率要高一些;而驱动单元就像是主控函数,他将预定义的参数传给被测函数,并接受被测函数的返回值与预期结果相比较,并且返回成功或失败的提示给测试员.


纵观模块之间的接口,我们可以归纳为以下几种类型,下面一一介绍一下

1、通信协议:两个模块之间通信采用的是标准的或者自定义的(网络)协议;

2、调用关系:模块A调用模块B,实际上是由模块A向模块B发出了一条控制指令,这里数据传递体现的不是很明显,往往体现为参数与返回值,它们可以认为是控制的副本。
3、文件、数据库、队列、第三方中间件等:表现的主要是数据的传递,其中的控制体现的不明显。 领测软件测试网

4、共享资源:比如共享一段“存储区域”,其中涉及的关键资源主要是“锁”了;这样的两个模块在运行时往往分布到不同的进程或者线程中,表现为对资源的竞争,以及数据的共享。

5、同步:一个模块的运行需要另外一个模块的触发,双方往往存在“信号”等通知机制,也可以理解为一种特殊的控制方式。

猜你喜欢

转载自loveitrose.iteye.com/blog/1599411