接口测试是项目测试的一部分,它测试的主要对象是接口,是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递和控制管理过程预计系统见的相互依赖关系等。
最近测试了下Service层接口测试,总结了下接口测试用例类型,大致有三种测试类型:
1.接口逻辑测试
如果要保证接口测试的顺利进行,开发人员JavaDoc的输写定不可少,如何测试 JavaDoc这里并不讲述,这里主要讲根据JavaDoc来编写测试用例,一般情况下JavaDoc需要包含前提条件,业务逻辑,输入参数,输出值的描述,在接口逻辑测试中主要是根据所描述的业务逻辑,进行用例的设计,主要目标是测试在正常输入的情况下能得出正确的结果,测试用例的设计方法跟黑盒测试差不多,主要运用等价类,边界值两种方法。
2.出错测试
接口逻辑的测试中主要测试的是正常逻辑,即对外提供的接口服务是能够工作的,但是这是这些测试不能保证数据的安全,及程序在异常情况的逻辑正确性,因此需要测试出错测试,主要包括以下几个方面:
1)空值输入,如当传入一个对象参数时,需进行NULL值的参数
2)参数属性的测试,如果输入一个未赋值参数
3)异常的测试,制造一些异常的测试场景,测试的异常描述是否清晰
4)另外如参数个数,参数类型(如int型输入String的参数)的出错测试,由于IDE本身就会报编译出错的信息,这里可以不做测试用例的设计。
3.路径测试
经过了上述处理后,单个的接口服务已经得到了保证,但是在业务流中是否满足了业务需求其实还是没有得到保证,路径测试的目的就是设计尽可能少的用例,来保证各种业务场景下数据是安全可操作的。路径测试用例例子如下:
这里的测试用例有:
1.ABC
2.ABD
3.AE
4.AFG
如果考虑到A这条路径不只一个测试接口可以操作,可在上述用例的基础上再增加以下用例:
5.A’BC
6. A’BD
7. A’E
8. A’FG
如果C,D路径等有多个接口可以实现,也可以根据这种方法增加用例,达到路径的覆盖,但是此种路径的覆盖组合会非常多,因此在实际的情况下需要根据实际业务场景进行设计,如A’BC这个路径,在现实的业务逻辑中可能是不存在的,这里就无需列出来了。
一个很好的webservice测试过程应该是建立在前期丰富的需求讨论和文档测试的基础上。需求讨论的越充分,后期接口架构的改动越小;文档测试的越充分,接口的质量会更高。通过本文介绍,我们可以了解接口测试的几种用例类型,希望能对你有所帮助。