51Testing软件测试论坛

标题: 【从黑盒到灰盒】如何测试上限值? [打印本页]

作者: 牛亦喜    时间: 2010-4-7 10:44
标题: 【从黑盒到灰盒】如何测试上限值?
昨天有个同行问我,联盟可容纳100人,如何测试这个上限。我提供了2种方法:

1.修改100人为10人。测试10人上限通过后,再修改回100人,再测试10人后仍可容纳第11人。

2.编写脚本实现向数据表中插入大量数据。联盟的创建和前几个成员手工添加,脚本插入90条左右,再手工添加和检查边界。

其实还有第三种,就是

3.全手工添加成员至100人左右,做边界检查。

看上去3是最耗费人力和时间的,但风险却是最小的,能力要求也低。

毕竟由测试方法1和2带来bug遗漏也有听说。这种遗漏必须要QC加强跟进和做好全面的边界检查来尽量避免。

看上去2是最有技术含量的,但风险也最大,要求QC所具有的权限也最大。

综上,测试方法的采用,既要权衡人力时间能力,也要权衡质量风险。为了追求技术含量而降低质量风险控制,是大忌。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiaoanlu/archive/2010/04/07/5457071.aspx
作者: maxwell12    时间: 2010-4-7 11:07
如果把数值再放大,我倾向于用方法1或方法2.因为方法3的人力成本过大
作者: maxwell12    时间: 2010-4-7 11:14
引发一个功能测试案例
如何测试万分之一的物品掉落

这个我一般采用方法1.
物品掉落这种固定的数值一般采用脚本管理而不用数据库存储.
修改物品掉落脚本,从权限和难易程度都比较适合.
修改为百分之一百多次测试结果全掉落.
修改为百分之五十多次测试结果近似于一半掉落一半不掉落.
修改为百分之零多次测试结果全不掉落.
可以再测试几个掉落几率佐证万分之一的掉落可以实现.

用方法2来做这个测试需要提新需求做白盒测试输出log,成本有点高,而且还是要用黑盒功能测试来佐证掉落功能在实际客户端实现正常.

方法3实行起来人力成本高到不能接受.
作者: 牛亦喜    时间: 2010-4-7 11:51
如何测试概率,我之前也有个小结。呵呵。

和你说的一致。 脚本管理是指?
作者: maxwell12    时间: 2010-4-7 13:40
现在游戏中有很多脚本文件.

逻辑层可以用lua脚本处理.
还有一些数据,在游戏中只有读操作而没有写操作,这类数据现在也用二维表的格式存储在脚本中.比其存储在数据库,脚本的保密权限要低,脚本学习培训成本要低,难度低,维护成本也小很多.

刚才说的管理是我用词不当,应该是使用脚本
作者: 牛亦喜    时间: 2010-4-7 14:51
原帖由 maxwell12 于 2010-4-7 13:40 发表
现在游戏中有很多脚本文件.

逻辑层可以用lua脚本处理.
还有一些数据,在游戏中只有读操作而没有写操作,这类数据现在也用二维表的格式存储在脚本中.比其存储在数据库,脚本的保密权限要低,脚本学习培训成本要低,难度 ...


这方面的知识,你比我全
作者: maxwell12    时间: 2010-4-7 15:36
同样都是以二维表格式存储的数据.
例如玩家表,玩家包裹表,交易所表等这些需要做新建,更新,删除等存储操作的,用数据库管理.
例如物品表,怪物表,技能表,这些只要进行读操作没有写操作的,用脚本.
作者: Indisorder    时间: 2010-4-7 23:39
气死我了,这次的任务全是表格,没LUA脚本
作者: lanfeng    时间: 2010-4-8 18:10
修改脚本的确是一个不错的方法。
如果是万分之一的掉落那可能比较麻烦。
我一般采用模似数据的方法。
掉落一般都是由公式的支持。
为什么不在公式方面做一些文章呢?
物品一般都是由表来支持。所有的物品使用等级、属性、功能、介绍和掉落等等都会在这个表里面用数据的方法体现。
试想一下。如果修改LUA脚本。那还要求测试员有代码走读的能力。
如果你手下的测试员没有类似的经验呢?
那好。修改物品表中的公式。我想只要能做测试的测试员对于EXCEL都会操作吧。
那怕做只做用例执行的测试员都可以实现!
作者: maxwell12    时间: 2010-4-8 18:14
修改的是怪物表中掉落物品字段的字段值
作者: lanfeng    时间: 2010-4-8 18:28
可能跟实现有关吧。
我们这里是把物品、掉落几率、怪物都写在一张表里!
就是说我们这里是一张大表。所有的策划添写的数据都在一张表里。包括技能伤害和等级等等!
我也曾想让他们分离。没办法。入职以后就已经这样。数值策划没有时间修改!
作者: maxwell12    时间: 2010-4-8 18:34
就是说这个大表中有物品字段,怪物字段,
那么一个怪物填写物品字段时怎么填写字段值?
是否这样,字段是通用的,引用的物品值的时候这么解释,引用怪物值的时候那么解释?
作者: lanfeng    时间: 2010-4-8 19:04
你说的是在数据库里的表和字段结构。
我的说的策划数据表!
用EXCEL做的。
作者: maxwell12    时间: 2010-4-8 19:21
我知道你的意思
数据库的表结构就是二维表格式,策划用EXCEL设计的数据表也是二维表.
每一列都是一个字段.每一行都是字段值.
有什么区别吗?
作者: lanfeng    时间: 2010-4-8 21:01
这样说吧,你可能就明白一些了。
EXCEL的A字段里面添写的是编号
举个例子!
物品名字的编号是从000001到001000
装备名字的编号是从100001到101000
怪物名字的编号是从200001到202000
它们全部都在A字段里面
B到Z字段内添写数值,也许使用等级添在E字段。
那怪物肯定有一些字段值是物品无法使用的。就用一个数值来替待。物品也一样!
程序在调用的时候也不会调用该值。
作者: maxwell12    时间: 2010-4-9 09:49
你说的意思我一开始就明白
所有的东西都放在一个表里.你在15楼的解释和我在12楼最后一句话的猜测是一样的.
这种模式最好表内数据由尽可能少的人来管理.不然版本不容易管理.
即使版本有人管理.一个人在进行表操作的时候另一个人就只能等他修改完毕下载最新文件版本才能进行工作.
分拆出各个表的好处是利于维护,方便管理.不容易出现数据覆盖和不能并行修改的问题.
作者: diu    时间: 2010-4-17 00:25
标题: 回复 1# 的帖子
我做过的测试上限方法:
1.脚本中配置:修改脚本的上限值,改成一个较小值;
2.程序中写死了的上限值,不能改上限值,则采用机器人;
3.数据表中规定了的上限值,修改数据表;
4.运营策划规定过的上限值,采用修改配置表,比如server端的某个配置文件(_.xml)
5.还没有做过了....




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2