51Testing软件测试论坛

标题: 李世石是个好用户但不是一个好测试 [打印本页]

作者: 逍遥    时间: 2016-3-10 18:26
标题: 李世石是个好用户但不是一个好测试
北京时间3月10日下午,谷歌阿尔法围棋与李世石的人机大战五番棋第二局在韩国首尔战罢。谷歌阿尔法执黑中盘获胜,以2比0领先李世石。第三局比赛将于12日进行。


一场普通的人机大战吸引了很多人的注意,而2比0的领先有些超出大家的意料,甚至出现了人工智能超过人的惊呼。但我想说的是李世石只是一个用户而谈不上一个测试。

李世石是?
作为围棋高手,也许还不能称之为第一高手,但是也是顶尖高手了,可以说是用户代表中的案例。一般作为测试通过用户验收的方式是个不错的手段,能够确保系统在正常使用中工作,但是用户毕竟是用户!
为何这样说呢?阿尔法是一个基于搜索引擎智能分析的系统,虽然不知道具体原理,但是应该是根据当前棋局的情况进行搜索,匹配最为合理的(匹配项最多的)查询结果作为下子的步骤,如果没有匹配则按照标准模式以不变应万变。我们的软件通常都是这样设计的,在大多数情况下这没有问题,但是如果我们不按照正规流程走呢?就好比一个测试提交了一个缺陷,往往开发会说“不,用户绝对不会这样用的”,于是将一个Bug给Close了。
李世石是不会这样想的,按照标准的围棋规则和计算机去比计算、比分析,从这里开始就是一个错误,这就和数据库SQL比报表计算;和电脑比反应;和开发比写代码一样正中下怀。他确实证明了阿尔法可以正确的根据棋局来进行查询分析,并且能够给出合理的答案(本质就是Google的搜索很牛逼),而无法证明这个系统在异常的情况下能够正常使用。
从这个角度来说李世石是个好的功能单项用户(仅局限于正常的下棋谱上),而不能上升到一个测试的层次。这也是为什么开发无法做好测试的原因,因为在基本的设计逻辑下,是无法超出逻辑来进行分析和设计的(所谓的自己无法找出自己的问题)。


测试是?
测试是一个基于用户高于用户的角色,通过设计用例来保证系统在正向、逆向各种角度如何正常处理(try catch),确保系统能够达到一定的质量
那么接着就是脑洞大开的时候了,作为一个测试的你应该已经想出了很多玩死阿尔法的手段了吧,李世石你弱爆了,何洁你也不过只是个用户,先简单来做个用例分类设计吧。(欢迎大家跟帖补充)


1.功能
先试试上手丢个子在角落上,看看非正常开局会怎么样。
再试试自己送子系统怎么处理(总之不按正常套路)
我就走长城模式(一个子连着一个子走怎么办)
如果我在一个点上放两个子怎么办?
我就不走怎么办?
如果我放一颗象棋的车在棋盘上怎么办?
服务器在国内有防火墙上不了Google怎么办?
电压很低,功率不够怎么办?
断电了怎么办?
走到一半重启了怎么办?
我做一个死结怎么办(围棋中有个无解的互相死循环情况)?


2.性能
如果我走的很快,要求系统1秒必须走一步?
如果我不等系统,就一直下怎么办?
网络丢包,延迟怎么办?

3.安全
如果棋子信息里面有注入怎么办?

4.其它
精神胜利法:在棋局上写个你是SB,然后投降让电脑赢,输了棋局,赢了气势。

看到这里不知道大家有没有想起一个事情,就是当年的“铁甲钢拳”电影,也许宙斯很厉害,但是遇到了一些特殊的挑逗、卧槽、侮辱、陷阱等,系统还真的那么强壮和可靠么?



何为测试?
简单来说就是基于用户高于用户。
何为用户?

就是使用者!

外行看热闹,内行看门道!





作者: liuhaisheng2008    时间: 2016-3-10 20:39
你说的是在测试环境,现在是正式的比赛,肯定不会那样做
作者: 喵小妖7117    时间: 2016-3-11 08:57
你说的这种,肯定在机器人拿出来参加比赛就测试过了
作者: 史丽颖    时间: 2016-3-11 09:57
你这个帖子是鄙视 李世石吗?觉得测试很牛逼,这个 李世石应该退休了?真是无聊的帖子。
作者: 逍遥    时间: 2016-3-11 15:27
史丽颖 发表于 2016-3-11 09:57
你这个帖子是鄙视 李世石吗?觉得测试很牛逼,这个 李世石应该退休了?真是无聊的帖子。

你有没有读懂此贴的含义?我觉得你还是一个用户不是一个测试,我建议你再多读几遍
作者: xuquan    时间: 2016-3-14 13:21
史丽颖 发表于 2016-3-11 09:57
你这个帖子是鄙视 李世石吗?觉得测试很牛逼,这个 李世石应该退休了?真是无聊的帖子。

这位同学思想这么极端,是测试从业者吗?  这只是一篇讨论测试思维的文章;

难道是李S 的粉?




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