随着互联网的飞速发展,为了满足用户的各种需求,各类应用软件层出不穷,为了把控软件质量,提高用户体验,测试这个岗位就被大家提及的越来越多。从最初的功能测试,到现在大力推崇的自动化测试,不到短短10年时间,对测试的要求也在飞速变化。
任何一家招聘公司招聘测试的要求一栏,基本都写了要会自动化,这就催生了大量培训机构和网课讲堂,专门培训测试自动化,把刚毕业的大学生快速打造成一位有经验的自动化测试员工。由于现代社会的功利性,大多人会去通过快餐填鸭式的培训来迎合市场的选择,在这个过程中为了追求速成,像思考测试理论这些最基础的东西就会被忽视。这就像武侠小说里面讲的一样,只会武功招式,是怎样也成不了牛人的,武林宗师往往都是先从内力开始修炼起,所以这篇我们就讲测试内力修炼之思维修炼。
做产品要有产品思维,做开发要有开发思维,那做测试到底需要什么思维呢?首先我们能想到的就是在测试过程中经常会涉及到正向思维和逆向思维。其次,我们还得有一种把握整体,从整体出发的全局思维。接下来我们就从这三个方面出发,来详细谈谈测试思维的学习和思考。
正向思维
正向思维应该比较容易理解,就是按事物发展的进程去进行思考和推测,是一种从已知进到未知,通过已知来揭示事物本质的思维方法。这种方法一般是用在一个时刻朝一个方向去做一件事。正向思维很多时候会依赖你的经验,如果你对某项业务特别有经验,那么你做出的推测或者流程步骤,就会特别长。现在很多人会去做思维导图,其实思维导图就是一个比较直接的正向思维过程。
逆向思维
逆向思维对测试人员来说,再熟悉不过了。逆向思维,也称求异思维,它是对司空见惯的似乎已成定论的事物或观点反过来思考的一种思维方式。敢于“反其道而思之”,让思维向对立面的方向发展,从问题的相反面深入地进行探索,树立新思想,创立新形象。我们测试在发现BUG的时候,往往会用逆向思维,一步步反推,直到找到问题的最终原因。
例:玩家反馈充了钱,没有获得道具。(我们来逆向分析下原因)
1、查看玩家充值记录。(确认玩家问题是否属实,充值、发货记录是否正常)
2、没获得道具---买了什么道具没获得?(先定位具体问题)
3、检查道具是否有正确配置。(排除策划配置表问题)
4、内部环境充值一笔,看是否能够获得道具。(排除功能逻辑问题)
全局思维
全局思维单从字面意思可能大家都理解了,但是上网一查,网上说的越多,就越是捉摸不透。大家有没有玩过找色块这个游戏,你只是盯着局部看的话,很难找出不同颜色的方块,但是你如果看全部的话,你就能发现那一小块颜色的差别,这个就是说从全局去看,从大的方面去看待问题。
还有一种就是,我们在需求评审或者用例评审的过程中,我们往往会叫很多人,除了自己部门人员,也会叫上其他部门,例如策划、技术、美术,就是想通过各种思维,让我们的方案更加完善,这种把不同的思想、思维整合在一起,其实就是全局思维的方式。
简单思维
简单思维是指以“简单”为核心的思维方式。在日常工作和生活中,简单思维可能是一个贬义词,形容思考问题比较简单。但是我不这样认为,我认为简单思维是能够一层一层透过问题的现象,发现问题的本质,对测试来讲,这是一个很深的境界,是对程序和业务很深的掌握,是工作经验的积累。
在给大家讲这个简单思维的时候,我举了工作中常常遇到的事例,一名测试人员,发现了一个BUG,他去找开发反馈这个BUG,开发人员花费了很长时间,一层一层排查问题,最后发现是配置错了,或者测试环境不对。这种问题不算少见,虽然影响不是很大,但是慢慢开发对测试的偏见就会越来越大。测试人员要‘耗子尾汁’,多加强自身能力的提升,这样才能提高我们的竞争力。
比较思维
比较思维是一种重要的思维方式。通过比较对生动的复杂的客观现象进行分类,寻找现象之间的共同性和差异性,区别出个体现象中本质的规定性和非本质的规定性;又通过比较寻找各个质的规定性之间的联系;再通过归纳或演绎对比求得对事物本质和规律性的认识。比较思维其实贯穿我们整个测试生涯,测试本来也就是一种验证,根据实际结果跟预期结果对比来达到测试的目的。
测试中比较典型对比的点:
1、策划需求的设计和市面优秀游戏设计的对比。
2、今天写的测试用例和昨天的对比。
3、自己的测试用例和别人的对比。
4、新提交的配置表和旧配置表的对比。
5、更新后玩家数据和更新前玩家数据对比。
比较思维有一个比较重要的点,参考的对象,在我的理解里面,一定是更优的一方。如果是和差的相比,那就是历史的倒退。
组合思维方式
组合思维又称“联接思维”或“合向思维”,是指把多项事物通过各种不同方式加以连接合并,从而使之变成彼此不可分割的新的整体的一种思考方式。
很多东西在单一的情况是没问题的,当将相关的事物组合在一起时却能发现很多问题。例如战斗测试的时候,单一技能或者BUFF通常没什么问题,一旦组合起来,就会导致很多问题的发生。
在进行组合思维的时候,我们不要为了组合而组合,这样很容易让自己的思维混乱,额外增多很多的测试条件。要注意分类,找到最简单合理的组合方式。
常用组合测试点:
1、登陆框,账号和密码输入组合方式。
2、战斗里面,伤害、状态、BUFF各种组合测试。
3、外观显示,装备、时装、坐骑、翅膀、其他玩家、场景各种组合测试。
4、组队任务。
用户思维
简单的说用户思维是站在用户的角度去思考问题,结合使用场景、需求等、去揣摩用户的想法。道理很简单,但是往往我们在设计的时候,就容易惯性思考,以为原来是这样,现在也是这样,在一个用户群体中是这样,在另一个用户群里中也应该这样。测试往往就需要打破这种惯性思考,多站在用户的角度来体验产品。
比如,我们在商城购买物品的时候,基本上都会有二次确认框,假设没有二次确认框,就会出现玩家误点购物成功,用户体验就不是很好。所以,测试的时候用户思维很重要,有时候我们会缺少用户思维,这是因为我们还不是这类产品的用户,所以我们需要多花时间去体验这类产品,先让自己变成这类产品的用户,然后再来测试我们自己的产品,就能够从用户角色发现较多问题了。
两极思维
两级思维比较好理解,就是和边界值测试方法一样。
测试思维这次就先分享到这里,欢迎大家来讨论和补充。