⚠️以下描述皆是本人工作经验所得的结论,可能存在个别错误观点。
兼容性面临的问题!
测试中我们遇到较多的兼容性问题存在于UI显示不正确或残缺的问题。由此就会思考还会存在哪些兼容性的问题?(以下是我总结出来的问题)
1.UI兼容(优先级较高),其中就包括分辨率兼容
2.浏览器兼容,涉及到浏览器内核如:chrome、IE、safari、FireFox、Edge等等
3.平台兼容,macOS和Windows/iOS和Android之类,检查要测试的软件在不同浏览器上Web页面的样式和元素的展示效果以及交互是否正常
4.网络格式兼容(优先级较低):
按运营商分:电信、移动、联通
按网络模式分:2G、3G、4G、WiFi
按接入点分:wap、net
5.第三方兼容,最突出的就是输入法兼容,比如:搜狗输入法、模拟器
6.前后版本兼容,其中包括了APP版本新旧版本的兼容,又或者是手机系统前后版本的兼容
7.其他兼容,例如安装、卸载;还有个别项目存在新老账号的兼容问题这也是很重要的点
兼容性测试真的有必要吗?
按我经验所得的是大部分时候还是有必要的。但是假如项目时间较短,测试时间不足时,兼容性测试可以暂时延后,或者每几个版本测试一次。这样子可以增加软件的健壮性,减少不美观功能不缺失不可用等情况的出现。同时增加软件与系统、第三方软件的交互兼容,可以扩大应用市场;这是衡量一个项目质量的重要指标。
兼容性测试的准备
首先,我们要明确兼容性测试的对象、测试允许的时间、测试的方向、测试的资金(最好不过是采用第三方企业的技术支持了!),以及最重要的是测试效益。
然后,我会把上面的限制列出优先级作为执行工作的优先。拿安卓APP兼容性测试为例,按排序分优先级:
1.测试(允许)时间:兼容性测试至少要保留半天以上的测试时间,如果测试时间不足不是太建议强行执行
2.测试的方向:一般来说,我会首选分辨率兼容。因为分辨率兼容往往是最容易发现问题的地方,很多UI缺失UI不符合设计需求等。个别公司存在测试机器较少的情况,这里可以使用Android Studio模拟器实行。这其中就有一个问题,该用哪些分辨率?个人答案是:大、中、小分辨率各取一个即可。
3.前后版本的兼容,这里提供一个方案就是查看各大统计网站友盟+统计,挑出使用率最高的前5/10名的系统版本,甚至分辨率也可以的
4.测试资金,有资金提供就不用想啥了。直接丢给第三方技术支持吧!哈哈
5.测试效益的直接体现,无非是兼容性测试报告中你发现了多少bug,总结出多少经验(日积月累,对以后都很有帮助!)
兼容性的实行
目前除第三方技术支持外,只能从两方面【手动】【自动化】去进行(功能)兼容性测试了。【手动】兼容性测试效率较差,但是发现问题的及时性,以及对新需求的能动反应都是较好的。【自动化】兼容测试,这里可以采用UI自动化去并发执行对多台目标机器兼容测试,优点是极大地省去人工的反复枯燥的工作,复用率优秀后期投入资源少,缺点是前期准备工作时长。
web端,建议使用Python+Selenium
app端,建议使用Python+Appium/Macaca;还有使用Monkey命令去执行稳定性测试
*有更好的方法分享,请留言!
兼容性测试报告
只要明确你测试的总体结果,简单明了的展示出来即可。这里分享一个app兼容性测试报告