从自动化、功能、性能、压力、稳定性到兼容性测试,移动应用测试分门别类甚广,尽管测试对于大多数企业和开发者而言是非常头疼的事情,但许多公司在很多时候还是由开发者自测应用,更有甚者因资金等种种原因而没有测试,由此催生出众多第三方测试服务。在fir.im一周年暨新版发布会上,iOS开发大牛 唐巧、《iOS测试指南》作者 芈珺、WorkTile创始人 王涛以及fir.im创始人 王猛就移动应用测试开发中遇到的那些坑与“黑锅”进行了深度的讨论。
移动应用测试现状
谈到移动应用测试的现状,唐巧表示,目前许多公司都是开发者自己负责应用测试,自测其实是很困难的一件事,有些公司还会由于资金以及其他原因没有测试,也有一些公司会采取招一大堆功能测试和Android测试人员的手段,但大部分并没有特别地成熟、完善,很难通过单点测试或自动化测试来覆盖整体功能,总体而言还是比较费劲。于是,便有许多创业公司试图在这方面深耕以求解决痛点。
芈珺则表示,现在对于移动应用测试而言,即使配备了测试团队,也可能不会发现太多问题,甚至于发现的问题不是很重要,但上线之后却会暴露出大问题。对此,成熟的测试团队构成应该是首先由一些比较有经验并且逻辑思维强的人进行手动测试,另一部分人负责打包发布,还有一部分就是专项测试组或工具开发小组,配备开发能力强的人去进行性能测试或自动化测试工作。
创业公司何时真的需要测试工程师及团队?
众多快速成长前期没有配备测试的创业公司究竟发展到什么阶段会需要有一个测试工程师?整个测试团队应该如何搭建?唐巧认为,应尽早引入测试工程师,测试团队的规模应根据产品的复杂程度来定,Android端由于机型分裂,许多问题都是来自特定机型,公司应根据具体的产品形态决定是否测试、每种机型都测还是一次处理各种兼容性。
芈珺指出,测试必须在一定的前提下才能开展工作,真正小概念意义上的自动化测试可能是通过一些工具去模拟人的行为来进行UI方面的自动化测试。测试非常尴尬的一点就是各家有各家的难处,由于团队情况的不同,许多案例并不会遇到。对于什么时候引入测试团队,国内创业公司的普遍现状就是实在扛不住火烧眉毛需要有人来“背黑锅”时才会引入。
那些年,应用测试踩过的坑
对于在测试阶段碰到的问题,王涛表示,术业有专攻,当应用开发进行到一定阶段时需要有更专业的人,因为他整个的知识层次、经验能够知道很多可以避免的雷或坑。软件上的坑无处不在,除了功能上的测试,还包括性能、安全、兼容性等诸多方面,可能90%的情况都会发生在别的产品上,开发团队必须拥抱更专业的第三方测试服务,是最省时省力并且可依赖的解决方案。
在没有测试的情况下,如果出了问题BOSS一定会找到工程师问责,这也就直接导致“背黑锅”情况的出现,测试的理想化状态应该是完全自动化的测试,甚至于可以直接通过机器学习从各个方面更加充分地测试App以达到更好的效果。
移动应用测试趋势:机器化测试
在机器和人工测试之间,开发团队应如何抉择?相比之下,机器化测试更高效,也将成为未来方向,机器可以帮助团队做更多的事情,在工具选择上也会具有更开拓的眼界。尽管目前许多工作机器还达不到,自动化和人工的比例应结合App是否频繁需要做一些交互以及业务本身,芈珺表示不建议把UI自动化写得很高,就现阶段如果能做到自动化与手动测试1:2或1:1就已经很高了。王猛建议,UI测试应由人来解决,其他测试则交给机器。