Appium GATC2014 移动测试相关 topic 初步解读

思寒_seveniruby · 2014年11月24日 · 最后由 思寒_seveniruby 回复于 2014年11月28日 · 1773 次阅读

移动相关 topic

  1. GTAC 2014: Selendroid - Selenium for Android
  2. GTAC 2014: Espresso, Spoon, Wiremock, Oh my!
  3. GTAC 2014: The Importance of Automated Testing on Real and Virtual Mobile Devices
  4. GTAC 2014: Going Green: Cleaning up the Toxic Mobile Environment

Selendroid - Selenium for Android

selendroid 目前的主力提交人是 facebook ebay salesforce, 演讲人工作于 adobe, 是个开发经理.( Enginerring Manager)

selendroid 是目前唯一全面兼容 webdriver 协议的框架. (appium 并不是完全兼容, 做了扩展)
支持原生 混合 web 三种模式测试.
有自己的 selendroid inspector
支持运行时编写扩展.
支持 selendroid grid
支持移动手势操作

亮点就是有了自己的扩展机制. 可以方便编写自己的扩展. 其他方面跟 appium 的功能基本都一样.

Espresso, Spoon, Wiremock, Oh my!

这个演讲人 google 内部工程师, 总体上是在推荐 espresso. 优点体现的不太强.
不过 espresso 的缺点也显著, 版本支持有断代, 只支持 api 8 10 15 以上, 也暂不支持最新 android5.0
所以建议继续观望. 我总体不看好这个项目.

The Importance of Automated Testing on Real and Virtual Mobile Devices

演讲者在 google 工作, 并且是 appurify 的 CEO(听英语好像是这样说的)
这个是很精彩的演讲. 他提到了一些很现实的问题. 堪称是将来移动云测的方向指导.
移动测试的 debug 和 trace performance 等工具非常缺乏.
很多问题是在启动应用之前就发生了, 需要发现这类问题.
移动设备的场景测试比功能测试更重要.
很多异常 bug 只有在特定的场景下才能检测出来. 需要复杂场景的测试工作.
复杂的场景, 比如低电量 不稳定的网络是影响 app 性能的主因.
appurify 服务可以支持复杂的场景测试, 支持全美的很多网络模拟. 好像手机也是跨地域的.
他们提供了 robot 程序来进行 app 的压力测试. 基于 monkey
appurify 支持 robotium espresso monkey 等多种框架.
尽量使用真机, 尽量使用真实的场景, 必要时再使用模拟器.

Going Green: Cleaning up the Toxic Mobile Environment

这个 topic 也非常棒. 是若干工程师结果演示的合集.
他们用非常有意思的情景剧来介绍他们的工作成果. 非常值得欣赏. 嬉皮的下面是严谨的工程思维.
他们的成果如下
使用 KVM 把虚拟机的启动提升到秒级别.
把 adb 的传输速度提升了几十倍
控制系统场景的测试方法. 做了一个 apk 来完成各种功能. 有意思的是, 百度的 cafe 框架在 2 年前就已经发明了这个方法. 所以大家明白为什么我一直很推崇鲁晓宇和他的框架. (这个框架作者已经不维护了, 转开发了. 淘宝的太禅也同样转开发了, 至于原因, 大家可以自己思考和八卦)
测试用例的管理和隔离. 使用 dexdump
测试结果的收集, 使用 collect+pull 的方式从手机上获取.
未来计划, 没太看懂 好像是场景模拟和网页版的 android 模拟器展现.

这些成果都非常实用, 也获得了全场的掌声. 团队也非常富有激情.

总体印象

花了一整个晚上看 GATC 的视频. 很多地方听的有点马虎, 所以内容仅供参考, 推荐大家去看原视频.
印度人非常多, 凸显了印度人在互联网领域的强势. 这也是硅谷的现状.
演讲者大多数都是开发工程师. 只看到一个是 SET 这也体现出了具备技术实力的工程师才能在质量保证工作上走的更远.

遗憾

我并没有看到有人讲 app 产品的监控.
并没有看到更底层的移动框架和工具的介绍, 比如分析 api 调用和覆盖率的工具.
其中有几个 topic 演讲的内容有点水

后续

等拿到完整的 ppt 后, 针对每个 topic,建议咱们都开个帖子, 好好交流下

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 12 条回复 时间 点赞

Appium 驱动 selendroid。理论上应该也是完全兼容

#1 楼 @lihuazhang appium 可以驱动 selendroid, 不过有些底层的功能 appium 没有对应的封装. 导致是 selendroid 有 api 可以测试, 但是 appium 会考虑全局的通用性不进行封装.

appium 自己独创了 appiumdriver. 另外一个是自己扩展机制还没形成 这两个没做好.
selendroid 的 inspector 我挺喜欢的.

长期来看, appium 还是优势的. 不过如果是搞深入测试, 还得部分依赖 selendroid.
不切换上下文基本也没什么成本. 可以忽略.

#2 楼 @seveniruby selendroid 国内资料很少,可以适当引入。不过这种 webdriver 这一系列基于 TCP/IP 协议的,都会不稳定,这个很致命。

#2 楼 @seveniruby 求分享 GATC2014 的视频链接 STO

匿名 #5 · 2014年11月24日

The Importance of Automated Testing on Real and Virtual Mobile Devices 里面讲处理特殊场景方式:通过动态找出 ui els,并执行可能导致 crash 操作发现 bug。我对这种测试方式的 bug 可重现性、可跟进性及测试执行路径深度都不乐观,总的来说,我个人不太认可这种方式。

#5 楼 @hyddd 其实有更好的方式. 比如产品监控和 api 级别的场景录制. 他是基于他们的云服务想到的一个方案. 而实际的场景可能是更复杂的.

匿名 #7 · 2014年11月24日

产品监控算是现在产品的通配了;api 级别的录制没看明白;测试方案创新是好,但易用性和效果必须是基础,看了 2 个视频,没能给我 Critical Hit.....哎

api 级别的监控, 腾讯已经有了, twork. 做游戏录制的. 还不针对移动. 以前 firefox 也出过一个 c++ 级别的 api 录制回放工具. 任何应用在他的基础上运行, 可以精准的模拟. 目前还没人做 android 的.

appurify 网站着了很久的注册入口,没有找到,坑啊

12楼 已删除

#9 楼 @keen_lau 他们本来就不开放的. 估计还在内测中. 未来必定会开放的.

#3 楼 @lihuazhang 我挺看好 selendroid, 这玩意毕竟是 appium 的底层, 将来很多机制需要依赖它改进. 而且他是纯 java ,将来可以做到把整个服务端都嵌入到 app 内部. 而且纯 java 写的, 容易吸引更多人去维护. nodejs 目前维护的人不太多. 代码比较凌乱. 没好的 IDE.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册