谈谈接口集成测试

我们开发中经常碰到这种情况,调用第三方软件包,或者调用底层提供的api等等。在分层开发中最容易引起争议了,比如做web层和业务层之间。到底在集成测试中应该由谁来负责测试呢?并且测试的范围是怎么划分?

 

比如业务层提供一个接口给web层,如下:

 

/**

 *   a 为 0~15的整数

 *   b 为 1~7的整数

 */

int   doService(int a ,  int b);

 

 

利益相关者争议如下:在集成测试中web层的开发人员是否要负责测试doService后面逻辑的正确性呢?

 

部分开发人员认为他们不保证doService后面逻辑的正确性,理由如下:

1、  只对自己的代码负责

2、  根据接口定义,只负责传入的参数正确就可以了。

3、  违反信息隐藏的原则

 

 

项目经理认为应该由web层开发人员负责测试,理由是以结果问导向。

 

如果你是不同的利益相关者,你认为应该由谁负责呢?

[quote]项目经理认为应该由web层开发人员负责测试,理由是以结果问导向。[/quote]

个人觉得web开发人员基本的测试还是要做,但不能完全由web层开发人员负责测试。

建议定义接口时大家约定好,web开发人员在一定范围内进行测试,只要这部分测试通过就行了,但是完全承担测试任务是不合理也是不现实的。

补充一句,如果由于技术等原因,
int doService(int a , int b);
逻辑的测试必须依赖于web,那么这时的集成测试也应该是业务编写人员为主导,web开发人员辅助完成,不能业务编写人员把测试用例编好了扔给web开发人员。