接口测试设计浅谈

接口测试时属于灰盒测试,是功能测试一种,但是它要求测试工程师熟悉代码,同时还需了解系统设计和接口定义。

API定义

名称                                          访问规则                                  描述

api_trade                               须用户访问                            新增单个评价

 

名称                                             类型                                     描述

Tid                                             String                                交易ID

Oid                                            String                               子订单ID

Result                                       String            评价结果,可选值:good(好评),neutral(中评),bad(差评)

Role                                           String              评价者角色,可选值:seller(卖家),buyer(买家)              

Content                                     String        评价内容,最大长度:500个汉字。注意:当评价结果为good时就不用输入评价内容。

Anony                                        String         是否匿名,卖家评不能匿名。可选值:true(匿名),false(非匿名)。注意:输入非可选值将会自动转为false

 

 

返回描述

名称                                           类型                                      描述

Tid                                           String                                  交易ID

Oid                                          String                                  子订单ID

Created                                    Date                       评价时间。格式:yyy-MM-dd  HH:mm:ss

 

开发工程师会对这些函数或接口进行定义,描述它的功能、参数列表以及各参数的含义。

 

 

等价类划分设计测试用例

编号              参数名称               有效等价类                                                             无效等价类

A                     Tid                    A1:{正确交易id}                                                  ~A1:{错误交易id}

B                     Oid                   B1:{正确子交易id}                                               ~B1:{错误子交易id}

C                     Result              C1:{"good"};C2:{"neutral"};C3{"bad"}          ~C1:{"others"}

D                     Role                 D1:{"buyer"};D2{"seller"}                                ~D1:{"others"}

E                     Content           E1:{0<len<500};E2{len=0};E3{len=500}        ~E1:{len<500}

F                     Anony              F1:{"true"};F2{"false"}                                     ~F1:{"others"}

 

根据等价类设计测试用例的原则

如下:

1.为每个等价类规定唯一编号

2.设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,直到所有的有效等价类都被覆盖为止

3.设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,直到所有的无效等价类都被覆盖为止

按照以上原则,可以得到如表3所示的测试用例设计

表3 改进等价类划分的测试用例

用例编号                          用例组合

1                                  A1B1C1D1E1F1

2                                  A1B1C2D1E1F1

3                                  A1B1C3D1E1F1

4                                  A1B1C1D2E1F1

5                                  A1B1C1D1E2F1

6                                  A1B1C1D1E1F2

7                                  ~A1B1C1D1E1F1

8                                 A1~B1C1D1E1F1

9                                  A1B1~C1D1E1F1

10                                A1B1C1~D1E1F1

11                                A1B1C1D1~E1F1

12                                A1B1C1D1E1~F1

在运用改进等价类划分进行测试用例设计后,测试用例设计仍然可能存在主要逻辑的遗漏,这是因为我们在进行测试用例设计的时候并没有考虑参数间的关联关系。例如:参数Content的描述为:“评价内容,最大长度:500个汉字。注意:当评价结果为good时就不用输入评价内容,评价内容为neutral/bad时需要输入评价内容。”这时,可以发现参数Result的内容与参数Content之间存在关联关系。因此,我们需要对参数间的关联关系进行分析,来完善我们的测试用例。根据因果图法分析,可以定义如下的原因和结果:

原因:

1——Result为"good"

2——Result为"neutral"

3——Result为"bad"

4——Content为""

5——Content为"something"

6——Role为"buyer"

7——Role为"seller"

8——Anony为"true"

9——Anony为"false"

结果:

21—{"traderate_add_resopnse":{"trade_rate":{"created":"2009-10-20 15:53:27","tid":"2230736795","oid";"2230736795"}}};

22—{"error_rsp":{"code":581,"msg":"Rate service and error:中评或差评必须填写评价内容"}}

23—{"error_rsp":{"code":570,"msg":"Rate service and error:中评或差评必须填写评价内容"}}

根据以上分析画出因果图,这里不再画出,根据因果图很容易看到如下3条因果关系

3、4、11(A1B1C2D1E2F1) 结果为22

2、4、11(A1B1C3D1E2F1)结果为22

7、8(A1B1C1D2E1F2)结果为23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值