自动化测试高手课
柳胜
原甲骨文高级开发经理
16849 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
开篇词 (1讲)
自动化测试高手课
15
15
1.0x
00:00/00:00
登录|注册

05|Auto Gen Auto:所有测试工作即代码

你好,我是柳胜。
我们前面用了 4 讲篇幅,讨论 ROI 模型和由此衍生出来的一套实践原则,从分层测试、选型思路和具体代码多个角度探索提升 ROI 的方法。
这些方法还都是基于常规的自动化测试开发流程,先有测试需求,再设计测试案例,然后做自动化。以登录测试为例,我画了一张流程图做说明。
自动化测试的开发成本,就是把测试需求转变成自动化测试代码这个过程花费的时间。在我们的图里,它是从左向右,所以我管它叫做水平开发成本
当登录功能测试需求发生变化时,就会重新走一遍这个流程,出现了多个版本的测试需求,也会带来多个版本的自动化测试案例。从下图可见,这个版本是自上向下增加,所以我管它叫做垂直维护成本
我们现在可以直观地看到开发成本和维护成本了。好,问题来了,有没有办法从流程上动手术,来降低这两个成本呢
这就是我们今天要讲的 Automation Generate Automation,也叫自动化产生自动化测试代码,为了方便起见,下面的篇幅用缩写 Auto Gen Auto 来指代。

Auto Gen Auto 技术

常规的自动化测试,是指用代码实现设计好的 TestCase,而 Auto Gen Auto 的目的是让 Test Case 生成也自动化,如下图所示。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Auto Gen Auto是一种自动化测试技术,旨在通过自动生成测试用例代码来降低测试开发成本和维护成本。传统的自动化测试需要先有测试需求,再设计测试案例,然后进行自动化开发,而Auto Gen Auto则实现了测试需求到自动化测试案例的完全自动化生成。这种技术在黑盒测试领域具有挑战性和探索价值,因为它能够省去测试人员大量的重复工作。实现Auto Gen Auto的关键在于找出测试需求中的规则,并将其表达出来,然后根据规则生成最终的测试代码。通过一个示例,文章展示了如何利用规则文件和代码来实现自动生成测试案例,从而降低测试维护工作量。Auto Gen Auto技术的落地应用将大大提高ROI,特别适用于黑盒测试领域。 文章通过介绍Auto Gen Auto技术的原理和应用案例,展示了如何利用规则文件和代码实现自动生成测试案例,从而降低测试维护工作量。通过分析Open API规范和YAML文件,演示了如何利用现有工具生成基于RestAssure的测试项目,并展示了如何根据规则内容直接生成测试代码。文章强调了在API设计阶段理清接口规则并将其表达出来的重要性,以及规则描述得越详细,可自动生成的测试案例就会越多。同时,文章也提到了Auto Gen Auto解决方案的潜在扩展性,可以用于生成API test和performance test等。总的来说,Auto Gen Auto技术的应用将大大提高测试效率和ROI,对于黑盒测试领域具有重要意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《自动化测试高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(14)

  • 最新
  • 精选
  • Geek_a4cca6
    置顶
    我做了5年以上自动化,思路是非常好的,但是在实际实施过程中由于很多的业务线规范并不统一,有的是mardown,有的是openapi规范,所以推动开发设计API规范也是件不容易的事情,目前我的解决方案和老师的思想差不多,我是先定义模板,针对不规划的API设计需要大家把API信息手工录入,然后我再针对模板自动生成脚本用例,回头再套用老师用的公式计算下ROI,相信产出比会很明显,因为我们的设计用例要遍历所有字段异常边界等场景,一个接口下来上百条用例都正常。

    作者回复: 很好的实践!一直往理想迈进,才会提升!

    2022-03-31
    4
  • dakangz
    大多数小公司都很难落地这么成熟的方案,假如开发都没有单元测试的习惯,这些斗工作太难展开了

    作者回复: 咱们换一个角度来思考,公司无论大小,都要盈利挣钱,都在追求用最小的投入获得最大的产出。如果公司想要把控软件质量,单元测试是ROI最高的领域。在国内单元测试做得不好,有几个问题 1. 开发认为测试是QA的工作 ----这是意识的问题 2. 单元测试还是以代码覆盖率作为指标,而QA测试业界共识是降低Bug泄漏率为指标。相比之下,单元测试悬浮在空气中,它的实际效果并没有发挥出来。----这是度量方法论的问题,在第二模块和第四模块都会讲到 我曾在大公司和创业公司都工作过,我觉得小创业公司做单元测试更有优势,一个有责任心的技术大牛就可以带动起来,而且效果非常好。😄

    2022-06-09
    3
  • 清风明月
    请教一个问题:一般做自动化测试的话,是需要自己写测试覆盖率的工具,还是用开源的?有什么好的思路吗? 最近一直在研究测试覆盖率,之前也用过一些统计测试覆盖率的工具,感觉不是很好用,希望老师能在后期的文章里面讲解 “测试覆盖率的工具” 非常感激!

    作者回复: 这是很好的问题!这也是为什么我设置了一个模块来谈度量。我会在度量模块的第二讲里谈到单元测试的度量,这个度量思路也可以用在其他测试里。

    2022-03-30
    3
  • 夜歌
    学了这节课受益匪浅,没想到openapi还可以这么用,真是开拓眼界了。平时老想着自己写代码,以后要多探索探索开发技术,看看能用什么了

    作者回复: 欢迎分享,共同讨论!

    2022-04-09
    2
  • lisa
    这块我理解从业务落地的角度来说还不是很成熟,一方面API规范落地成本比较大,可能需要测试团队将测试契约补充完整。其次从投入产出比上,这里可以发一些一些边界的问题,但是后期的维护成本会比较大,不太确定投入产出比怎么样。从自动生成API自动化测试框架代码的角度我觉得可以从垂类业务(根据业务的API类型或者rpc框架)的角度会有收获。 整体来说,我非常赞同这个思路:所有的测试工作即代码。

    作者回复: 很好的分享!

    2022-04-06
    1
  • 福建福州体检代检厦门体检代检
    老师你好,能否展开讲解, 单元测试、接口测试、功能测试 中的 Auto Gen Auto 在实际项目中的落地

    作者回复: 加我微信sunshinelius,我们可以在微信群里和小伙伴一起讨论!

    2022-08-23归属地:日本
  • 北冥
    老师,如果被测接口需要 前置造数,造数有可能是通过业务接口来造也可能是通过 sql 来造数,那这些前置造数的行为 和 后置清理数据的行为 在用例里怎么设计 才能更好的 达到接口 test case 生成自动化呢

    作者回复: 这个问题有点模糊哈,我试着回答一下 在实现上,一份代码,多数据运行。 在流程上,setup,test,teardown的case结构 在结果上,要能量化造数的质量,推动优化提升 从第三点来看,测试数据最好要留记录,不要清掉哈。

    2022-07-12归属地:日本
  • Geek_a4cca6
    试了下生成go的代码中,没有看到有体现字段的长度定义及边界等信息

    作者回复: 可以考虑修改OpenAPI代码,创建自己的specification!

    2022-03-31
  • Geek_a4cca6
    目前我这边是自己手工写代码去解析的,需要引用需要递归解析,这个库回头也试下看行不,谢谢老师

    作者回复: 自己解析API规范,无论idea还是practice都已经在成功的路上了!👍

    2022-03-31
  • woJA1wCgAA3aj6p1ELWENTCq8KX2z...
    意犹未尽,老师快更新

    编辑回复: 收到催更,下一讲周五见~我们每周一三五更新哦!

    2022-03-30
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部