51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6909|回复: 29
打印 上一主题 下一主题

讨论:游戏中商店的测试要点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-31 10:47:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
涉及到货币的测试更显重要,大家要踊跃发言哦。
我先说:
1.购买或者售出是否正常(包括是否会影响到他人货币数据),特别加上括号里的那句,是因为出现过售出自己物品,获得相应货币的同时,他人的货币也增加了相应值。
2.通过抓包工具,查看购买或者售出的接口,看是否有隐藏的接口,现有接口是否有校验。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

30#
发表于 2010-6-12 10:03:04 | 只看该作者
webgame不是很了解,请问关于商店的测试,除了各位上面所说的,不用检验商店相关的忙碌状态么?还是上面的描述中已经包括了。。或者忙碌这块是单独进行测试的?
回复 支持 反对

使用道具 举报

该用户从未签到

29#
 楼主| 发表于 2010-6-3 09:45:22 | 只看该作者
哈哈,大家有什么想补充的,都可以补充啊,我嘛,就整理下~~~~~~~,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

28#
发表于 2010-6-2 12:29:10 | 只看该作者
不行啊...每天想到一点,当wiki来写哈哈,版权给楼主了。
回复 支持 反对

使用道具 举报

该用户从未签到

27#
 楼主| 发表于 2010-6-2 09:55:34 | 只看该作者
此贴到现在能结吗
回复 支持 反对

使用道具 举报

该用户从未签到

26#
发表于 2010-6-1 16:29:22 | 只看该作者
这下了解了
我们的分歧在于是网络安全还是功能检查
举个例子
玩家在距离目标NPC4米内,鼠标左键点击目标NPC,打开该NPC的对话框.超过4米鼠标左键点击NPC不开启NPC对话框.
实现超出NPC有效响应距离可以有客户端检查和服务器端检查.
如果是客户端检查,那么复制客户端给服务器发送的请求打开NPC对话框的包.在游戏中角色站在NPC有效距离之外发送复制包,应该可以打开NPC对话框.
如果是服务器做校验,步骤是客户端发送请求,服务器检查角色和目标NPC不在有效距离内会给客户端发送失败的消息.

每个有检查无效输入的功能都可以用这招测试.
有些关键的检查应该必须是服务器校验的,如果仅仅由客户端检查,漏洞太大,很容易被人利用.而且利用的技术要求不高.

为什么我把这个检查列入功能测试?功能测试的测试用例中输入步骤中会描述测试环境,有效输入还是无效输入,预期结果怎么样.
这样的检查是打破了常规的测试环境,绕过客户端对无效输入的拦截直接给服务器发包检查功能实现的结果.

如果包裹中金钱不够不能购买物品的拦截在客户端,那么直接发送购买的包给服务器.服务器没有对这个作出检查直接执行购买流程,可能会出现金钱数值负数或数值溢出.
回复 支持 反对

使用道具 举报

该用户从未签到

25#
发表于 2010-6-1 15:02:42 | 只看该作者
请息怒,并没有说您错误。
可能是理解上的不同,我的观点在第1次回复的时候已经说明了。使用wpe类似截取封包软件基本是和网络安全有关的,基础的测试上用处并不大。或者说与功能测试关联不大(已经用到了和网络安全相关的工具,那输出造成的结果和本身该系统的功能上出错并非一致。)
回复 支持 反对

使用道具 举报

该用户从未签到

24#
发表于 2010-6-1 14:56:59 | 只看该作者
MAX的WPE操作应该主要应用在功能上(个人观点)不仅仅只是单纯的安全校验。
   因为从他的描述中可以看出,他的做法是使用WPE进行数据封包的截取,但是截取到包并不是修改而是复制和发送,是不是可以看做是对游戏机器人的替代。
游戏机器人的原理就是根据不同模块的功能发送相同的数据包给服务器(欺骗手段),同样是发数据包,只不过机器人是通过客户端的功能模块和接口发送,而WPE是在客户端和服务器之间发送。
   使用WPE的前提应该是客户端功能稳定且已经验证功能已经全部实现。这样发送WPE截取的封包才是“对测试有效”的封包。
   也想顺便问下MAX大哥,你那边是如何判断WPE封包的正确性呢?
回复 支持 反对

使用道具 举报

该用户从未签到

23#
发表于 2010-6-1 14:47:39 | 只看该作者
文本输入容易发生误区的地方:
使用简体中文版的操作系统来测繁体中文软件,容易出现乱码,反之依然。因此如果有必要游戏需要加入字库。
回复 支持 反对

使用道具 举报

该用户从未签到

22#
发表于 2010-6-1 13:36:39 | 只看该作者
文本输入要考虑是否限制输入的字符类型,数字,字母汉字,日期等.是否限制输入长度.是否能使用CRTL+C 和 CTRL+V操作.文化部的屏蔽库内容处理.文本输入考虑SQL注入能否实现攻击.
回复 支持 反对

使用道具 举报

该用户从未签到

21#
发表于 2010-6-1 13:29:54 | 只看该作者

回19楼

我的发言中没有不用截包工具作为前提.
请问你的问题是什么呢?
我说了使用这类工具进行服务器端程序检查的测试,有什么问题吗?我说的有哪些不对的请指出
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2010-6-1 12:47:31 | 只看该作者
补充第八点:(涉及到文本输入的)是否屏蔽了非法字符,以及是否限定了文本长度,数值的上限值,同时检查显示的上限值是否正常,如包裹中物品的叠加数量
增加第12点:物品的数量及金额等信息是否放在服务器处理,如果放在客户端是否进行了加密。
继续讨论,期待补充。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2010-6-1 12:03:44 | 只看该作者
原帖由 maxwell12 于 2010-6-1 10:29 发表
我说的还真不是网络安全方面的测试
是利用发包工具绕过客户端存在的检测,直接给服务器发包.
检查服务器对功能实现时的非法值校验是否齐全.

这种方法是检查功能实现上服务器端对无效类的校验是否正常.而不是网络 ...


恕我无知,请问在不用这些截包工具的情况下,如何才能使客户端向服务端发送非法值?
这些非法值的校验不都是为了防止非法截包、封包软件和外挂的吗?

当然如果直接有客户端的操作,导致非法值的出现,这个过程就是一个bug的表现,测试的成果。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2010-6-1 11:46:55 | 只看该作者
PS:(涉及到页面的)是否兼容不同的浏览器
楼主原来是webgame啊...不过现在的webgame做的很先进,有时候看着webgame然后在看看自己手头的这个我就汗颜了.
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2010-6-1 11:42:49 | 只看该作者
另一个关注点是:物品的叠加,物品,金钱的上限值设定。特别是在阅读策划案中牵扯到物品,金钱没有特别说明的。要注意程序实现过程中是否对上限值和物品叠加做了限制。我不太清楚其他公司的程序,在我工作的过程中我发现一个有趣的现象就是策划只要不写,程序能不实现就不实现(常常让我觉得程序也要多玩玩游戏)。而在交易类的功能策划案中,最容易遗漏的就是各种上限值的限制。例如:玩家一次交易的最大数额和空值——有很多人会想当然的认为最大数额就是玩家金钱的上限值。其实认真来说的话,每次交易的最大数额限制也是一种安全保证——ATM取款机每次最多不能取出XX——既然银行都这么用肯定是有道理的...
另外物品的叠加与相应的金额也要放到服务器去....如果公式是放在客户端而被玩家反编译修改的话...这个...
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2010-6-1 11:20:51 | 只看该作者
个人觉得这些测试中最该关注的,就是数据同步问题。
比如A和B交易,A减少的金钱和B增加的金钱是同步更新的。
实现方法中,调用交易模块的时候,A和B分别在两个客户端输入了数值,点击提交
这时候服务器的逻辑同时处理A和B的数值,在此之后先将处理过的数值发送给数据库服务器进行存储(记录玩家状态),然后再读取数据库中的数值发送给玩家A和B的界面显示。
这样的处理方式,虽然在实现上会产生一定的延迟,但是这种延迟是可以优化和降低,在安全性上,将判断放到服务器端,并先记录玩家的即时状态,使得玩家的客户端只是一种数值变化的表现而真正的变化是在数据库玩家的状态记录下。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2010-6-1 11:00:57 | 只看该作者
...总结了一下,帖子要管理员审核,不知道为什么,也没多长啊,呵呵,管理员赶快审核下吧
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2010-6-1 10:59:55 | 只看该作者
再贴一次
总结了一下,不足之处,大家继续讨论,哈哈。
1购买售出是否正常(包括是否影响到他人金钱)
2购买售出失败后的处理是否正常,如包裹满时的处理
3服务器断线或者不响应情况购买售出处理是否正常
4购买或者售出,后台是否有相关记录
5并发购买或者售出是否正常
6通过抓包工具获得各与商店交互的接口,查看接口是否有经过校验
7(涉及到页面的)是否兼容不同的浏览器
8(涉及到文本输入的)是否屏蔽了非法字符,以及是否限定了文本长度,数值的上限值
9(涉及到限定商店中物品数量限制的)有无物品的情况是否正常
10对商店中涉及到的字段进行检查,特别是物品的特殊属性如不可出售属性
11(涉及到商店中npc的)对npc的字段进行检查
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2010-6-1 10:58:49 | 只看该作者
为啥我回复不了了呢
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-6-1 10:29:18 | 只看该作者
我说的还真不是网络安全方面的测试
是利用发包工具绕过客户端存在的检测,直接给服务器发包.
检查服务器对功能实现时的非法值校验是否齐全.

这种方法是检查功能实现上服务器端对无效类的校验是否正常.而不是网络安全方面的测试.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 21:59 , Processed in 0.080572 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表