游戏测试工程师面试题

目录

一、单选

二、不定项选择

三、问答


如下是2023年某游戏公司测试的线上笔试面试题,应聘职位为初级测试工程师,供参考

一、单选

1、下列哪个游戏属于MMORPG?

A、三国杀online

B、魔兽世界

C、魔兽争霸

D、英雄联盟

答案:B。MMORPG游戏大型多人在线角色扮演游戏(英语:Massive/Massively,全称Massively Multiplayer Online Role-Playing Game,缩写:MMORPG)为电子游戏的一种,是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏。

2、以下四个选项中,哪个不是Windows操作系统的三个内核基本元件之一:

A、GDI
B、SYSTEM
C、KERNEL
D、USER

答案:B。三大子系统:1. kernel(管理内核)2.user(管理用户操作)3. GDI(Graphics Device Interface 图形设备接口)

3.网络游戏运行时,发生影响玩家游戏体验的故障,以下做法不正确的是?
A、发布游戏公告
B、封禁玩家账号
C、给与玩家游戏补偿
D、检查故障原因

答案:B。

4、中华腾飞,系于企业;企业腾飞,系于企业家。因此,中国经济的起飞迫切需要大批优秀的企业家。下列哪一种逻辑推理方法与上述推理方法相同?

A、红盒中装蓝球,蓝盒中装绿球。因此,红盒中不可能装绿球。

B、生产力决定生产关系,生产关系决定上层建筑。上层建筑反作用于生产力。

C、新技术增加产品的科技含量,科技含量增加产品的价值,技术含量低的产品价格低。

D、优秀的学习成绩来自于勤奋,勤奋需要意志支撑。因此,需要取得好的成绩必须具有坚韧的意志。

答案:D

5、下列哪项是对游戏名词DOT的正确解释:

A、在一段时间内对目标早晨持续性伤害。

B、每秒伤害

C、负面状态

D、暂时离开

答案:A

二、不定项选择

1、下列哪些游戏属于手机游戏

A、率土之滨

B、王者荣耀

C、皇室战争

D、Game of sultans

答案:ABC

三、问答

1、说说你了解或者掌握哪些可用于测试的工具,并说明这些工具的用途。

答:

Appium
Appium 是一个开源的、跨平台的自动化测试工具。支持自动化 iOS,Android 和 Windows 桌面平台上的原生、移动 Web 和混合应用。 开发者可以使用 WebDriver 兼容的任何语言编写测试脚本,如 Java,OC,JS,PHP,Python,Ruby,C#,Clojure 和 Perl 语言。是做 UI 自动化测试必须要掌握的工具之一。

Monkey
Monkey 是一个在模拟器或设备上运行的程序,可生成伪随机用户事件(例如点击、轻触或手势)流以及很多系统级事件。使用 Monkey 以随机且可重复的方式对正在开发的应用进行压力测试。

Fiddler

Fiddler 是一款大家熟知且功能强大的抓包工具。通过设置代理,能够记录客户端与服务器端所有 http(s)通讯。可以针对捕获到的请求进行分析、设置断点、篡改请求及返回数据,还可以设置网络丢包和延时进行弱网络模拟等等。
Charles
Charles 是 HTTP 代理/ HTTP 监视器/反向代理,可以查看其计算机与 Internet 之间的所有 HTTP 和 SSL / HTTPS 通信。可对截取的请求及响应进行分析、支持修改请求参数、支持弱网络模拟。

Selenium:

用于Web应用程序的自动化测试,可以模拟用户在浏览器中的操作,支持多种编程语言,如Java、Python、C#等。
Appium:

用于移动应用程序的自动化测试,可以模拟用户在移动设备上的操作,支持多种移动操作系统,如iOS、Android等。
JMeter:

用于Web应用程序的性能测试,可以模拟多个用户同时访问Web应用程序,测试Web应用程序的性能指标,如响应时间、吞吐量等。
Postman:

用于Web API的测试和调试,可以发送HTTP请求,测试Web API的响应结果,支持多种HTTP请求方法,如GET、POST、PUT、DELETE等。

TestNG:

用于Java应用程序的单元测试和集成测试,可以对Java类和方法进行测试,支持多种测试注解,如@Test、@BeforeTest、@AfterTest等。

JUnit:

用于Java应用程序的单元测试,可以对Java类和方法进行测试,支持多种测试注解,如@Test、@Before、@After等。


LoadRunner:

用于Web应用程序和桌面应用程序的性能测试,可以模拟多个用户同时访问应用程序,测试应用程序的性能指标,如响应时间、吞吐量等。


Robot Framework:

用于Web应用程序和桌面应用程序的自动化测试,可以模拟用户在应用程序中的操作,支持多种测试库,如Selenium、Appium、TestComplete等。
 

2、请写出数据库增、删、改、查的关键字

增加数据:

INSERT INTO

删除数据:

DELETE FROM

修改数据:

UPDATE

查询数据

SELECT

3、假设有这样6枚硬币,1面字母,1面数字,字母的背面一定是数字,数字的背面一定是字母。证明A的背面一定是1至少要翻几次,并写出你的翻币思路。

答案:(不一定对) 至少要翻四次。

要证明字母A背后一定是1,那么所有字母是A的都要翻一下,言下之意,非字母A的就不用翻了;

要证明数字的背后一定是A,就要把所有数字的都翻一下;

那么至少要翻的次数是字母A的个数+数字的个数 = 4;

4、五子棋,两个玩家轮流下子,一方横或者竖或斜达到五子相连即为获胜,下面是一个五子棋的简单设计图。

1)更加设计图编写测试点(测试点要求不同条件下的各种单一操作,提示落子规则,胜负条件同常规五子棋一致)

2)假设测试过程中发现胜负已分,游戏却未结束,提示一个bug描述

3)如果这是一个手机网络游戏,还需要考虑哪些情况

答:

4.1 测试用例设计

落子规则测试用例:
输入:玩家1在棋盘上落子,坐标为(0,0)
预期输出:棋子被放置在(0,0)的位置
输入:玩家2在棋盘上落子,坐标为(0,1)
预期输出:棋子被放置在(0,1)的位置
输入:玩家1在棋盘上落子,坐标为(1,1)
预期输出:棋子被放置在(1,1)的位置

胜负条件测试用例:
输入:玩家1在棋盘上落子,坐标为(0,0)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家1棋子的位置,通知玩家2走棋
输入:玩家2在棋盘上落子,坐标为(0,1)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家2 棋子的位置,通知玩家1走棋
输入:玩家1在棋盘上落子,坐标为(1,1)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家1棋子的位置,通知玩家2走棋
输入:玩家2在棋盘上落子,坐标为(0,2)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家2 棋子的位置,通知玩家1走棋
输入:玩家1在棋盘上落子,坐标为(2,2)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家1棋子的位置,通知玩家2走棋
输入:玩家2在棋盘上落子,坐标为(0,3)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家2 棋子的位置,通知玩家1走棋
输入:玩家1在棋盘上落子,坐标为(3,3)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家1棋子的位置,通知玩家2走棋
输入:玩家2在棋盘上落子,坐标为(0,4)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,同时检查系统正确记录玩家2 棋子的位置,通知玩家1走棋
输入:玩家1在棋盘上落子,坐标为(4,4)
预期输出:合规,棋盘更新,页面上玩家的棋子刷新,胜负已分,玩家1获胜,通知游戏结束,页面出现下一个页面

4.2 游戏胜负已分,游戏缺没有结束,提供一个测试描述
用玩家1和玩家2对棋,通过极具对弈,玩家1优先于玩家2形成一方横棋,其中玩家1此时的坐标是(x,x) (x,x) (x,x).而玩2此时的坐标(y,x) (y,x) (y,x),从结果看玩家1已胜,预期游戏结束,实际未结束

4.3 手机网络还需要考虑哪些
1、兼容性测试,分别测试安卓的主流机型和IOS的主流机型,以及各操作系统版本
2、弱网络测试,在弱网络情况下,游戏的表现。从无网络到有网络时,游戏是否可以继续玩下去
3、性能测试,分别测试安卓和IOS的主流游戏场景性能情况,包括cpu占用、内存占用、流畅度等
4、稳定性测试,用Monkey 进行稳定性测试

猜你喜欢

转载自blog.csdn.net/michelle_li08/article/details/131501555