• https://testerhome.com/topics/27935 第三章的链接,里面还有一二章的。如果没看前面的,建议是按顺序看。

  • code 是不够的,可以去断言回包里面的某个字段信息,这个信息可以放到类似 response 区域下面,去 json path 去获取验证内容是否符合。
    response:
    关键需要验证的 key:验证内容

  • python 中获取动态绝对路径 at 2021年04月06日

    一劳永逸,可以在根目录里面加个文件,里面有个变量 project = os.path.abspath(os.path.dirname(file))
    然后其他地方引用这个文件 os.path.json(project,二级目录,xx) 一路拼接过去就行。

  • 其实感觉你已经写出来了啊 unpack 那段。也可能是我没理解你的问题,要不再补充点我再给答复啊

  • 1.一列特别长是把传输的协议变成 Json 了吗,如果用 excel 做,这样是比较长的。
    以前考虑过做一些压缩,就是把必填的不传入,根据场景名传入,后面发现很容易忘记和不好维护。excel 表里面可以用 Json 格式化来稍微好读一点。
    2.参数还需要某个协议的某个数据取值 这个需要存上下文,上文(上面 case)对象存到 redis 定义 key 为 string,value 就是具体对象,比如 guild_key 公会的 key,是用 {{guild_key}}做模板的形式,遇到解析{{}}之前的就从 redis 那边读取。
    3.培训起来是都有成本的,毕竟一开始学代码时解析多层 Json 数据也是难点,怎么填和修改 json 对象才能达成好的效果,建议是多写文档。

  • 插件化是一种思路,但是建议是做内部服务,tapd 做一个 saas,包装 buginfo,关键场景等等定义一系列数据结构。钉钉 api 做一个 saas,中间层一个 pm 服务的 saas(包含多少时间未处理提醒和流转状态等等),这个 saas 去统一调用二边。企业微信等价 tapd,稍微麻烦点,需要拿组织架构权限和再申请一个应用。

  • 目前看来有着一些焦虑和不确定性。
    可以试试往大数据这些风口行业去转,额外找一些兴趣爱好。我目前业余时间在学中医给自己开药和针灸。目前胃病比过去好转不少了。

  • 建议这块用单测的方式,如果涉及一些服务之间的切换的,可以用 lua 调战斗的动态链库。
    写下单测也是一种积累,可以当成一种扫描,分析了下,这块应该不用 mock 会比较好,能 mock 的也只有是否真实进入战斗还是本地虚拟计算一次,其他的还是要触发一次逻辑的。

  • 没问题,有问题随时问,争取本周出个第 4 章

  • 这个是一个处理分包的问题,后面会讲的。
    TCP 是一个包里面包含包头 + 包体部分。当然这个中间有可能还有别的,假定是目前只有这 2 个,包头 4 个字节,里面存放包体,一个完整的包就是包头 4 个字节加里面存放的长度。
    你收包其实是收到多个包,如果把一整段包拆成正确的包,才能进行 unpack(),判断合法就是判断收到的包起码等于一个包头的长度。
    struct.unpack(">i",packet[:4]) 首先如果这个是解包头的话,可以不用那么复杂。通过这个直接可以取里面值(包体长度 比如是 57)。然后切出整个包的 total 总收到长度 - 4-57 后面就是第二个包,然后再切 4 个字节,依次往下一定会到 0 的

  • 本周会出,稍等。最近实在工作上事情比较多。

  • 框架是有明显的天花板的。平台无论是从管理到操作方面比框架有更高的天花板,开源平台一般天花板比较低,平台需要往后面版本做提高能力,但又要规避 KPI 项目。
    平台(前端/后端)和框架也是二个业务,需要规划好 解耦,前后端分离。

  • 对于一些新技术都有探索等,有兴趣的欢迎聊聊。未来可能还有一些旧时产业内明星开发加入,比如业余指导大厂 lua 研发框架开发做为测试开发的加入。
    互相学习的机会也是多多的。

    其他岗位陆续补充中

  • 主要看客户端实现装备和角色相关逻辑用啥写的,因为现在做测试开发就不分析单纯策略的角度了。
    如果是 lua 和 C# 开发这部分的话,还是做单测比较快(单测代码也是对于团队的一种积累)。有啥具体不明白的欢迎随时问。
    写 Lua 时间比较久,如果是 Lua 开发这块的,尽管问。。

  • 就算只是 http 协议还是蛮多细节的,如果学习了。还是尽快用于工作。RobotFramework 可以二次开发的,一些监听可以自定义。。

  • 欢迎一起加入测试开发行业,职业不重要,取决于人。举例:之前网上(脉脉)看到一个人介绍,正职市场销售,自学 c++,兼多家金融核心开发,架构师等等。

  • 我在游戏产业,很真实的,看着测试从三驾马车,一路掉到现在这个地步。如果真的没啥技能门槛了,现在测试地位其实还蛮尴尬的。

  • bim 模型,3d 图形,Three.Js 的吗?这块不会,关注下回答。
    我之前对于 Three.Js 做工具这块,倒是有个想法。

  • 老脸一红,学习中学习中。

  • 是这样的,说下自己个人见解,先从目标一和目标二来说下,先拿 Python 技术栈来说,无论目标一还是目标二都是一个混合多个技术栈大目标,但是测试不仅仅只有这些。
    目标一:
    逐步系列可以参考https://testerhome.com/topics/27935
    如果性子比较急可以参考 https://testerhome.com/topics/24240
    简述下过程,拿 Tcp +pb 举个例子
    协议接口是做得最外层 controller 中得 apipath,这个需要做过 controller 和 service 和 model 得更好理解。
    只是游戏得这个 apipath 是通过几个结构体信息去拼接到一起的,而不是一个直接对象的拷贝。
    通过 socket 去模拟客户端链接服务器,链接后 先需要按项目要求 把包头和包体拼接成一个字节数组(包体部分就是用 pb 序列化 pack 到包体部分),然后通过 send 拼接得字节数组 发送到服务端。服务端开始处理(这部分不用考虑),服务器验证协议发送正确后,回包给客户端,客户端开始进行解包(这部分 Tcp 涉及处理粘包),会收到多个包,根据包里面的命令号去决定是否要解哪个包。
    解包需要做 pb 反序列化 +pb format 变成可读的 dict,dict 里面需要取出一些变量存储内存中,其他地方可以用到。(这个就是所谓得上下文,也是基础级别得)

    目标二:
    jmeter 做压测,支持的协议是需要开发 Java 转换成 Jar 再载入进去。并且 Jmeter 还需要对设置进行优化才能提供到生产那边。Python 来说 Locust 似乎也是不错的选择,原来开源了 Tcp+ 非 zeromq 版本的,后面删了。
    你可以先试试 Python 栈的这个,做压测需要了解网络模型和异步 task。
    目标二建议有一定基础项目,可以读源码解决问题时再开发做。

    Python 可以先集中到一定阶段后,再建议换一门语言,Java 和 Golang 都是不错的选择。
    Python 之前有个一个小标准,建议可以参考下,之前只对自己有这个要求,这样才能再开发上面得心应手,数据结构设计和运用时可以心到手到。
    1.各种数据结构转换 和任意位置插入,删除,查找。(面向对象,就是知道对象是啥,如何转换对象进行衔接,用别人的 Apier 和自己写 api 这个是最基础的)
    2.熟练掌握类,类动态增改复位对象,类里面成员函数,类变量,实例区域里面得对象存储起来,在上下文中如何使用,了解时序的概念。 python 是推荐用面向对象编程得语言。1 和 2 最好都要做到不查资料就能写。
    3.掌握有限状态机和标志位写法。(2,3 二条可以避免代码是看起来串一起的,这个不影响可读性也不是花式写法)
    4.反射应用熟练,掌握 Python 常用得魔术方法(约 12 个)并且不用查资源都知道返回对象是啥。
    5.掌握 Python 语言核心特性,闭包装饰器,偏函数,列表推导式,字典推导式和 Python 一些便利写法。(推荐看下巴西开发者 写得书)
    6.掌握常规的数据库使用方式并且做过封装,会跨数据库数据和跨表查询(这个很关键吧,后者我搞不懂为啥只要求开发会)

    似乎没看到四大模块中的自动化,其实游戏自动化已经变化很大,只有加了核心步骤和控件就不在原来界面了,才会需要大改。只是换了位置和大小修改,加了非核心步骤,是可以做到维护脚本的。

    自动化本身跑的就是功能测试用例,可以做任何你想得到得结合都行(我自己规划组件数量可以有 70 个,目前所效力得公司才做了 6 分之一不到。)
    e.g 自动化不想跑新手引导,可以下线调用接口测试那边跑完新手引导,也可以修改数据库后重启服务,获得标志位,再次上线。

    也没有看到持续集成 CI/CD 分别是 2 个东西,内容还是挺多的。Python 对 Jenkins 库 Api 支持也是极好的。
    工具才是大头吧,工具对比四大模块比例是 7:3 设置更高。

    似乎前期都不用顾虑和思索比较深,先钻进去学吧(这里面不包含多线程/进程,协程,锁等等),就算做框架和产品也不是全部想清楚就不会中途修改和优化的,代码数量和工具项目引发的量变一定会质变,代码写多了用开源才能得心应手啊(手动猫头)
    游戏测试要掌握技术栈可能要比互联网测试多的多,语言才是硬道理,但是测试如果喜欢他钻研进去就不仅仅是职业。回复太多了。有点长,慢慢看。

  • 这个是一个接口参数化的问题,比如用数据库内读取一批数据到内存里面,用掉一个就推出去一个。每次跑的都是第一行数据。
    如果是线上避免污染的,可以接口测试前置开发切换成新环境/新表(这个是比较常见的),接口测试结算任务时删除新表,做相关的复位。

  • 效能分为 3 个层面,第一面减少时间损耗,第二面是增加产能,减少消息孤岛。第三面是得到全景图才能合理调兵谴将。。前者是做门禁,不要轻易就准出了。后者收益最大一开始肯定是造数和造环境和做一些同步报警即将超时和 x 小时未处理任务状态的事情。
    最后一个是要做产能统计,有数据才能知道提升和降低了。

  • 。。。我拿去垫枕头吗。

  • 你那个版本的 pycharm 有点🐂啊,这都没抛错。~看 b() 下面的 print 和 b() 都有提示线了,只是白底不容易显示。

  • 广州大立信 海珠区 368 号别被吃掉啊,看微信哪年开始招人暴涨就知道了。广州网易实力雄厚,多玩虎牙,UC 等等。