如果你说的是 UI 自动化,airtest 框架是支持的。如果你懂代码,那最好,自己就可以搞定。但如果不懂,就比较依赖其他部门 (比如技术部门) 的支持。
感谢分享!
哇,好久没来,有这么多大佬了?先码,抽空来膜拜
poco SDK 是接入到 unity 工程里的,如果接入成功,理论上来说是会在游戏端启动一个服务,为 poco 客户端(也就是脚本端)提供 UI 页面树查询并返回结果,应该跟在什么平台没太大关系,以我对 poco 的理解。
先码,有空再来膜拜
恭喜老板
几个问题想交流下:
1.使用 perfdog 这类工具,也只能记录性能数据。如何确认某段性能曲线异常是问题呢?
这是我做客户端性能测试时的一个痛点。
2.类似 uwa GOT Online 的工具,虽说测试之后暴露出来的测试数据很多,但各项指标分别代表什么?怎样的算是有问题?
我也很头疼。
1)指标的学习成本不低。
2)即使明白了,也不见得就能看出问题所在。
3.和程序、TA、美术沟通,发现他们往往能够发现一些设计、实现不合理的地方,而我作为一个测试,基本上不太了解各种实现细节,所以这类问题也就不太可能发现。当然可以慢慢学,但学习成本似乎也不低。
所以,客户端的性能测试,做到什么程度才能真正的说,做好了?
首先,从黑盒测试的角度来说,场景是整体的一部分,很难单独拆出来。所以一般来说,测对应功能的时候,比如测某个副本,基本上就能顺带测试到这个场景。所以个人感觉应该是不用单独去做黑盒方面的测试。印象中,除了某些场景需要去看看碰撞盒是否能拦住玩家之外,基本上没做过其他相关的测试。
当然,如果涉及到客户端性能,那就需要单独看了。事先要找程序、美术、TA 确定各项参数指标,比如面数、定点数、drawcall、合批数量等,各个画质下对应参数的数量是否超了?该画质下,客户端表现如何?是否会卡顿?或者渲染有问题?根据已知的要求,和可能存在的各种情况,合理设计一份用例,进行测试。
你这个问题有点笼统啊。
不同的身份对于场景有不同的理解:
程序认为的场景是各个游戏里的场景切换,涉及到场景管理器、状态机等等;
美术认为的场景可能是场景模型;
所以需要先明确下你说的场景是指啥?能具体点么?
wireshark 抓包?移动端其实可以用 qnet 抓包。
还有就是,游戏项目应该挺多都是 socket 协议吧?发之前需要序列化、加密,从后端拿到返回,还需要解密、反序列化。虽说加解密和序列化这块都有现成的模块,但不同的项目做法都不太一样。比如我现在很头疼的一点是,我们项目用的是 unity,C#+lua 写的客户端,然后通信模块用的是 C++。。纠结过好一阵子,最后想了想还是用 lua 写,但 lua 加载 C++ 的 dll 还在头疼怎么搞定。
希望楼主早日做出点成果,等我解决了目前的问题好来抄作业
只要不测,就不会有问题。23333
毕竟品质只占游戏的一小部分,也不会影响产品的销量。
你看战地 2042 那么多 bug,买的人少么?
bug 多,也可以后期补呗。
没有人会冲着产品质量去买游戏。。哎,作为一个游戏测试深有感触。
我能想到的有两种办法:
1.自己起个进程,每隔一段时间检测下关卡是否完成。
2.让程序帮忙给一个接口,关卡完成后给返回消息,自己接收。
test20220104
大佬要是分享了,我们这种游测的菜鸟才有可能长进啊
必须是二次元吗?
我以前也是这么觉得的,游戏起码得有个心跳吧?但自从我来了现在这家公司之后,他们用 http 做游戏,而且线上运营了好几年了,也没事
airtest 至少网易还在维护,ga 好像腾讯那边已经放弃了?刚开始接触游戏自动化就是 ga,但用了一阵子发现对新手很不友好。团队内推广的话肯定还是得考虑用 airtest。
看是什么协议了吧。
http 协议,内网环境很简单,用 python 之类的脚本语言可以轻松搞定。
哪怕你不会编程语言,用 web 测试三神器(Charles、fiddler、postman)也可以搞定,当然,前提是你得知道接口和参数才行。
socket 的就难多了,不会代码的话就找 leader 或者 pm,看看能不能让程序大佬做一些内部的测试工具。不行的话,只能自己搞,有客户端源码或者通信模块的就可以。
弄清楚消息怎么收发,大小端啊之类的,然后应该还会涉及到数据的序列化和反序列化,以及加密解密,这个应该都有客户端现成代码。只要看明白怎么用就行,不用自己写。
小团队一个测试,真是难为你了,哈哈哈。
不过 http 协议还好,起码收发包这块工具能快速上手。哪怕不用 js,用 python 啥的也都可以。
我现在这个项目是 socket 协议的,就 hin 头疼了。。
感谢指点!
有几个问题想咨询下大佬:
1.压测的并发数量级如何确定?
2.压测相关的服务器数据标准如何确定?比如服务器的 cpu、网络带宽、内存之类的?还有就是,压测一般关注哪些数据?
我就说么,咋感觉互联网的协议啊、压测啥的都是张口就来。
做游戏的接口、压测感觉挺费劲的。而且之前都是程序自己帮忙写了一套框架,我们测试在对应场景写压测的 json 脚本,然后执行看结果。
你都自称 Testing King 了,还漏测?
首先漏测肯定是不可避免的,你得明白这一点。没有哪个测试或者测试团队敢 100% 保证产品上线后就不会有 bug。测试存在的意义是,尽可能减少线上出现的问题以及问题带来的损失。
其次,你是测试,问题肯定不是你搞出来的吧?那你应该去分析历次线上问题的原因,找规律总结,行程一系列的流程规范,比如冒烟测试的点、版本发布流程等等。通过做一些你能做的事情,来减少线上出现漏测问题的数量,这样起码就在朝好的方向发展。
感觉你的想法有点局限了。mac 也能用命令行启动应用吧?没必要非得用 airtest 去启动 perfdog 吧?
项目不准接入 sdk 可还行……
我之前做过接入 sdk 的,用 poco 来实现控件查找。所以你遇到的问题,可以通过 poco 查找控件来处理,经过操作之后,等待某个控件出现,只要出现了,就继续,否则就报错。