如何开展灰盒测试[3]:模块接口类型概述

2010-12-26编程 编程.软件工程

  经过前面几个帖子的铺垫(或许有些网友认为俺是卖关子:),今天开始介绍技术方面的话题。


★关于实现方式


  在前面的帖子里,俺提到过【基于脚本】的灰盒测试。后面聊具体的技术手段时,会侧重于 Python 脚本(这正好可以跟俺写的另一个系列《为什么俺推荐 Python》遥相呼应)。当然啦,为了照顾那些不用 Python 的同学,其它的技术手段,俺也会顺带提一下。
  关于 Python 的版本,(截至到目前)有两个系列:2.x版本 和 3.x版本。这两种版本不但在语法上有一定的差异,而且内置的标准库也有不同。(截止俺写本文时)Python 的开源项目,还是以2.x版本居多,所以俺后续在介绍 Python 脚本实现时,也会侧重于2.x版本。


★各种接口的分类


  由于灰盒测试的技术实现,是一个比较大的话题,涉及面会比较宽。为了保持一定的条理性,避免大伙儿看着看着就迷糊了,俺打算根据模块的接口类型(也就是模块间的交互类型)来叙述。每种类型,单独开一个帖子来具体介绍。

◇根据是否跨进程来分类


  如果从进程的角度来看,交互双方的模块可能在同一个进程,也可能在不同的进程。因此,模块间的交互可以分为“进程内”、“跨进程”两大类(不知进程为何物,请看这里的介绍)。对于进程间的交互,还专门有一个洋文的缩写——IPC

◇根据是否跨主机来分类


  如果从机器的角度看,交互的双方可能在同一个主机,也可能在不同的主机。因此,模块间的交互类型还可以分为“主机内”、“跨主机”两大类。“主机间”的交互,必定也是“跨进程”的。反之则【不然】。
  顺便提一下:如果从耦合的角度来看,跨主机的交互比主机内的交互,耦合低;跨进程的交互比进程间的交互,耦合低。(不知“耦合”为何物的同学,请看这里的介绍)

  由于不存在“跨主机不跨进程”的接口方式,所以上述两种分类维度排列组合之后,有3种可能。每种俺单独开一个帖子,请看:
接口测试实战——跨主机的交互方式
接口测试实战——主机内的跨进程交互方式
接口测试实战——进程内的交互方式


回到本系列的目录