前言:
一直以来都是在学习一项新事物时,由于自己的记性不好,所以经常会写一些记忆帮助文档,但回顾过去写一些总结性的文档还是第一次,先简单的回顾一下吧,也好缕缕自己的思路。
大多的新手入职,一般都是对公司的新鲜的人、新鲜的事有些不适应,那么首先应该让自己尽快的适应这个陌生的环境,用最短的时间将之变成“自己的战场”。并且你也需要明确一点,游戏公司并不是我们想的一个以游戏至上的团体,游戏公司首先是公司,然后才是游戏公司,理解了这个之后,你会熟悉的更快一些。
1.熟悉公司的企业文化:每个公司都有自己特色的企业文化,这是他们得以发展的根本,所以新人入司后第一件应该做的就是尽可能的认识公司内的每一个人(如果是大公司,就尽可能多的认识人),第一个圈子一定是你所在的部门。
2.了解公司的业务:也可以说了解你负责的业务模块,这是必须的,不然公司招你来干嘛?想清楚自己来是干什么的,有利于你对自己的定位,大部分的新手一般都是刚毕业的大学生,这个时候的自己都是心比天高,感觉没有什么是自己做不到的,即时你不承认,但很有可能此时的你就是有这种心理,这种心理很危险,建议准确定位自己,对你的现在或未来都有好处,另外切忌急功近利,你很想尽快的将所有技能都掌握,于是乎每天强迫自己高强度的学习,很有可能一段时间过后,回顾的时候却发现,学过的东西都忘了……,所以新入职的菜鸟们切忌心浮气躁,要脚踏实地,一步一个脚印,合理规划自己的学习进度,让你在平时工作中稳步前进。
3.一些准备工作:既然要熟悉自己负责的业务,就一定会涉及一些领域,无论是测试基础,还是游戏测试须知等等……,总之你最好记住一点,入职将是你专业领域起点的第一步,也是你前进的道路上学习的起始第一步。
好吧上面说了很多废话,如果你觉得没用可以直接跳过上面部分直接进入到这里,都说要熟悉业务,那究竟如何才能将业务做的越来越熟练呢?其实这个我是没资格说的,因为我也才刚刚起步而已,不过对于菜鸟,我还是有点发言权的,下面我就将我的心得与大家分享。
1.游戏测试基础:首先要做的一定是熟悉公司的产品,不了解就没有发言权,我觉得这句话对测试来说非常恰当,你只有对公司的产品有了大概的了解,才会对你负责的模块有一个最起码的规划(即使这个规划是错的,但你至少走出了第一步),也就是对负责模块找到一个下手的切入点,这个是很重要的。
①提交bug:对于提交bug的书面格式我没什么好说的,可能你比我写的还好呢,这里我要说的其实更多是一些写bug时需要考虑的东西。我刚入职的时候经常搞不清第一人称和第三人称的关系,这里你可能会笑,怎么会有这么笨的人,但当你遇到这样的事情,你可能会和我一样:在描述bug的重现步骤时,一定要将bug的产生原因描述清楚(这里的术语需要你深入了解并积累);在描述实际结果时也要准确清晰的描述(术语或尽你所能的描述清楚),如果当你觉得文字不足以描述时,建议直接录个视频,将该视频的地址贴到bug中(如果是特别明显的bug建议用图片说明),尽量不要全部用文字来描述一个bug,如果这个bug长时间没得以解决,而负责的程序人员很有可能会怀疑你的专业度,会对你产生直接的负面影响,如果当你觉得视频也不足以描述清楚bug的时候,建议直接去找开发人员沟通,确认他能够明白你描述的这个bug之后再将该bug提交(记得带视频)。而当我们提建议的时候基本要素和bug相同,但在描述建议部分时,应该将你提这个建议的理由加进去,这样的建议更丰满,也更容易被采纳。
Bug的格式之重现频率、严重程度和优先级:
一般来说bug的重现频率大多是百分之百,但有些bug只会根据你特殊的操作才会重现,这样的bug一般我们也会将其设定为“百分之百重现”。Bug中还有一些特殊的,如你没有找到确切的重现方法,但重现率也很高,这样的bug我们一般都会设定为“有时重现”,而最后的一种bug,游戏中偶然发现的,之后很难重现,这样的我们一般设定为“不再重现”。
Bug的严重程度:对于影响游戏运行的bug,一般我们设定为“致命”(这样的bug很少),对于影响或阻碍一个模块的运行的bug,一般我们设定为“严重”,而我们平时发现最多的bug(影响某个功能),一般都设定为“一般”,最后一种为界面上或美术上的bug一般我们都设定为“轻微”(美术的bug一般我们不提交,直接找负责人沟通,这点很重要!)
Bug的优先级:“立刻”一般指这个bug需要当天解决的,“紧急”一般指这个bug需要最多3天解决的,“普通”一般指这个bug可以在一周之内解决的,“暂缓”一般指这个bug在一个月内解决即可。
注:有时候有些bug会出现“严重”但“不紧急”,或“轻微”但“紧急”的bug注意区分,这个需要以后在工作中积累。
②关于沟通:一般来说,菜鸟时期,在你发现bug的时候,不是先提交bug,而是先和模块负责人去沟通(我当时是先找策划,后找程序,但一般策划会直接告诉你是不是bug,谁的bug,所以大部分直接找策划就可以了),慢慢的当你对bug有了自己的理解了之后,你就可以直接找对应模块负责人了(注意区分有的是策划的bug,有的是程序的bug),这些都是需要你在平时工作中积累的。
注:个人在初为菜鸟的时候在沟通上遇到过很多问题,由于业务不精练,大家有时会对你的态度不是很友好(个人性格不同,大部分还都是友好的),这个时候你一定要沉住气,退一步避免争吵,一旦你做到了,那么今后你再去沟通的时候会顺利的多。
因为我们代表的是测试,也就是说平时工作中只要我们找别人沟通,那么几乎等同
于那个人的工作成果是有漏洞的,这或多或少都会让别人不舒服,所以有的人可能会有排斥心理或推卸责任,这个时候你需要做的就是将这个问题让能够解决的人员(通常我会选择我的领导)去解决,同时你也需要将你负责的业务弄的更清楚。
③定位bug:关于bug我们大多数都是先定位bug,再提交bug,可为什么我却将定位bug放在最后?因为定位bug是这三者中最重要的,也是你平时工作中真正可以积累的,也可以说你可以准确定位bug之后,你的工作会变的游刃有余。那么怎么积累呢?首先当你遇到bug的时候你的第一反应是什么,“哇这是个bug!”,然后呢?怎么重现呢?在还没有成为菜鸟的我一开始是把自己所知道的理论全部用上,什么等价类、边界值等等……,慢慢的你会发现,这些东西确实有用,但在执行测试阶段作用却很小,现在的我一般都是“大胆假设,小心求证”,这句话在文中很火啊有木有,本人很钟爱啊有木有,对,个人就是凭借这八个字来定位bug的,但这一切其实都源于你平时对业务的熟练,比如游戏中开枪没有特效,我们都知道是美术资源出问题了,但这里也可能是程序没调用开枪特效或者是策划将该特效从配表中删除了,这里就是你需要积累的,积累的不是别的,而是你对这些人的了解,比如你现在负责武器,那么你需要了解的是做武器的美术这个人的性格特点、配武器的策划的这个人的性格特点和写武器逻辑开发人员这个人的性格特点,当你了解了这些人的性格特点后,你会知道什么人在什么问题上容易出现疏漏或错误,这对你定位bug是最有帮助的,是最准最快的方法之一。
2.掌握的技能:本来我想把这里写的非常丰满,不过由于本人很懒,所以尽可能的简写吧,其实我觉得“授之鱼不如授之以渔”,就算我把现阶段我所会的都写出来,那也是我所会的,一切都是我的,当你看过之后有可能觉得有道理,也有可能觉得不屑,但结果是——那些东西还是我的,跟你没有任何关系,听起来有些可笑,不过现实就是如此,OK,感觉我废话真的太多了,进入正题———————————————————————————
测试的基础需要你对数据库和csv表有一个大致的了解,根据你负责的模块、业务的熟练程度来确定对数据库和csv表的理解深度,不可操之过急,如果你对业务理解不够深,即使你了解了你负责模块的所有csv表里的字段及其含义,你也顶多成为了一个“生化说明书”,但如果你对负责的模块有了自己的理解,数据库和csv表中的每一个字段都有可能成为你的测试利器。
一>先了解
1>数据库:由于本人很懒,我在了解数据库的时候先自己浏览了一遍,并尽可能的理解数据库中表及其字段的含义(大部分都是猜的,但我们要保持大胆假设小心求证的态度,这不是一个坏习惯)之后,在数据库开发者郭惠杰不忙的时候占用了他近半个小时的时间,将我的假设一一验证,并记录成一个表收录在电脑里,这样你就拥有了一份成熟的说明文档,当你业务需要的时候就可以自己查阅文档并解决问题了。
当然你也可以在实际工作中靠自己的实践来积累,这样你不会占用开发者太多的时间,靠自己平时琐碎的积累一样可以达到之前的效果,而且一旦积累的就是业务需要的,相当于理论与实践相结合的产物(不过需要前提条件1.你负责的模块设计数据库较多,2.你有这种过硬的积累习惯,除此之外我还是推荐前一种)。
2>csv表:对于csv表我也没什么好说的,因为我也是菜鸟,至于熟悉每个表及其字段的含义可以仿照1中的两种做法。
二>进入实战
如果你将上面的两部分搞定了,恭喜你,你终于成为菜鸟了,之所以这么说是因为了解数据库和csv表并不是目的,我们的最终的目的是利用你对数据库和csv表的理解程度来实现测试需求。
为了响应国家号召,节省资源(其实就是懒),我就举一个小的不能再小的例子吧
如我们需要测试游戏中角色升级的过程,那么我们一定根据游戏设定创造出适合升级的账号(我们的游戏是100级,所以至少需要100个账号),根据边界值测试法,我们应该对升级经验的数值附近的几个数值进行测试(如9级升10级时经验需要10000,我们可能需要测该角色9999经验的状态,经验为10000的状态和经验为10001的状态等),首先我们需要知道升级需要的经验,那么我们应该找到对应的csv表(playerleverup.csv)找到对应的经验数值,在数据库中修改t_character表中“exp”字段将csv表中的数值设定到数据库中没有经验的100个新账号上(根据自己需求来设定经验值),然后就可以到游戏中去测试了。
如果想成为一个测试,其实很简单,但如果想成为一个好的测试,我个人认为真的好
难!除了以上的业务必需的技能之外,我们可以学习一些平时工作中涉及到的一些知识,如目前我们的游戏服务器在linux系统下,如果你想熟悉服务器,最起码要会些linux基础命令吧(怎么学?自学!)……,而且个人比较喜欢脚本,所以最近一直在看脚本语言,而如果你想更快更好的工作,我也推荐你学一些脚本语言(什么脚本都可以,都会有用的)。
尾声:
总的说来这篇文章写的很失败,废话很多,多到我自己看着都想吐,如果你觉得废话真的很多,可以略过废话,挑你需要的看,那么结尾我就少些废话,结束了—————————————————————————————————————————————————————————————————————————————
最后一句:如果你想收获的比别人更多,那么你付出的辛苦一定比别人更多,很多时候我们学习时总是希望别人能够指点一下,但如果这样,长时间会让你养成一种依赖性,这种依赖性个人认为对你今后的发展百害而无一利,所以个人还是推荐在工作中我们要养成“大胆假设,小心求证”的态度,只有自己“学到”的,才真正是自己的。