背景:
负责的项目是 web 端 toC 产品,版本的兼容测试是在本机上下载不同的浏览器进行验证,耗时长且效率低。在社区筛选了类似的提问,暂时没有搜索到合适的回答,因此开贴记录此问题~
目前的疑问:
1、需要覆盖的浏览器范围。之前测试移动端产品时有用户 top 使用机型、top 使用版本,想了解下 web 端的兼容是否也有类似的标准,哪些类型和版本的浏览器是需要进行兼容验证的。
2、进行兼容验证的方法。目前是手动进行回归验证,耗时较多。之前稍微看了下 selenium,好像是只能在支持 web driver 的浏览器上执行 (火狐上就不能运行)。如果希望通过自动化来完成一部分回归工作的话,有没有比较推荐的框架选择呢?(暂时知道有 selenium 和 cypress 两种)
3、兼容测试的环境。现在是只在本人电脑上进行回归验证 (Windows10 系统),覆盖的操作系统和分辨率有限,针对不同操作系统不同分辨率,有没有好的方法进行验证。
期待大佬们的指点
selenium 就可以啊,用不同的内核驱动就可以了,不过就 ie 兼容有点麻烦,不能或者很难降级的,很多时候都要找运维重装系统。
能说一以下你们的目标用户群体吗?这个很关键
部分中低端画师。这些画师通过 web 平台将自己的作品能够分流到 APP 上售卖给用户。目前是 900 人左右注册了这个项目。
selenium 怎么会不支持火狐呢,你再看清楚一点吧
一般来说你覆盖三大主要的浏览器就可以了,如果要涉及到不同分辨率不同版本不同系统,建议考虑一下云测平台了
1、先要确定覆盖浏览器的类型和版本号,这个看你们前端有没有埋点统计,然后再综合用户实际使用的,确定要覆盖哪些
2&3、建议用 selenium,比较完善,可以使用本机环境执行,或者使用 seleium grid 或者 selenoid 之类的远程执行器;cypress 试用过,不支持跨域和多标签,如果会 js 的话可以考虑下
说个题外话,兼容性测试最难的是结果校验,比如一些样式显示错位的问题,我之前是每步执行都截图下来,跑完直接批量看图片
第 1 点:也就是没有政府项目,IE 浏览器不用考虑兼容性了。我半年前查的国内浏览器份额(不确定来源真假):chronium 内核已经占了 9 成左右,基本上 chrome 浏览器跑了 OK 就行,但是小心 360(chronium 版本极低);画师群体的话(chronium 内核浏览器、gecko 内核浏览器以及 safari 浏览器(webkit 内核)),自己斟酌。
第 2 点:selenium 足够了,你需要下对应浏览器版本的对应驱动,chrome、firefox(geckodriver)、Edge(win10 版)都有的。
第 3 点:涉及的分辨率以及系统,分辨率这个要看涉及部门设计的是什么,如果只设计了一种排版,那你就别管了,系统这个我答不上来,但是我们现在就是只作 windows10,其他的出 bug 了再改吧,先有足够的用户再说。
只有自己一个人的话,可以先自己查一些资料,再作一番自己的归纳,然后再拿出来晒晒,我觉得这样子是对自己有帮助的,问别人,对自己的帮助可能不是太大。
可以让研发统计到你们业务用户使用的浏览器的分布情况,根据前几名去决定覆盖范围
toB 产品,一般乙方应该可以提供需要兼容的浏览器版本清单吧?
toC 才是采集用户数据,因为用户没法主动告诉你。
用户群体不大其实可以考虑固定某些兼容。
这个短期肯定还是手工测试最快,如果为了提升效率或者提升个人技术能力可以考虑基于 selenium 做一套系统…我之前写过一个这种兼容性测试系统,实现方案写在这里
https://www.yuque.com/jokerfupei/lxhsax/ggli4i
如果以后感兴趣可以私下探讨实现细节和后续优化~
对于问题一,我觉得可以建立一个兼容性测试模型,这个模型可以包括但不仅限于浏览器内核和版本
、浏览器市场占比
、本产品浏览器使用占比
、操作系统平台
、操作系统分辨率
等要素。
然后在每个要素下罗列出收集到的相关数据,根据要素的权重和数据的排名进行浏览器和系统平台的组合,得出测试需要覆盖的情况,并再次进行分类,根据项目和测试资源情况得出优先级别由高到低的兼容性测试列表,这样便于根据不同的版本挑选出对应级别的兼容性测试列表,可以有效并且科学地节约兼容性测试成本。
selenium 就可以啊,用不同的内核驱动就可以了,不过就 ie 兼容有点麻烦,不能或者很难降级的,很多时候都要找运维重装系统。