自动化工具 分层自动化测试概念

恒温 · 2013年01月20日 · 最后由 nm2333 回复于 2019年12月28日 · 3260 次阅读

这是阿里巴巴的一个 ppt,百度的 ppt 我稍后补充

背景:
分层自动化是为了解决测试成本问题。在 watir 和 selenium,qtp 之类的框架在自动化测试中大行其道后,逐渐暴露出了一些维护问题。
大量的测试用常常支覆盖了最基础的功能,自动化 case 编写效率低。遇到展现发生变化会导致很多的 case fail,维护自动化的成本变大,甚至是不可接受。

提出过程
最早是 google 进行的实践,google 在测试之初就做了非常优秀的测试覆盖,单元测试,接口测试,而 web 测试方面,他们只进行了很少的自动化,甚至是全手工测试页面。这种模式的效率很高,效果也很好,产品质量高,而且上线迅速。这种模式逐渐被百度接受。
分层自动化最早是段念进行了最初的普及工作,他当初做过培训,给很多公司做了重视后端测试理念的普及。
随后百度也在公司内大规模应用,其他公司也逐渐兴起。

方式:
每个公司理解都基本类似,只是实现上不同,这是阿里巴巴的一个 ppt,从网上搜索到的,大家可以参考下。http://www.docin.com/p-315021205.html

百度也类似。方式如下

1、把传统的 UI 测试逐步弱化
2、增加接口测试,白盒测试的比重
3、利用系统级 mock 技术解耦

优点我就不提了。大家自己领悟吧,数据的统计和证明很多人都应做过了。我不在摘抄了。大家有问题,可回帖提问。

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

我有一次去面试一个公司的时候也聊到网页 UI 测试。
的确,我们应该逐渐淘汰传统 UI 测试,改为接口测试,UI 真的只需要去看一眼就可以了。
在接口正确的情况下,页面的 render 基本扫一眼就可以看出所有的 ui 错误了。

匿名 #2 · 2013年02月02日

恩,是的,UI 最好是手工测试。接口非常适合自动化。

传统的 UI 测试是否需要,我觉的需要根据行业划分来。对于互联网产品,UI 测试更多侧重于体验,但是对于电子政务、财务软件来说,UI 测试还是比较复杂的,UI 的自动化测试也还是有其存在的必要性的

匿名 #4 · 2013年03月01日

UI 测试还是以体验为主,自动化的意义不大。因为自动化目前还没有对体验做一些定义和断言验证。人工审查能够发现更多自动化意识不到的问题。UI 的测试,最好是跟前端开发的功能机密相连。
自动化测试也不是传统的 selenium 测试,而是基于其他 js 框架来测试。
模拟浏览器的方式,是低效的。

个人认为 UI 测试我觉的分个层面:
1 看 UI 元素正确性(看 UI 元素接受出参后的变化以及 UI 点击动作后本地的逻辑变化)
2 看 UI 元素的被点击后发出的请求和入参是否正确

我觉的对 UI 和交互的测试在移动测试里面特别的重要,要大于 web 测试。因为方寸之间的手指触摸体验特别细腻。这是自动化不能取代的。

楼主能否详细解释下 mock 技术解耦?

最近因为写要内部分享,看到了段念关于测试 10 年左右发表的看法,发现技术变化快,理念变化真慢,今天很多人的认识,仍然没有 10 年前段念大佬的理解到位

终端的 UI 测试是重点,现在每个人看手机的时间越来越长,因此手机的 UI 测试一向是投入大,产出少,效率不高,但是还是依然持续大量的投入,实在是业务需求所迫。如果真的能做到分层测试,提高 Unit test 覆盖率,就真的阿弥陀佛,大家有没有更好的建议?

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