软件测试面试题(6)——二面(游戏测试)
没想到测试题做完等了会儿就安排面试了,还以为自己会直接挂在测试题,这次面试很刺激。测试题总体来说不算太难,主要是实操写Bug那里真没经历过,所以写的很混乱。
我复盘一下这次面试的问题,这次面试是有两个面试官,在测试方面,一个是感觉我没有明白他是要问我对应什么答案的问题,导致我不明白回答他什么,当然主要我感觉是我测试基础知识不扎实的原因。不过这几次面试下来,我感觉测试的实操不难,主要是你得清楚流程并且在每一个部分都描述的清晰准确。面试我的是两个人,一个是QA另一个估计是项目负责人或者开发。主要我目前搜索没有查询到过测试的具体实操流程,都是一些很笼统的理论知识。
1、首先这家很侧重实操
你就算没有进行过实操(我目前就属于这种情况),也要对测试进行的操作有一个设想和比较具体的方法内容。我在回答的时候比较混乱,无论过没过这都是一次面试经验,我目前理出来的一个流程大概是这样的:
首先是测试环境,不论测什么,你要准备好测试需要的设备材料。(比如说一种材料,操作文档,包括了测试的目的方法步骤注意事项等关键信息)
其次,明确测试的目的和标准。清楚的知道自己要测什么以及什么样的结果算是怎么样算是测试成功。(比如软件测试,就是软件在各种预设场景下都能稳定运行,没有出现崩溃、错误提示或功能异常,所有功能都符合设计要求,响应时间在可接受范围内等等)
接着开始测试,按照具体步骤和程序操作,在测试记录中记录下任何观察到的现象和数据。怎样记录呢?用测试软件和表格文档,描述现象并记录数据,要进行编号标记和备份。
完成测试后,分析测试结果。将其与预期结果相比较,找出任何差异和需要改进的地方。
最后,把整个测试结果和过程记录下来,供日后参考。
2、问的问题很深很细
我们学校有软件测试这个课程,并且是必修课,这一点面试官问了我很多遍,并且另一个面试官还问我这门主修课是否有实操过程,但是我们这里纯理论课。还问到我们这门课的作业是怎么布置的,布置的内容是什么?这个我是真忘记了,只能说布置的也都是一些理论,黑盒白盒什么的。后面下来之后我想起来,这门课的老师特别爱在上课叫我们回答问题,并且有加分,和最后的课程考核相关,所以我也经常在课上回答问题。布置的作业我比较有印象的就是做决策表之类的还有各种覆盖。
决策表是一种工具,通常用来设计测试用例,决策表通常由条件桩(Conditions)、条件项(Condition Alternatives)、动作桩(Actions)和动作项(Action Entries)4部分组成。决策表是一种黑盒测试设计技术。动态白盒测试——逻辑覆盖测试法(就是我们常说的:语句覆盖、判定覆盖(分支覆盖)、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖六种。)语句覆盖要求设计足够多的测试用例,运行被测程序,使得程序中每条语句至少被执行一次。判定覆盖,又称”分支覆盖“;要求设计足够多的测试用例,运行被测程序,使得程序中每个判断的”真“和”假“都至少被执行一次。条件覆盖要求设计足够多的测试用例,运行被测程序,使得判定中的每个条件获得各种可能的结果;即每个条件至少有一次为真,有一次为假。路径覆盖要求设计足够的测试用例,运行被测程序,覆盖程序中所有可能的路径。覆盖能力最强的是路径覆盖,最弱的是条件覆盖。
测试的方法有什么?这个问题我当时一时没想到回答什么,说来说去说的是单元测试系统测试那些,这次我一定会记清。方法通常是等价类划分、流程分析法、边界值分析、判定表、案例说明、因果图、正交试验、状态迁移。详细参考:软件测试常用的七大方法_测试方法-CSDN博客
3、问到了Unitu3D相关的一些问题,也挺细的
因为我们学校也有这门必修课,之前跟着书上和自己上网查做了挺多不同种类的小游戏,当时做的还挺好的,现在都忘的差不多了。问到了我做的一个射击游戏,让我讲一下,后面还问了这个敌人是怎么做的,子弹打中敌人怎么实现的,子弹没打中怎么办呢。我就大概说了一下,只记得就是给敌人做一个触发,使得子弹打中敌人后敌人消失,玩家就可以获得积分,在一定时间内达到一定积分后获得游戏胜利。把敌人做成了一个预制体,可以随机生成出现多个敌人。子弹没打中敌人就会飘向远方,又问我是无线飘向远方还是怎样呢,我回答是有边界,就是到达地图城市的边界就会消失。还问了我C#脚本编写这里用了什么方法和函数,这个是真不记得了,当时也是根据书上和网上搜索敲的。可能是看到我测试题的英语作文,不过那个确实是乱写,写的我想当一个游戏设计师,感觉写起来比较容易也和游戏公司相符合,不过其实游戏设计师也挺好的。
4、游戏方面
问了你最近玩的游戏碰到的一些Bug,你觉得应该怎么解决它已达到一个什么样的效果,怎么他样去汇报这个Bug呢,我讲了最近玩一个小程序游戏的,现在想想我当时应该当场打开演示一下,刚好我最近玩的那个游戏作者还在开发中,每天都会更新,所以也有很多Bug。
还有就是问到了你玩的最久的游戏是什么,我回答的是王者荣耀,还问了段位,我是刚上王者,问了游戏位置,还问了是自己打上这个段位的吗。我确实比较喜欢单排,偶尔跟朋友一起玩的话,一半时间是我带别人,1/4是别人带我,1/4是相差不大。自我感觉我在玩各种游戏上还是挺有天赋的。不过近一两年几乎没有玩游戏了,一个是学校课程多,我还有各种活动参加,还有就是面临考研就业,就没有关注这方面的信息了。
问到了对他们公司的了解,我之前有查过,但是查到的都挺片面的,我就记得参与了一个我玩过游戏的角色的皮肤制作,又问我是哪个角色,你玩过这个角色这个皮肤吗,这个不清楚,这个有些人物名真的很难记,毕竟都是西方名。
————————————
这次面试进行蛮久的,近一个小时,问的都挺全面细致的,还有一点就是每次面试官问你还有什么问题我除了问面试结果就有点不知道问什么了,毕竟实习生你也不需要谈薪酬结构之类的,基本问题HR也都有沟通到。
这里我又想了几点,有加班工资吗?餐补交通补助?工资是每月的几号发?实习岗位的日常职责大概是什么?我参与什么类型的测试项目呢?团队的人员结构?面试结果?是否有转正机会?(我面的这家是短期实习2-3个月,没有转正机会,内部人员饱和没有这个职位的空缺)