研发效能 深聊自动化测试 -- 框架&方案的抉择

尼古拉斯 · 2021年06月03日 · 最后由 testerming 回复于 2021年06月04日 · 1557 次阅读

往期回顾

上一期的话题谈到了自动化测试的 code 与 codeless 之争
深聊自动化测试 -- codeless 之争
核心议题是:自动化测试用例的开发设计是 “手动敲代码好” 还是 “使用无需 coding 的框架/工具/平台 “好
回帖讨论精彩纷呈, 有支持:纯手工 coding; 有反对: 还是 codeless 大法好;有中庸:不管如何,能解决问题提升效率就行。
里面很多回复都非常有价值,值得仔细品味。
当然,我个人观点依然是纯手工 coding 才是目前自动化的主流, 除非有革命性的测试方案出现。

大道至简,回归本质!

本期话题:自动化测试的框架&方案如何抉择

随着软硬件技术的发展,测试领域也涌现了很多新的东西:新的测试思想、新的测试方案...OCR、AI、图像识别、深度学习等技术也开始融合进我们的测试中协助测试、检测、验证。
无论上层应用多么的绚丽多彩,底层的逻辑和思想应回归本源,趋向大同。例如:

  • 通过 web 平台来对 API 测试:在 web 中设置请求的参数、抽取数据、验证数据...背后的本质是平台去数据拼装、调用 HTTP 请求、校验结果...
  • 通过图像识别,AI 定位对象、帮助编写 UI 用例,以前是通过原生的 id\class\tag name 等定位对象,现在是通过图像识别,其本质都是如何定位到具体的 UI 对象

如果不了解背后的本源,是很难做好自动化的,也会影响你的方案和决策。在自动化测试这块,无论是小团队还是大的组织,一个很重要的难点是:不知道如何下手 (落地实施) 或者说不知道选择什么测试框架和方案,团队或组织自身也没能力去开发去解决这些问题。常见的方案 (不包含测试流程管理工具) 是:
1、pytest\unitest+allure+ 各种三方插件 +jenkins
2、junit\testng+allure+ 各种三方插件 +jenkins
3、Appium、selenuim、robotuim...
4、各种内部自研测试平台和测试方案
5、jmeter\Postman...

可谓百花齐放,各显神通。
现实却是:听说过很多道理,却依然过不好这一生; 撸过了很多框架和工具,依然不得要领。
1)配置太复杂,实施和维护成本都高
2)没有可持续性,测试平台和方案 换公司和业务后,就不适用了
3)测试实施方案掌握在少数人手中,每个 leader 都使用自己熟悉的方案,旧人辞职、新 leader 上任后又使用新的测试方案,推倒重来
4)团队内每个人的代码习惯都不一样,维护难...

What the fuss! What the fuck!
为什么我们没有测试界的 springboot?
你心目中理想的最佳的自动化框架或方案是啥?
目前有更好的自动化测试框架吗?
下期继续再聊...

共收到 11 条回复 时间 点赞

我都是自己开发框架,后续考虑开源

testerming 回复

一言不合就自己干👍

接口自动化还是平台来做得好,优势很大,人人都可以参与做自动化,快、效率高,数据展示直观。UI 自动化就用脚本稍微写点冒烟得就行了

尼古拉斯 回复

现在市面上开源的框架都不行,真正有效的都在大公司或者专门做云测的公司手里。

appium 太过理想,像国内众多不同 rom 的问题,不改造 Appium 内部机制,appium 根本解决不了。
而 airtest 吹的比实际的要大,实际上并不好用。
其他框架更不值一提。

当然有很多小的技术点,国内解决的不错,比如 codeskyblue 开源的 tidevice 解决了 iOS 自动化可以摆脱对 xcode 以及操作系统的依赖,这个相当厉害,对 Ui 自动化测试的贡献也非常大

一看就是搞过自动化的人 😀 接口测试不单单是测试接口本身的呈现,而是它背后的服务和整个调用链路;如果没有一定的服务端知识积累,只是通过接口组合的话,会存在很大遗漏。所以接口测试是一定技术门槛的,后续我会单独聊这块

testerming 回复

见解深刻!👏 👏 👏
建议以后多分享,多为测试届做贡献
人民需要你,部落需要你!

尼古拉斯 回复

看来低调不了了,后续搞起来😋

脱口秀?

我也赞同楼上说的,接口可以做成平台,成效高、效果好,降低人员成本、ui 的就话可以把调度、报告放在平台上

testerming 回复

过奖了

codeskyblue 回复

大神冒泡了😂

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