我们应该怎么去设计产品的兼容性测试?

做~自己de王妃 提交于 2020-03-01 13:34:53

1.什么是兼容性测试

兼容性测试就是验证开发出来的程序在特定的运行环境中与特定的软件、硬件或数据相组合是否能正常运行、有无异常的测试过程。

2.兼容性测试包含哪几类

(1)浏览器兼容性测试:

在指定的浏览器上检查Web页面样式和元素的展示效果,以及交互是否正常。
主流浏览器:
Windows:IE 9/10/11, Firefox(最新版本), Chrome(最新版本)。
Mac:Safari, Chrome(最新版本), Firefox(最新版本)。
测试注意事项:
① 浏览器兼容性测试常见于B/S(浏览器/服务器端)结构的产品中。
② 虽然我们能通过官方的一些统计数据去收集主流的浏览器和对应的版本,但最好让产品经理明确定义出支持哪些浏览器和对应的版本,因为这也取决于产品的应用人群和具体的业务场景。
③ 浏览器兼容性测试主要检查Web页面样式和元素的展示效果,以及交互是否会有异常,跟具体的业务逻辑无关。
④ 跟前端开发人员多交流,明确哪些样式或元素不是标准的,很有可能会出现兼容性问题,先有针对性地在所有要求支持的浏览器版本上进行验证,再挑选每种浏览器的一个版本去验证所有的标准页面。
⑤ 多记录,多总结,做好统计分析,在后续的测试中,只需针对有改动的、易出现兼容性问题的元素和样式进行测试。
⑥ 留意IE大版本的升级,以及Chrome(谷歌浏览器)和Firefox(火狐浏览器)的迭代版本更新,阅读更新的版本说明,了解是否有大的改动可能会影响到页面的展示或者交互,有计划地去执行兼容性测试。

(2)操作系统兼容性测试:

在指定的操作系统上检查产品功能是否正常。
主流操作系统:
Windows系列、Mac OS X系列、UNIX/Linux系列、Android系列、iOS系列
测试注意事项:
① 常见于C/S(客户端/服务器端)结构的产品中,互联网时代的应用程序从广义上来说也是C/S结构的。
② 基本的注意事项跟上述的浏览器兼容性测试一样,需要关注的是,不同版本的操作系统默认的权限级别会有所不同,从而导致客户端需要访问或调用系统组件或方法时会出错。
③ 同一类操作系统的大版本升级时,需要注意在新的版本或补丁里是否继续兼容老版本的库函数。

(3)多版本兼容性测试:

是为了验证新版本服务器端是否同时支持新/老版本客户端而进行的测试。
测试注意事项:
① 这是很多产品经理在设计需求时容易忽略的地方,也是C/S产品和B/S产品从兼容性角度来说最大的区别。
② 在产品升级之后,服务器端只会是最新版本,但客户端因为不同的用户场景而可能存在老版本,一种原因是没有强制更新,用户不选择升级;另一种原因是在一些企业级的域环境里,客户端包是否升级取决于域管理员的策略。
③ 针对单客户端的产品而言,测试相对简单一些,只要保证服务器端每次升级都不会因为新需求而修改老接口,基本上不会有太多兼容性问题。
④ 测试相对复杂的是那种既有商家版又有用户版的客户端产品,针对会频繁发生交互的功能,需要重点考虑新、老版本的兼容性测试。

(4)数据兼容性测试:

因为新功能的需要或者已有功能的升级改造,涉及已有数据的读取和写入而需要进行的验证,以确保数据在新、老版本之间都能正常流转的过程。
测试注意事项:
① 向前兼容(Forward Compability):新版本的软件要能正常且正确地读取和加载老版本生成的数据。
② 向后兼容(Backward Compability):当前版本的软件要能支持在后续高版本的平台上正常运行。
③ 常见的Office类软件或者多媒体制作或播放类软件,不仅需要考虑新版本客户端是否能正常读取老版本生成的文件,还要考虑新版本生成的文件是否能被老版本客户端正常读取,或者有相应的升级提示信息。
④ 还有一类是常见的订单类数据,要考虑在老版本的服务器端和客户端组合下产生的数据是否能在新版本的服务器端和客户端组合下读取成功,同时业务流程也可以正常进行。
⑤ 对于数据兼容性测试来说,会更多地关联后台历史数据的迁移和转换。这一部分内容也是需要重点关注的,以确保迁移和转换后的数据用户能正常读取。

(5)分辨率兼容性测试:

也被称作适配性测试,是指验证被测网页或产品UI在各种分辨率下的显示器或各种分辨率、尺寸屏幕的移动设备上都能正常显示的测试过程。
测试注意事项:
① 需要关注的一种是普通分辨率的屏幕,另一种是高清分辨率的屏幕。
② 需要关注的问题主要包括显示是否完整、图片是否被拉伸、文字和图片位置是否有错位。

内容来源:何飞 《软件测试进阶之路:测试路上你问我答》,有兴趣的可以一读,很实用。
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!