接口功能测试策略
作者:网络转载 发布时间:[ 2013/10/25 15:58:04 ] 推荐标签:
比赛成绩同步接口
『接口功能』:游戏服务器将用户每次的比赛成绩传给平台服务器,平台服务器根据用户的比赛成绩更新此用户的赛事排名,然后存入数据库。
『接口方向』:游戏服务器—>平台服务器
『遵循协议』:HTTPS+XML,请求消息使用Post方式
参数名称 |
参数类型 |
参数长度 |
说明 |
userID |
Int |
10 |
用户i-dong号 |
webKey |
String |
64 |
当前分配给指定登录用户的密钥 |
key |
String |
50 |
接口名称 |
version |
String |
8 |
版本号 |
gymkanaCode |
String |
30 |
当前比赛所参与的运动会,该参数为空说明只是普通用户的比赛 |
sportItemID |
String |
50 |
游戏项目的ID |
sportItemName |
String |
50 |
游戏项目名称 |
sportServerID |
String |
50 |
游戏服务器IP |
matchSystem |
Int |
3 |
竞速跑赛制: 100米:1; 400米:2; 800米:4; 1500米:8; 4×100米:16; |
matchId |
String |
50 |
该场次比赛id |
record |
double |
|
当前用户成绩 (如record=8.123456)。非正常结束比赛时,即isWinner=3或4,如果是单人跑,isWinner=5,record=-1 |
unit |
String |
20 |
成绩单位 |
isWinner |
Int |
2 |
当前用户是否赢了0=输,1=赢,2=未完成,3=主动退出,4=被迫退出 |
competitorID |
Int |
10 |
对手idong号 |
competitorRecord |
double |
|
当前对手成绩,规则同record |
competitorIsWinner |
int |
2 |
对手输赢,规则同isWinner |
starttime |
String |
14 |
开始时间(yyyy-MM-dd HH:mm:ss) |
endtime |
String |
14 |
结束时间(yyyy-MM-dd HH:mm:ss) |
响应消息(sendMessageRes)
参数名称 |
参数类型 |
参数长度 |
说明 |
resultCode |
Int |
5 |
结果返回码,返回42000表示处理成功 |
score |
Int |
11 |
本次得分 |
preRank |
Int |
11 |
赛前积分在赛后的排名 |
rank |
Int |
11 |
积分排名 |
upRankFlag |
Int |
1 |
排名上升:1;排名不变:0;排名下降:-1 |
isUpLevel |
Int |
1 |
经验值是否升级 0 否;1 是 |
exp |
Int |
11 |
本次增加的经验值 |
expLevel |
Int |
3 |
经验值等级 |
designation |
String |
30 |
称号(对应于经验值) |
cPreRank |
Int |
11 |
对手赛前积分在赛后的排名 |
cRank |
Int |
11 |
对手赛后积分排名 |
cUpRankFlag |
Int |
1 |
对手排名上升:1;排名不变:0;排名下降:-1 |
encourageWord |
String |
15 |
鼓励语句 |
此接口比数据查询接口又更加复杂,除了用条件判断和数据查询类接口的策略对此接口进行测试用例设计之外,还需要验证对接口的算法规则进行检查,因为此接口涉及根据用户比赛成绩(record)进行排名然后返回其得分及排名情况(score、rank、upRankFlag、exp),通过对相关数据表中的数据进行查看方式,接口算法规则验证包括:
1)用户胜利、失败、中途主动/被动退出、规定时间内未完成比赛情况下,此场比赛得分(scroe)是否正确;
2)用户比赛成绩比上次成绩花费时间短、长、持平情况下,排名情况(upRankFlag)是否正确;
3)用户比赛成绩处于第一名、后一名、比上次成绩花费时间短/长/持平情况下,用户积分排名(rank)是否正确;
4)用户胜利、失败、中途主动/被动退出、规定时间内未完成比赛,并且用户经验值在各种经验等级范围下,经验值根据得分进行计算的公式是否正确。
逻辑运算接口由于还涉及插入或更新数据库操作,因此测试时还需要考虑数据库特性,如数据精度问题,在MySQL数据库中,如果是浮点型数据,存入时会有精度误差(131072.32插入float(10,2)类型的数据会变为131072.31),因此对于需要用于金额计算、数据统计、成绩比较的数据,好使用定点型。
后服务器接口的测试如果有足够条件的话,还需要通过白盒测试来对接口代码做进一步的测试,通过编写关键代码的测试桩,可以有效查找将字符数组当成字符串使用造成的读越界这类不易通过黑盒测试发现的BUG。接下来的工作是如何通过测试工具来执行服务器接口功能测试。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11