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

16|概念重识:如何用3KU为端到端&验收测试赋能?

你好,我是柳胜。
看到这一讲标题里的“端到端测试”和“验收测试”,还有上一讲的“UI 测试”,你可能还有点懵:在实践中,它们三个经常是一回事啊?
先给你理一理这三个概念。验收测试是指的客户视角,端到端的测试指的是测试方法,UI 测试指的是测试发起的地方。听着不太一样,是吧?
可是我们为什么会觉得这些是一回事呢?因为在实践里,这三个测试概念常常指向同一个测试场景,即客户从 UI 端发起了一个对系统整体的可接受性测试。几年前的传统软件测试,这是成立的。但现在不一定了:客户不一定是 UI 用户,还有可能是 API 用户、SDK 用户,端到端测试也不一定包括 UI 端。
这一讲,我们就用 3KU 法则重新审视一下这些测试概念,让我们的实践事半功倍。

验收测试

验收测试,相当于是一个契约履行。不同于建立在开发者之间的接口契约,验收契约建立在用户和系统之间。所以验收测试的前提条件有两条:第一,这个契约存在;第二,这个契约具有可测试性。
我们在第七讲“单体应用测什么”的时候,已经把 FoodCome 的契约表达出来了,就是用 Ghkerkin 语法描述出来的用户使用场景
Given a consumer
And a restaurant
And a delivery address/time that can be served by that restaurant
And an order total that meets the restaurant's order minimum
When the consumer places an order for the restaurant
Then consumer's credit card is authorized
And an order is created in the PENDING_ACCEPTANCE state
And the order is associated with the consumer
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何用3KU法则为端到端测试和验收测试赋能。文章首先解释了验收测试的概念,强调了契约的存在和可测试性的重要性,并介绍了使用Gherkin语法描述用户使用场景,并使用Cucumber框架进行自动化测试的方法。接着,文章介绍了端到端测试的重要性,提出了皮下测试的概念,即在UI测试成本较高时,选择紧贴着UI测试的下一层进行测试,并给出了使用RestAssured测试框架进行皮下测试的示例。最后,文章强调了皮下测试的价值和适用范围,并提出了动态规划的思维方式来简化复杂的测试工作。整体而言,本文通过3KU法则重新审视了验收测试和端到端测试的概念,并提出了相应的测试方法,为读者提供了一种新的测试思路和方法。文章内容涉及了验收测试、端到端测试以及使用Gherkin语法和Cucumber框架进行自动化测试的方法,以及皮下测试的概念和实现方法,为读者提供了全面的测试策略和思路。

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

全部留言(8)

  • 最新
  • 精选
  • 听水的湖
    置顶
    大家好,我是这门课程的编辑小新~ 最近老师出差去了海外,为了不影响你的学习体验,从这一讲起,后面的内容我们还是照常录制。录制的音频回音可能有点大,可以把音量稍微调低一点,特此说明,祝你学习愉快!
    2022-04-25
  • dakangz
    去年开始我们有的项目就在做皮下测试,通过前端F12查看所有操作的api请求,和ui用例做对应,分好模块,10分钟运行上千个请求,把之前的ui自动化都省掉了,然后再手动验证ui层核心功能即可,总共也就两小时搞定一个版本,上百个菜单和页面的回归

    作者回复: 谢谢分享!希望其他同学能看到这个经验!

    2022-06-11
    2
    3
  • 羊羊
    对于皮下测试,我理解得还是不够明白。想问下老师提到的:“带有画图功能的应用适合开展皮下测试”,能再具体说明一下,这种功能如何开展皮下测试。 我理解的是当一个需求从UI层面,用自动化测试的方式不容易发起,例如需要在UI上填很多信息or点击不稳定的按钮,可以直接找到UI层调用的API,使用这个API来作为测试的发起点。 带有画图功能的应用,个人认为难点是在结果的验证。没想明白这类应用为什么适合“皮下测试”。 还望老师再给我讲解一下。

    作者回复: 对。你的理解非常到位。带有画图的UI,自动化难操作,难验证,运行不稳定,ROI非常低,这是为什么要做“皮下测试”的原因。😄

    2022-07-31归属地:日本
  • 七禾叶
    终于找到目前工作的意义了。 1.At present, according to different roles and permissions of the whole system to find their Happy Path and Workflow。According to the Workflow,we could make sure which api we need。By simulating the user's operation to put different api together。 2.Some core forms are submitted through the thin client mode。This method includes UI test and api test.We called "皮下测试"。

    作者回复: exactlly, that is the correct thought process!

    2022-07-05
  • Sarah
    每一节听下来都有一种畅快感!老师讲到的这些,我在项目中也实践了近两年时间,基于ROI最高原则来选择每个需求的在各层的测试覆盖,这个自己实践起来还可以,但是要怎么教会其他人也用这样的方式来实践,我一直也没找到比较好的方式来阐述,老师总结得真好!感恩! 期待后续的更新,特别是怎么更好结合皮下测试和UI单元测试这部分,期待

    作者回复: 很有悟性!把专栏传递给大家,如果团队头脑都对齐了,会推行更快!

    2022-04-25
  • ifelse
    学习打卡
    2024-02-20归属地:浙江
  • 王小卡
    皮下层测试。我是不是可以理解为api层的业务流程测试。通过api把业务流串起来就像通过UI层执行的流程那样?
    2023-07-11归属地:辽宁
  • Mttao
    老师,有一个问题需要您解答下,关于UAT测试可以实现自动化测试吗?公司目前现状,sit 测试人员通过写代码的方式完成了测试工作,但是到UAT测试阶段,业务人员需要人工来实现端到端的测试,但是这种测试的效率比较低效。有没有比较好的方式来解决UAT阶段低效问题? 大厂一般怎么做UAT测试?
    2023-01-05归属地:广东
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部