首页 > 编程知识 正文

测试方案和测试策略,测试策略和测试方法

时间:2023-05-03 16:57:07 阅读:162025 作者:3428

平台服务通过接口与客户端交换数据提供各种服务,因此服务测试工作必须首先进行接口测试工作。 测试人员必须通过服务器接口功能测试来确保接口功能的正确实现。 这样,其他测试人员在将客户端和服务器组合起来进行系统测试时,就可以排除服务器接口缺陷导致的客户端问题,使开发人员更容易定位。 以下是个人平台服务器界面功能测试的经验总结。 一.接口测试范围

根据服务测试需求,接口测试范围主要有: 1、新接口测试分为2、增加业务功能接口测试; 3、服务器整体接口测试。 在所需测试接口逐渐增多、测试时间充足的条件下,当然需要对所有接口进行测试用例设计,但如果测试很短,则首先根据用户的典型操作对测试接口进行优先分类,然后频繁进行

二、接口测试策略平台在进行服务器接口测试之前,首先需要整理服务器接口的测试方案,分析接口测试的要点。 平台服务器的接口测试内容主要包括:

接口设计检查

接口用于服务器和客户端的数据交换,客户端通过网络协议传递的数据是服务器接口的输入数据,所以首先在服务器接口文档和客户端数据约束文档中进行交互数据

n整数型数据位数

n浮点型数据精度

n字符串数据范围值

客户端整数类型、浮点类型、字符串数据及其最大值和最小值必须用作服务接口的有效输入。 这些任务可以在服务器设计审阅过程中完成,以防止服务器自动截断或舍入客户端上传的数据。

接口依赖关系检查

从业务处理的角度来看,还需要依赖于涉及各种业务操作的多个接口之间的调用的测试,因为以上策略只是一种接口测试方法,服务器可以在一个操作中调用多个接口来执行

由于接口相关性检查主要通过接口的输出值为其他接口的输入值来实现,因此在进行接口测试之前,要分析要测试的接口的输入值是从客户端还是其他接口的输出中获取的,然后进行测试用例

接口输入/输出验证

服务器接口功能测试与单元测试类似,但在设计测试用例时,重点在于验证接口模块输入和输出项的正确性,并根据连接到服务器接口的处理方式对各种接口进行分类。

第一类:条件判断接口

这样的接口,当接收到请求数据时,基于输入参数进行条件判断,返回相应的结果代码。 典型地,涉及条件确定的接口是诸如用户验证接口、上报状态上报、更改/重置密码的接口。 因此,输入输出项验证的重点主要集中在:

1 )判断条件的验证

为了验证判断条件,需要知道根据哪个输入项目判断接口。 例如,考虑一下密码重置接口。

密码复位接口

《界面功能》:启动用户登录找回密码的操作,用户输入邮箱信息后,游戏中心向平台服务器发送请求,平台服务器为用户随机更新

《界面方向》:游戏中心-平台服务器

《遵从协议》: HTTPS,请求消息使用Post方式

响应消息(sendMessageRes )

此接口根据输入的userID、email参数判断数据的正确性。 (如果key是接口名称,而错误服务器不处理,则version是版本号,其值仅用于记录,不参与判断。 )设计接口测试用例时,首先需要验证接口的判断参数。 这些输入项目不能为空。 然后,利用等价类的划分、边界值方法,求出userID、userID

2 )异常数据的响应

只考虑正常情况,不考虑异常场景不能保证接口功能正常工作。 关于密码复位接口,不存在用户ID,是非法的。 邮箱输入格式错误、用户邮箱信息不存在或不活动是测试时需要考虑的异常情况。 必须设计这样的输入值,检查从接口返回的响应代码,保证响应代码正确,客户端才能根据异常情况显示适当的提示信息。 简单来说,条件判断的接口的测试策略,就是通过判断条件设计各种各样的输入值,验证接口的功能。

第二类:数据查询接口

在接收到请求数据时,这些接口首先验证请求是否合法,然后根据请求项查询数据库中相应表中的数据并将其返回给客户端。 数据查询涉及的界面通常包括用户资料/经验值/赛事信息查询、游戏列表获取、在线人数查询等。 用户经验值查询界面示例:

用户经验值查询界面

“界面功能”:用户登录游戏中心可查询各游戏项目的经验值信息,包括该项目的经验值等级、等级称号、今日经验值上限等。

《界面方向》:游戏中心-平台服务器

“遵从协议”: HTTP XML,请求消息使用Post方式

响应消息(sendMessageRes )

此接口首先基于webkey确定请求是否合法,然后基于请求参数user

ID、isAll、sportItemID来查询数据表中相应数据。除了象条件判断接口一样根据判断项webkey、请求参数userID、isAll、sportItemID设计合法/不合法和正常/异常测试值之外,还需要结合数据库来对查询结果进行验证:
1)是否根据正确的关联数据表进行查询;
2)验证查询结果是否从数据表中正确项中获取,涉及到多表联合查询时,不同表中的相同项设计不同测试数据进行验证;
3)修改查询结果在数据表中对应项中的数据,使其为空值或客户端相应项的范围值的最大和最小值,查看接口输出是否正确。


第三类:逻辑运算接口
      这类接口在收到请求数据之后,会进行一系列逻辑运算,然后根据处理结果更新数据库中的数据,通常涉及逻辑运算的接口有:比赛成绩同步、商品支付、各种数据报表等接口。以比赛成绩同步接口为例:
比赛成绩同步接口
『接口功能』:游戏服务器将用户每次的比赛成绩传给平台服务器,平台服务器根据用户的比赛成绩更新此用户的赛事排名,然后存入数据库。
『接口方向』:游戏服务器—>平台服务器
『遵循协议』:HTTPS+XML,请求消息使用Post方式







响应消息(sendMessageRes)




此接口比数据查询接口又更加复杂,除了用条件判断和数据查询类接口的策略对此接口进行测试用例设计之外,还需要验证对接口的算法规则进行检查,因为此接口涉及根据用户比赛成绩(record)进行排名然后返回其得分及排名情况(score、rank、upRankFlag、exp),通过对相关数据表中的数据进行查看方式,接口算法规则验证包括:
1)用户胜利、失败、中途主动/被动退出、规定时间内未完成比赛情况下,此场比赛得分(scroe)是否正确;
2)用户比赛成绩比上次成绩花费时间短、长、持平情况下,排名情况(upRankFlag)是否正确;
3)用户比赛成绩处于第一名、最后一名、比上次成绩花费时间短/长/持平情况下,用户积分排名(rank)是否正确;
4)用户胜利、失败、中途主动/被动退出、规定时间内未完成比赛,并且用户经验值在各种经验等级范围下,经验值根据得分进行计算的公式是否正确。
   逻辑运算接口由于还涉及插入或更新数据库操作,因此测试时还需要考虑数据库特性,如数据精度问题,在MySQL数据库中,如果是浮点型数据,存入时会有精度误差(131072.32插入float(10,2)类型的数据会变为131072.31),因此对于需要用于金额计算、数据统计、成绩比较的数据,最好使用定点型。
   最后服务器接口的测试如果有足够条件的话,还需要通过白盒测试来对接口代码做进一步的测试,通过编写关键代码的测试桩,可以有效查找将字符数组当成字符串使用造成的读越界这类不易通过黑盒测试发现的BUG。接下来的工作就是如何通过测试工具来执行服务器接口功能测试。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。