简体   繁体   English

如何确定有助于重现Android Web浏览器Web渲染错误的因素?

[英]How to identify factors that will help reproduce web rendering bugs for android web browsers?

Recently I've been working on a number of tickets for web rendering bugs that are only seen on a subset of Android devices (or even a single Android device). 最近,我一直在处理许多Web渲染错误的故障单,这些故障单仅在一部分Android设备(甚至单个Android设备)上可见。 Reproducing bugs in this category seems to be really difficult -- sometimes I find that I can't do it at all, and worse, sometimes I can on some devices but not on others and I have no idea why. 重现此类错误似乎真的很困难-有时我发现我根本做不到,更糟糕的是,有时我可以在某些设备上执行,但不能在其他设备上执行,我也不知道为什么。

As an example: one ticket was recently reported by QA as affecting "Galaxy Tab/ Android QA build 4.1." 例如:QA最近报告了一张票证影响了“ Galaxy Tab / Android QA内部版本4.1”。 I tried 我试过了

  • running an emulator (both ADT and Genymotion) with 4.1 (couldn't reproduce there) 使用4.1运行仿真器(ADT和Genymotion)(无法在此处复制)
  • two different Galaxy Tab devices running 4.1 (unable to reproduce there) 两个运行4.1的不同Galaxy Tab设备(无法在此处重现)
  • Browserstack's Galaxy Tab 2 10.1 emulator (running Android 4.0)... and I saw exactly what the screenshot QA had attached to the ticket showed, successully reproducing the problem. Browserstack的Galaxy Tab 2 10.1模拟器(运行Android 4.0)...,我确切地看到了QA附加到票证上的屏幕截图,成功地重现了该问题。

It's great that I eventually solved that specific bug, but on the other hand, it would have been easy to give up after the first two attempts and never have tried Browserstack. 我最终解决了该特定错误,这很不错,但是,另一方面,在前两次尝试之后放弃它很容易,并且从未尝试过使用Browserstack。 It's half dumb luck that I found a way to reproduce it. 我找到了复制它的方法,这真是愚蠢的运气。 I'd like to rely less on that and learn to better (a) identify likely places I can reproduce problems (b) grill QA to give me all the details I need. 我想减少依赖,学会更好地(a)确定可能重现问题的地点(b)进行烧烤质量检查以提供我所需的所有详细信息。

What are the relevant variables? 有哪些相关变量? I'm thinking of things like: 我在想这样的事情:

  • Android version Android版
  • Browser version 浏览器版本
  • Maybe kernel version? 也许是内核版本?
  • Stock vs custom OS (how big a role can carrier/manufacturer variations play)? 库存与定制OS(运营商/制造商的差异可以发挥多大的作用)?
  • Screen dimensions/resolution 屏幕尺寸/分辨率
  • Other hardware variations? 其他硬件变化吗?

But I don't know much about how these interact or what other things may be in play. 但是,我对这些交互作用或发生的其他事情并不了解。

Another way of asking this question -- if someone comes to me and says "Hi, I'm seeing a problem on your website when browsing with my Samsum DroidTab?" 提出此问题的另一种方式-如果有人来找我说:“嗨,当我使用Samsum DroidTab浏览时,我在您的网站上看到问题吗?” (or other imprecisely specified device) what exactly do I need to find out in order to find another device/emulator on which I can reliably reproduce what they're seeing? (或其他不精确指定的设备)我需要找出什么才能找到可以可靠地重现他们所看到内容的其他设备/模拟器?

There is a bunch of what I would call environmental variables. 我称之为环境变量。 As environmental variables I would define those factors that affects the way an application or device behaves, but are not depending on a device itself. 作为环境变量,我将定义那些影响应用程序或设备行为方式的因素,但并不取决于设备本身。

For instance, the type of Internet connection is an environmental variable. 例如,Internet连接的类型是环境变量。 I have been dealing a couple of times with problems regarding Internet connectivity. 我已经处理过几次有关Internet连接的问题。 I did request full information of the device and app, but I was not able to reproduce it. 我确实要求提供有关设备和应用程序的完整信息,但无法复制它们。 It was not until I decided to try with different connectivities until I reach the conclusion that the user was under a WiFi network that required authorization, and it was thus unable to perform some background operations. 直到我决定尝试使用不同的连接性时,我才得出结论,用户位于需要授权的WiFi网络下,因此无法执行某些后台操作。 When a device is connected to a WiFi network Android deactivates the 3G connection even if the WiFi network does not have connectivity, so I had to solve it with a hack. 当设备连接到WiFi网络时,即使WiFi网络没有连接,Android也会停用3G连接,因此我不得不通过破解来解决。

Another factor that might have some impact in how an application behaves are device situational issues, such as battery level (Google Glasses does not allow to use voice commands under low battery, or some devices does not allow to take pictures). 可能会对应用程序的行为产生影响的另一个因素是设备状况问题,例如电池电量(Google眼镜不允许在电池电量不足的情况下使用语音命令,或者某些设备不允许拍照)。

Stock vs custom OS implementations are definitely in the list (ie, Date Picker implementation varies in Samsung Layer). 股票与自定义OS的实现肯定在列表中(即Date Picker的实现在Samsung Layer中有所不同)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM