OSC 第 90 期高手问答 —— 移动 APP 自动化测试

叶秀兰 发布于 2015/09/08 16:15
阅读 4K+
收藏 25

OSCHINA 本期高手问答( 9月8日- 9月14日) 我们请来了 @hy1984427 为大家解答关于 移动 APP 自动化测试 方面的问题。

黄勇,@hy1984427 ,现任 ThoughtWorks 中国区 QA Lead。2006 年天津大学计算机专业本科毕业,毕业后先后任职于博彦科技,普华永道和 ThoughtWorks;他作为资深质量分析师,先后工作在互联网、会计审计、保险、房地产、电信等各领域的大型企业级项目上。 他参与合作组织和创办了北京软件质量大会 B’QConf,作为主讲嘉宾参加了第1、2和13届B’QConf。他始终关注于新的技术和业界趋势,不停汲取新的知识和实践,同时热衷于知识和经验的 分享。

现在移动app测试本身就处于开始快速发展的时期,所以针对移动app的自动化测试框架和工具都 不是很成熟,而且这些框架和工具迭代速度很快,就要求我们更要随时更新自己的知识。同时还要注意在进行自动化测试的同时,考虑到投入产出比,真正使自动化 测试给整个app的测试带来更多的测试效益,而不是只是为了测试而测试。更多高手观点请看这里:http://hy1984427.github.io/

《移动App测试的22条军规》全面讲解了移动App测试的技术、技巧、工具、案例和测试用例。主要内容为:移动App的特性,关注多任务和意外情况处理,避免手势冲突,关注用户体 验,设计通知和消息展示,支持操作系统特性,及时显示和同步消息,支持多种文件格式,支持多语言和地区设置, 重点测试高内存占用的功能、降低流量和电量消耗,确保成功集成和调用第三方App,充分使用持续集成、持续部署,以及微信App测试综合案例分析等核心技术。

为了鼓励踊跃提问,@人民邮电出版社 会在问答结束后从提问者中抽取 5 名幸运会员赠予《移动App测试的22条军规》一书。

样章试读请点这里

购买链接:http://item.jd.com/11730286.html 

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 移动 APP 自动化测试 方面问题向 @hy1984427 提问,请直接回帖提问。

加载中
0
小编辑
小编辑

活动已经结束,恭喜@mystar @CrazyHarry @赵占涛 @Jieven @leoxu 在高手问答环节中获得移动App测试的22条军规1本,请把邮寄地址私信给@小编辑  。再次感谢各位积极参与活动。邮寄信息格式:姓名+电话+地址+邮编号码。

buglife
buglife
书还没邮寄吗?
0
mahengyang
mahengyang

@hy1984427 :移动app变化通常速度非常快,公司为了维护这些自动化测试花费了大量的人力物力,网上也有很多这方面的文章,但基本都是以一个高手的姿态讲解,并不适合没有大牛的普通互联网公司,作者怎么看?

0
LeoXu
LeoXu
@hy1984427 :您好,我做移动app开发一年多了,使用的技术主要是web app,团队没有专门的测试,程序主要靠开发者自己提供质量保障,我想了解的是测试人员如何在移动项目的开发中发挥作用,主要是在工作内容和方式上有没有一些好的实践,烦请赐教。
0
小杨阿哥哥
小杨阿哥哥
@hy1984427 :你好,目前有哪些好用的测试框架?
0
hy1984427
hy1984427

引用来自“mahengyang”的评论

@hy1984427 :移动app变化通常速度非常快,公司为了维护这些自动化测试花费了大量的人力物力,网上也有很多这方面的文章,但基本都是以一个高手的姿态讲解,并不适合没有大牛的普通互联网公司,作者怎么看?

这位朋友说的很对。很多时候如果单从自动化测试出发,会写大量的自动化测试脚本,维护起来也成了头疼的事情。这种情况不单单是对移动app测试的时候会有,对于web和桌面应用也是如此。所以我们在项目中采用的是测试金字塔(原文:http://martinfowler.com/bliki/TestPyramid.html;译文:http://zyzhang.github.io/blog/2013/04/28/test-pyramid/),来规划每一层级的测试,争取做到用少的测试用例,达到最大的测试覆盖。同时采用的还有一种设计自动化测试用例的方法:User Journey用户旅程(http://theuxreview.co.uk/user-journeys-beginners-guide/)或者Customer Journey客户旅程(http://www.zhihu.com/question/21908280)。这样会让我们把功能点通过这种方式组合起来,虽然可能会遗漏一下小的细节,但是这些细节可以通过低层级的功能测试甚至单元测试来覆盖。
0
hy1984427
hy1984427

引用来自“leoxu”的评论

@hy1984427 :您好,我做移动app开发一年多了,使用的技术主要是web app,团队没有专门的测试,程序主要靠开发者自己提供质量保障,我想了解的是测试人员如何在移动项目的开发中发挥作用,主要是在工作内容和方式上有没有一些好的实践,烦请赐教。

这个问题其实问的是测试人员在项目中的作用。我的理解是任何人只要肯花时间,付出例如一万小时,就能成为某一方面的专家,而不论他之前是做什么的。所以测试人员只是做这些事情的一类人的统称,所以开发人员也是可以做测试的。需要注意的是,“屁股决定脑袋”,所以作为测试人员,会更加关注于产品的测试,而非开发细节,这就使得测试人员的视角会有不同,从而发现一些开发人员盲区里的缺陷。

具体说来,测试人员在移动开发中,做的更多的其实是探索性测试和可用性测试等。当然功能测试是必不可少的基础,但是如果开发人员用的是TDD,那么单个activity或者view内部的功能都没有什么问题,功能测试的时候关注的更多是页面的跳转和数据的流动。

除此之外,测试人员还需要从用户角度出发,考虑测试场景,以及优化和设计用户旅程。而且还需要考虑和设计用户的体验,例如不同平台之间是否需要统一用户界面设计,或者遵从不同才做平台的设计。这一部分很可能和通常业务分析人员/产品经理的职能有所重合。

在技术方面,测试人员也需要负责设计和实现app的自动化测试。

对于不同操作系统平台,不同设备之间的区别,测试人员一般也需要掌握,这样能在测试的时候,更有针对性的进行测试和发现缺陷。

总的来说,测试人员在移动测试中需要考虑和设计的更多,需要更多的知识,更需要从需求和测试规划方面来助力移动开发。

0
wise622453
wise622453
@hy1984427 :对于项目快速迭代的移动互联网行业,如何权衡自动化所带来的实际收益,特别是自动化实际提升的效率有多少? 自动化的程度有多高?实际投入自动化实现的工作量有多大?能够替代掉手工测试多少内容?这些能否给出量化的例子呢?
0
hy1984427
hy1984427

引用来自“小杨阿哥哥”的评论

@hy1984427 :你好,目前有哪些好用的测试框架?

现阶段移动app自动化测试框架都不是非常完善,不过Calabash是不错的一个选择,因为它对于iOS和Android都可以支持,所以通过自己写一层胶水层,适配iOS和Android,对外暴露统一的接口。

Appium也是一个不错的备选,之所以做备选是因为Appium升级很快,升级后对原先的脚本需要进行维护才能成功运行。Appium出现不稳定的几率还是稍微大一些,所以是备选。当然,Appium社区还是很活跃的,相对来说解决问题也会更快。

对于单元测试的框架来说Robolectric是使用比较广泛的Android TDD测试框架。

当然,也有些测试框架不推荐大家使用,比如说QTP+Meux的组合。虽然这一组合也可以测试移动app,但是QTP本身就是商业软件,价格不低,Meux也是商业软件,同样需要支付不菲的费用。QTP使用的是VBScript,虽然方便录制回放,但是对于语言的学习成本,以及维护成本都不低;Meux对于移动测试的支持还不够完备,比如过有些元素就无法定位,需要反馈给厂商,等待修复才能解决,周期比较长。

0
amonxu
amonxu

@hy1984427 :是否可以安心的把测试交给自动化测试呢?

之前试用过testin的自动化测试,感觉效果非常不理想。

有什么好的方案推荐吗,它们之前的优缺点是什么呢?

谢谢!

amonxu
amonxu
回复 @dreamlin : hello,哪位?
d
dreamlin
回复 @dreamlin : hello
d
dreamlin
不懂
0
黄勇
黄勇
@hy1984427 : 幸会!找到和我同名同姓的人了
返回顶部
顶部