App开发者:一个你从未体验过的自动化测试平台

Coness · · 3393 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

“测试”在移动互联网界应该是耳熟能详的词汇了,目前几乎所有开发者在进行研发的过程中都要进行应用的测试,常用的使用模式大致有三类: 完全黑盒、基于脚本、基于录制回放 但使用过的朋友应该知道这三类模式都存在很难解决的缺陷,那么同作为开发的笔者,也是尝试、更换了无数的测试平台与工具,最终对自己的工作效率或者效果提升都不明显,而接下来,笔者将向大家推荐一款最近正在试用的一个自动化测试平台,目前来说效果还不错,经过笔者的研究和梳理总结,整理出了这个平台的构架与理念,希望各位做开发、测试的朋友能够有机会来尝试一番。 逻辑架构 ![图片 1.png](http://studygolang.qiniudn.com/170214/79ee116e9126cdad8e5a8ebe0021fece.png) 应用服务: 1.远程调试:提供手机的远程租用功能,实现远程调试App,提升解决bug的效率。 2.用例管理:提供了“管理用例”、“录制脚本”、“导入用例”的功能,此处用例作为回归测试的输入。 3.功能测试:提供远程的 App功能测试,并记录操作过程,一旦测出bug,可以快速的找到复现步骤。 4.回归测试:选择用例进行回归,自动记录回归过程(包括截图和性能数据),并自动判断回归结果。 5.手机资源管理:提供手机物理状态和业务状态的各种管理功能,确保业务的正常进行。 6.消息队列:不同层次之间的服务通过消息队列进行通讯。 服务器: 1.rDesktop:实现了从web端远程控制手机的功能,并实时显示手机屏幕的内容。 2.Recorder:在rDesktop操作手机屏幕的同时,通过分析用户操作,将之转化为自动化脚本。 3.Playback Engine:用于解释Recorder录制的脚本,并在特定终端进行回放。 终端: 1.rDeskAgent:提供控制手机和抓取终端屏幕视频流的功能。 2.Connector:提供管理手机的基础功能(与O&M平台配合)。 3.TestServer:用于回放测试脚本。 ![图片 2.png](http://studygolang.qiniudn.com/170214/bf53ea53a69a1a5adca34318645bc028.png) 手动操作数据流:用户操作 => rDesktop => 手机 图片视频数据流:手机 => rDesktop => 用户界面 自动化控制命令流:用户操作 => Playback Engine => 手机 信息收集数据流:手机 => 应用服务 => 用户界面 脚本录制数据流:用户操作 => rDesktop => 应用服务 用例概念 用例采用直观易懂的“线性”模式,同时加入了“数据驱动”,使用例具备了可扩展性,方便Tester灵活处理脚本。这样的巧妙设计取得了复杂度与灵活性的平衡。 要实现这种灵活性,我们将每一条TestStep分为三大部分:屏幕构成、操作、结果: 屏幕构成:由截屏图片和Layout组成,通过图片和Layout相结合确定屏幕的构成,提升测试结果的准确性。 操作:由“手势”和“输入参数组成”,输入参数可以是写死的,也可以进行灵活配置。 结果:结果依赖于检查点,“录制”和“回放”时的屏幕构成决定这TestStep的执行结果。 ![图片 3.png](http://studygolang.qiniudn.com/170214/4bf540ada8109c5739fcf495276d424c.png) 总结 通过以上的讲解,相信大家对Quail平台有个大体上的认识,在后续的文章中,将会通过对平台使用的图片流程来更深入了解Quail在APP测试上更多的作用。 本文系TestBird原创,转载请注明

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3393 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传