6

最近,我一直在处理一些仅在部分 Android 设备(甚至是单个 Android 设备)上出现的 Web 渲染错误的票证。重现这个类别的错误似乎真的很困难——有时我发现我根本做不到,更糟糕的是,有时我可以在某些设备上但不能在其他设备上,我不知道为什么。

例如:最近 QA 报告了一张故障单,称其影响了“Galaxy Tab/Android QA build 4.1”。我试过了

  • 使用 4.1 运行模拟器(ADT 和 Genymotion)(无法在那里重现)
  • 运行 4.1 的两个不同的 Galaxy Tab 设备(无法在那里重现)
  • Browserstack 的 Galaxy Tab 2 10.1 模拟器(运行 Android 4.0)...我看到了 QA 附在票证上的截图,成功重现了问题。

很高兴我最终解决了那个特定的错误,但另一方面,在前两次尝试之后很容易放弃并且从未尝试过 Browserstack。我找到了一种重现它的方法,真是太幸运了。我想减少对它的依赖,并学会更好地 (a) 确定我可以重现问题的可能位置 (b) 询问 QA 以提供我需要的所有细节。

相关变量是什么?我在想这样的事情:

  • 安卓版
  • 浏览器版本
  • 也许内核版本?
  • 库存与定制操作系统(运营商/制造商的变化可以发挥多大的作用)?
  • 屏幕尺寸/分辨率
  • 其他硬件变化?

但我不太了解这些是如何相互作用的,或者还有什么其他的事情可能在起作用。

问这个问题的另一种方式——如果有人来找我说“嗨,我在使用我的 Samsum DroidTab 浏览时在你的网站上看到了问题?” (或其他不精确指定的设备)我究竟需要找出什么才能找到另一个设备/模拟器,我可以在其上可靠地重现他们所看到的内容?

4

1 回答 1

2

有一堆我称之为环境变量的东西。作为环境变量,我将定义那些影响应用程序或设备行为方式的因素,但不取决于设备本身。

例如,Internet 连接的类型是一个环境变量。我已经处理过几次有关 Internet 连接的问题。我确实请求了设备和应用程序的完整信息,但我无法重现它。直到我决定尝试不同的连接,直到我得出结论,用户在需要授权的 WiFi 网络下,因此无法执行一些后台操作。当设备连接到 WiFi 网络时,即使 WiFi 网络没有连接,Android 也会停用 3G 连接,所以我不得不通过破解来解决它。

另一个可能对应用程序行为产生影响的因素是设备状况问题,例如电池电量(谷歌眼镜不允许在电池电量不足的情况下使用语音命令,或者某些设备不允许拍照)。

库存与自定义操作系统实现肯定在列表中(即,日期选择器实现在三星层中有所不同)。

于 2014-04-27T19:33:27.717 回答