软件测试的艺术(原书第3版)
上QQ阅读APP看书,第一时间看更新

3.3.6 接口错误

1.被调用模块接收到的形参(parameter)数量是否等于调用模块发送的实参(argument)数量?另外,顺序是否正确?

2.实参的属性(如数据类型和大小)是否与相应形参的属性相匹配?

3.实参的量纲是否与对应形参的量纲相匹配?举例来说,是否形参以度为单位而实参以弧度为单位?

4.此模块传递给彼模块的实参数量,是否等于彼模块期望的形参数量?

5.此模块传递给彼模块的实参的属性,是否与彼模块相应形参的属性相匹配?

6.此模块传递给彼模块的实参的量纲,是否与彼模块相应形参的量纲相匹配?

7.如果调用了内置函数,实参的数量、属性、顺序是否正确?

8.如果某个模块或类有多个入口点,是否引用了与当前入口点无关的形参?下面PL/1程序的第二个赋值语句就存在这种错误:

figure_0039_0015

9.是否有子程序改变了某个原本仅为输入值的形参?

10.如果存在全局变量,在所有引用它们的模块中,它们的定义和属性是否相同?

11.常数是否以实参形式传递过?在一些用FORTRAN语言编写的程序中,诸如figure_0039_0016的语句是很危险的,因为如果子程序SUBX对其第二个形参进行赋值,常数3的值将会被改变。