测开修炼第二章-10分钟了解契约测试

契约测试到底是什么? 和接口测试有什么区别?

在这里插入图片描述

本文, 我们分三段来解析一下契约测试


  1. 用一个"二狗、全蛋和J100无人机"的故事接地气的讲解契约的概念
  2. 从故事解析里挖掘契约测试的重点
  3. 代码实操演示

1. 二狗、全蛋和J100无人机

二狗是富西村的一个远近闻名的木匠, 最擅长做木制无人机, 据说能飞到2万英尺高;
全蛋是张家村的模具厂厂长, 人送外号"铁皮大王", 啥模子都能给你做出来, 听说厂子都要上市了.

有一天, 二狗的无人机不小心被大雁撞了, 木头碎了一地, 他想: 我的无人机好就好在质量不重, 但刚性差, 得想想办法改良改良. 这时他猛拍了下脑门: “铁皮大王不就在隔壁村嘛”! 于是立马去张家村找全蛋, 两人这就聊了起来:

全蛋: "你需要多长的铁皮? 宽度是多少?"
二狗: "长1.5米, 宽0.9米".
全蛋: "需要加厚吗?"
二狗: "要加厚, 4层1mm厚的铁皮就可以了, 先来5套试试效果."
全蛋: "好, 先按这个规格设计5套, 我们签个简单的协议先, 保证在30天后交付给你."

协议名称叫做《J100无人机的强化计划》, 签完二狗就回家了, 继续研究他的鸭翼气动结构.

次日, 二狗突然想到一个问题: 如果我的木材和定制的钢化外壳安装不完美怎么办? 要是出个误差啊啥的,两边不就白做了吗?
不行,风险太大, 得想想办法.
这时, 二狗想到富西村另一个人计算机高手-小美, 据说她会用计算机做三维模型, 还有个能把桌子椅子啥的扫到电脑里去的3D扫描仪,
二狗马上请到了小美帮忙.

只花了1小时, 小美就把二狗的第一台J100扫到了电脑里, 然后按照《J100无人机的强化计划》里提到的规格设计起钢化外壳, 一开始发现J100原型肚子太大了,跟当初规划好的钢化外壳匹配度只有98%,显然, 二狗要改一下原型了
5小时候, 最新的J100原型和钢化外壳匹配度达到100%, 一个强化版J100像是要从屏幕上飞出来~

全蛋: "小美你真厉害, 不愧是计算机高材生呀! "
小美: “没有没有,能帮上忙我就很开心, 对了, 虽然我做完了钢化外壳模型, 但是不能保证跟铁皮大王做的完全一致哦”
全蛋: “嗯! 有道理, 那怎么办呢?”
小美: "要不这样吧, 我把你的飞机原型的模型文件发给铁皮大王, 让他照着做适配不就可以了吗? "
全蛋: “对哦, 这样我们虽然短时间内做不了拼装测试, 但是最终的零件肯定不会有太大误差了~”

小美把飞机原型的模型文件发到了全蛋, 全蛋按这个文件做了适配.
30天一晃就过了, 二狗和全蛋合作的J100加强版首次试飞成功~

2. 故事解析

在上面这个故事里,我们看到一个很重要的中间人角色-小美,

她不仅保证二狗的原型完全能匹配《J100无人机的强化计划》里的钢化外壳数据, 还保证了全蛋在车间生产实体钢化外壳之前, 校准了各项参数, 使30天后组装一气呵成, 没有半分误差.
没错, 小美所代表的就是-----"契约"

  • 如果二狗的[原型机]一开始就无法匹配[长1.5米, 宽0.9米, 4层1mm厚铁皮]的规格, 那30天后肯定无法跟钢化外壳正常组装.
  • 如果全蛋生产的[钢化外壳]数据有误差, 跟当时约定的[长1.5米, 宽0.9米, 4层1mm厚铁皮]不是100%吻合, 也肯定会造成组装失败.
  • 一旦形成了一份完善的契约, 就能保证客户和厂家在实际对接之前, 规避掉全部错误.

提炼:

接口测试的: A对C做规定的动作, C做出规定的响应

演变成契约测试: A和C将 [规定的动作 + 规定的响应] 形成一个契约 交给"中间人B", 由B按照契约数据来对齐检验A的动作、再验证C的结果,使得AC互相绑定


3. 代码演示

//TODO

契约测试只关注约定的动作跟结果, 只要动作或结果任何一个出错, 都会造成契约测试失败

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木法星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值