• 关于契约测试的疑问 at February 03, 2021

    就是服务间调用都是封装成 rpc ,provider 把接口以独立 api 包形式提供给 consumer,consumer 引入后直接调用 api 包里提供的函数方法。可以参考下 dubbo 。

    个人理解,系统间契约,基本就是客户端 - 服务端、服务端 - 服务端、内部系统 - 外部第三方三种场景。

    第一种基本上会从设计层面确保向下兼容(客户端多版本并存特性决定必须这么做),比如只增不删不改。
    第三种依赖第三方,一般上线后除非第三方变化,否则也不怎么会动
    第二种数量最多,也最容易出现契约测试里提到的问题(一个接口 n 个服务调用,怎么确保调整后不影响其他服务)。但通过 rpc 调用,隐藏实际报文细节,再加上类似第一种的设计方式,也基本能保障不会因为某次改动影响其他服务,即使影响,只要大家更新 api 包,编译时就会发现和修正,也不用特意去测试。

    所以说实话,个人没太想到契约测试在实际项目中能解决什么问题。不过这个只是我自己接触项目的情况,建议你可以结合你们实际项目中发现的问题,分析下有哪类问题是契约测试可以提前发现并解决的,如果发现有不少,也是可以去尝试落地的。

  • 关于契约测试的疑问 at February 02, 2021

    可以先统计下,发现的缺陷里有多少是可以通过这个契约测试发现的?

    每个团队不大一样,关键还是看自己是否适用。我之前所在团队由于契约都是封装成 rpc 调用,每次升级只新增,不改旧的,确保向下兼容,所以不大需要专门做契约测试。

  • 先分析下,这个问题是你推送没推送到,还是大家不想装?

    建议找各团队老大支持,内部喊一句,附上二维码直接扫码安装,试用量应该能涨一波,也不依赖推送了。实在不行加上一个试用反馈的给点奖励,萝卜大棒一起上。

  • jenkins pipeline + gitlab at February 02, 2021

    如何只执行 F1、F2、F3 对应接口测试呢?

    简单的方法:测试手动在测试集里屏蔽掉还没开发完的接口对应用例就行,开发开发完了同步下测试,测试手动执行确认没问题后再去掉屏蔽。

    复杂点的方法:特别写一个程序,识别开发这个接口有没有开发完(识别方法可以是和开发约定一个标志写在 controller 上,或者能找到现有就会有的标志直接识别也可以)。如果没有开发完,那就 skip 掉相关的用例(执行用例前调整默认用例集的内容)

    个人建议用方法 1 就可以了,简单有效。

    PS:这个玩法略特别,一般持续集成关注的是原有功能是否被破坏,执行的是已有功能的自动化测试。新功能一般是开发完甚至提测后才开始关注(除非开发用正统 TDD,先写测试再写实现,但这时候的测试也不是放持续集成里跑的,而是本地跑的,因为前期一定会失败)。

    太早关注反而因为还没完全开发完导致不稳定额外耗费时间精力。

  • 应该是没有做好手机排版适配,已记录:https://github.com/testerhome/homeland/issues/120

  • 周日焦虑失眠吐槽 at February 01, 2021

    一般不建议跳槽,但看到这段描述,这个环境对测试太不友好了,你的杂务事情太多了。
    建议楼主趁年前年后比较多招聘,赶紧准备跳槽吧,再不跳以后就更难跳了。

  • 那先了解清楚步骤和根因吧,没找到原因就很难消除。

    听你这描述,这个问题也不容易被测出来,所以更需要查清原因,才能对应指定合理的策略避免再次出现。

  • UI 自动化一般着重校验功能正常,只验证个别特征值(如界面有没有某个应该出现的标志)

    如果还想看排版什么的有没有问题,建议可以自动化过程中每个页面截个图,然后人工再去看一下。

  • 具体问题具体分析,这个说明有点笼统,只看出了现象,没看出分析和思考。

    具体有什么线上问题?
    有分析过这些上线会出现的 bug 都是什么原因出现吗?
    你当时确实是遗漏测试了还是有测试了,但当时没问题?

  • 找到大致原因了,专栏权限相关代码升级时被冲掉了。我建个 issue 跟踪:https://github.com/testerhome/homeland/issues/117

  • 找到原因了,和会员等级增加了几个等级有关。我把你会员等级调整了下,现在应该可以看到了。你试试?

  • get,今晚回去看看。开源模块是社区自己开发的,有可能和升级后的社区主应用兼容有问题。

  • 浏览器 dev tools 里面,下载图片的请求有报什么错吗?

  • ?创建啥?完整步骤发下?就一张图不知道是干啥

  • 嗯嗯,职级和工资挂钩很正常,但这个一般是有一定规模的公司才会需要。按照楼主说的,整个公司就一个测试,还不确定后面是否招新人,搞这种职级有点过早了。

    小公司一般不是说看你面试水平给你什么职级什么工资,而是我明确我需要什么水平的和薪酬范围多少,再找符合这个要求的人。

  • 1,简单查了下后台错误日志,没什么相关错误,估计是数据有错,所以程序走了另一个分支,并不是报错。

    之前也有收到过其他反馈,初步定位可能和缓存有关,目前已经在想办法进一步复现定位中。

  • 这个其实也容易被误以为是真实用户,毕竟也有人这么起用户名的。不过倒是可以在后面加个(匿名用户)作为区分。已记录 issue:https://github.com/testerhome/homeland/issues/116

    说实话我一开始也误以为匿名功能失效了,后面才发现原来是 fake 的。应该主要是为了方便知道里面分别有哪些不同的人,避免大家误以为同一个人在自问自答。

  • 个人觉得,招聘要求可以给,方便 hr 找人。

    但职级划分没必要,1 个人都没有有啥好划分的,至少十几二十号人以上才有必要做这种标准化划分,避免扯皮。

  • 看实际公司情况。

    有的公司测开 title 干的是业务测试,那就是业务测试的标准
    有的公司测开 title 干的是设计 + 开发 + 推广 + 落地,那就是做出来工具平台实际效果作为标准,比如使用的日活、提高的人效等。
    有的公司测开 title 干的是纯开发的活,那就是开发的标准

    至于初级、中级、高级,那就是水平的差别。个人理解初级一般是执行(比如纯写代码),中级 hold 单一工具或平台(包括从零开始的设计、落地),高级 hold 整个工具平台体系(需要哪些工具平台,工具平台之间怎么组合协作)。

  • 用的是新开无痕窗口么?怎么一上来就是从缓存读取?好奇怪。

  • 点赞!

    可以在顶部开源版块里也投递一下,让更多人看到?

  • 能否新开个无痕 chrome 窗口,重复请求 5 次,然后分别把 5 次请求对应的时间 + 你正文里那样的截图传上来?现在只是一个中间态,不好了解全貌。不排除之前有 response 下发过别的 header 所以引起了强缓存。

  • 有确认过,不读缓存的时机和服务端 response 里下发的失效时间有没有关联关系吗?

  • 已知问题,已登记 issue 跟踪了