canvas/webgl测试数据稳定性专项优化优秀实践

Posted 腾讯移动品质中心TMQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas/webgl测试数据稳定性专项优化优秀实践相关的知识,希望对你有一定的参考价值。

背景


Canvas/webgl测试的是浏览器内核的渲染能力。通常会选取一些业界常用的测试页面作为测试用例,例如:

图1webgl测试页面截图

Canvas/webgl测试从列入TBS(腾讯浏览服务)上线前性能测试以来,就一直存在测试数据不稳定问题。初期采用购置小风扇、增加冷却时间、编写重测页面等方法解决问题,效果并不理想。时不时还是会出现测试结果发现性能落后,但开发跟进分析后发现是测试数据波动导致的误报的情况。这种情况对测试和开发同学的工作效率都造成影响。


问题定位


TBS(腾讯浏览服务英文缩写)3.3的上线前性能测试再次测得webgl落后。webglspacerocks用例落后上一版本(TBS3.2)2.59帧。但经过开发定位问题,发现依然是数据波动导致的误报。

canvas/webgl测试数据稳定性专项优化优秀实践

 表1webgl性能测试结果

这次,开发同学和测试同学决定刨根问底找到影响数据波动的根本原因。

通过perfMon性能监控工具,我们发现发热导致的cpu降频和cpu关闭是影响测试结果的主要原因。    

canvas/webgl测试数据稳定性专项优化优秀实践

 图2开发定位问题邮件内容


解决办法


为此,测试组专门购置了性能优越的笔记本散热风扇来给测试手机降温。

canvas/webgl测试数据稳定性专项优化优秀实践

图3笔记本散热风扇

初步验证发现效果良好(下面一段文字为邮件内容节选):

“本周blink3.0 canvas/webgl性能日常监控结果:

数据基本稳定。在增加了散热器与小风扇辅助散热之后,三部手机的测试结果均接近3、4月份结果且多多少少有所提升,无重测项。”


优化效果


日常监控历史记录可以看到优化前后的效果:

1、6个用例的波动范围都不同程度缩小。其中GUIMark3 GM3_JS_Compute的波动从9帧缩小为0.2帧。

canvas/webgl测试数据稳定性专项优化优秀实践

图4优化前后数据波动范围对比

2、之前经常要重测的用例,如今不再需要重测。目前重测概率为0。

测试项目

优化前重测概率
(统计近5次结果)

优化后重测概率
(统计近2次结果)

GM3_JS_Bitmap

0%

0%

GM3_JS_Vector

0%

0%

GM3_JS_Compute

20%

0%

webgl_shader2

0%

0%

webgl_materials

24%

0%

webglspacerocks

40%

0%


表2优化前后重测记录

注:当监控数据和上一次相差2帧或以上时需要重测。


规范“有效落后”门限值


注:达到该门限值才认为是有效落后,开发跟进分析。

6个用例当中,GUIMark3 GM3_JS_Compute的波动最大。所以我们对GUIMark3 GM3_JS_Compute进行了4次测试(每次10组测试值)验证数据波动范围:

测试组

GUIMark3 GM3_JS_Compute

3min-1

3min-2

6min-1

6min-2

平均

53.607

53.266

52.785

53.773

最大最小差

0.9

0.99

0.87

0.92

最大

53.95

53.74

53.11

54.19

最小

53.05

52.75

52.24

53.27

表3优化后数据波动情况

canvas/webgl测试数据稳定性专项优化优秀实践

图5优化后数据波动情况

结论:

1、单次测试10组数据的最大最小值偏差月1帧;

2、多次测试10组数据的平均值波动在0.5帧左右;

3、多次测试所有数据的最大最小值偏差1.95帧。

基于以上测试结果,制定不同用例的“有效落后”门限值如下:

测试项目

“有效落后”门限值

GM3_JS_Bitmap

    1帧

GM3_JS_Vector

    1帧

GM3_JS_Compute

    2帧

webgl_shader2

    1帧

webgl_materials

    1帧

webglspacerocks

    1帧


表5根据数据波动验证结果制定“有效落后”门限值


canvas/webgl测试数据稳定性专项优化优秀实践

canvas/webgl测试数据稳定性专项优化优秀实践




长按指纹识别图中的二维码,获取更多测试干货分享!



canvas/webgl测试数据稳定性专项优化优秀实践  
canvas/webgl测试数据稳定性专项优化优秀实践


以上是关于canvas/webgl测试数据稳定性专项优化优秀实践的主要内容,如果未能解决你的问题,请参考以下文章

测试人员知识盲区:移动端专项测试到底怎么做?

权威认可!PolarDB-X高分通过中国信通院《分布式事务数据库稳定性专项评测》

app专项测试:测试内容

app专项测试:测试内容

移动APP测试 -- 专项测试

移动应用专项测试