码迷,mamicode.com
首页 > 其他好文 > 详细

功能测试用例深入设计_花样案例汇总

时间:2017-08-31 17:13:50      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:tab   xxxx   sig   images   场景   数据   来源   技术   加密   

一些定义:

客户端:安卓版app,IOS版app

服务器端:服务器服务范畴内的所有服务(不含数据库,不含nginx,不含防火墙)

接口文档:特指客户端和服务器端的接口文档(两个部门开发协商后的产物)

 

案例一、客户端行为与接口文档中某接口的极度隐晦关系

客户端结构:一层外壳Demo(有游戏,社交软件等),内部支付SDK(被外壳包围,需要支付时调用该SDK)

Demo
SDK

 

 

 

 业务交互场景:

1、DemoA把一个加密后的token传递给服务器端,其中token=md5("DemoA的包名":"com.demoA"+私钥:‘ABCDEF123‘)

2、SDK主动获取DemoA的包名定义为一个变量  sdk_getDemoA_packageName(注意,这里sdk_getDemoA_packageName可能与com.demoA相等或不相等)

3、SDK会把Demo的token和sdk_getDemoA_packageName传递给服务器端

4、服务器端得到2个变量值token和sdk_getDemoA_packageName,服务器端使用"公钥“:"321FEDCBA"对Token进行解密,等到"DemoA的包名":"com.demoA"。用com.demoA与sdk_getDemoA_packageName进行是否相等对比?对比结果=“相等”,则允许客户端继续XXXXX,对比结果≠“相等”则阻止客户端继续XXXXX;

协议:

技术分享

 

 接口测试:

 TC_1、会给App.Package写一个真实存在的值Value_Pa,给App.Sign写一个 MD5(Value_Pa+“ABCDEF123”)值,请求时把2个参数传递服务器,服务器判断App.Package与App.Sign“相等”,验签成功;

 TC_2、会给App.Package写一个真实存在的值Value_Pbbb,给App.Sign写一个 MD5(Value_Pa+“ABCDEF123”)值,请求时把2个参数传递服务器,服务器判断App.Package与App.Sign“不相等”,验签失败;

 功能测试:

TC_1、符合登录条件,登录成功;

TC_2、账号错误,密码错误,验证码错误,账号被冻结,登录失败;

阐述极度隐晦关系的形成原因:

1、接口测试的时候很自然的会忽略掉App.Package,App.Sign的真实来源,只会按照测试用例直接进行赋值并请求接口,这是忽略App.Package描述的第一个情况;

2、功能测试的时候,更多参考的是有UI的需求文档,且由于没有明显的界面可见App.Package,Value_Pa,只能通过日志查看,且日志内容项极多事,会忽略App.Package,Value_Pa的真实来源,这是忽略App.Package描述的第二个情况;

3、很大可能是,做功能tester和做接口tester不是同一个人,他们之间没有太多交流。甚至功能测试工程师根本就不关心这份接口文档的存在。

So,功能测试用例应该补充用例TC_3、用户登录符合登录条件,但App.Package和App.Sign在服务器端验签失败,登录失败

解决方案:1、所有测试都看接口文档和需求文档;2、客户端开发和服务器端开发出交互文档,详细描述输入与输出之间关系,供tester参考测试;3、tester看客户端和服务器端代码。。。

 

案例2、期待ing... ...

功能测试用例深入设计_花样案例汇总

标签:tab   xxxx   sig   images   场景   数据   来源   技术   加密   

原文地址:http://www.cnblogs.com/kuzaman/p/7458649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!