V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TommyStandard
V2EX  ›  程序员

APIAuto 2.0.0 发布,机器学习测试•自动静态检查•自动生成代码、文档和注释

  •  
  •   TommyStandard · 2019-11-20 10:01:19 +08:00 · 2645 次点击
    这是一个创建于 1832 天前的主题,其中的信息可能已经有所发展或是发生改变。

    APIAuto

    机器学习测试、自动生成代码、自动静态检查、自动生成文档与注释等,做最先进的接口管理工具。
    支持 HTTP POST 提交 JSON 参数的 API。针对 APIJSON 做了静态检查、生成代码、格式化等大量优化。

    特点功能

    • 自动生成接口文档,清晰可读永远最新
    • 自动校验与格式化,支持高亮和收展
    • 自动生成各种语言代码,一键下载
    • 自动管理与测试接口用例,一键共享
    • 自动给请求 JSON 加注释,一键切换
    • 自动保存历史请求记录,一键恢复

    自动化接口测试

    https://github.com/TommyLemon/APIAuto/blob/master/apijson/JSONResponse.js

    前后对比测试 compareWithBefore

    不用写任何代码,只需要点一下 回测测试的图标按钮 (左区域右上角,类似刷新的图标),
    就会自动测试所有测试用例(除了登录和退出登录),并对比每一个测试用例前后两次请求的结果,
    然后给出结论:结果正确、新增字段、缺少字段、值改变、值类型改变、状态码改变等。
    每一个测试用例测完后都会有 左侧按钮用于显示测试结果和切换前后的请求结果,
    右侧按钮用于 纠错,中间的是下载按钮用于下载两次的请求,背景色用于标记接口变更的严重程度。
    如果这次的结果是对的,可以点击 [对的,纠错] 按钮来上传新的正确结果作为后续的对比标准。

    机器学习测试 compareWithStandard, updateStandard

     

    在 前后对比测试 的基础上,通过 简单统计 + 场景优化提取返回结果 Response JSON 的校验模型
    包括每一层的所有键值对的名称、类型、长度、取值范围等,它还能精准定位到数组内的数据,
    例如 []/7/Comment/id,原来的 前后对比测试 只能到 []。
    在第一次会生成校验模型,这时就已经比前后对比测试有约 20% 的准确度提升,
    随着纠错次数增加,模型会更新地越来越精准,一般一个测试用例达到 12 次后,
    就会相当于高级测试工程师对每个接口根据具体的业务需求来编写测试代码所能达到的效果。

    开启和使用机器测试:
    1.点击右区域 第 3 个图标按钮(点击查看共享),会进入测试用例界面;
    2.点击 切换机器学习的按钮(机器学习:已关闭),会开启机器学习;
    3.点击左区域 最右侧的图标按钮(回归测试)。

    打开 在线工具 试试

    http://apijson.org:8000/auto/

    还可以看 视频演示

    https://i.youku.com/i/UNTg1NzI1MjQ4MA==/videos?spm=a2hzp.8244740.0.0

    总结

    以前编写测试代码来实现自动化测试,解决手动测试的繁琐、无聊、易出错;

    APIAuto 的自动化接口回归测试连代码都不用写了,点点按钮就能完成整个自动化测试过程。

    不仅能节约大量的测试代码开发成本,省去接口测试与接口开发人员的沟通时间,避免各种原来导致的误会、争吵等;

    还能通过每次改动代码后跑一遍测试,及时且提前(在同事、领导、用户发现前)发现 bug,

    减少后续发现甚至在线上发生问题导致大量损失的风险。

    创作不易,GitHub 右上角点 ⭐Star 支持下本项目吧,谢谢^_^

    https://github.com/TommyLemon/APIAuto

    14 条回复    2019-11-20 23:40:06 +08:00
    TommyStandard
        1
    TommyStandard  
    OP
       2019-11-20 10:04:21 +08:00
    之前 机器学习测试 是作为一个付费功能在 APIAuto-自动化接口管理平台 上使用,
    从 2018 年 11 月 6 日 开始上线,一年时间才两个付费用户充了几百元。
    现在也不像以前那样时间相对比较充裕了,我已将全部相关代码免费开源。
    原来是作为私有仓库托管在码云 Gitee 上
    https://gitee.com/TommyLemon/APIJSONAuto-Enterprise
    现在这个仓库也公开了,单独维护了两年,和开源版本的 APIAuto(原名 APIJSONAuto) 至少有大半年没同步了,
    花了几小时把机器学习相关代码提取出来,整合到开源的 APIAuto 里面的 JSONResponse.js 了。
    StarkWhite
        2
    StarkWhite  
       2019-11-20 10:09:06 +08:00
    看起来很牛逼的样子,用了什么库? tensorflow,pytorch ?
    TommyStandard
        3
    TommyStandard  
    OP
       2019-11-20 10:14:43 +08:00
    @StarkWhite 没用第三方库,都是自己手写的代码嘿嘿
    chendy
        4
    chendy  
       2019-11-20 10:27:24 +08:00   ❤️ 3
    是…那个男人?!!
    StarkWhite
        5
    StarkWhite  
       2019-11-20 10:27:43 +08:00
    Harz
        6
    Harz  
       2019-11-20 10:33:17 +08:00   ❤️ 1
    已 start 支持✨
    StarkWhite
        7
    StarkWhite  
       2019-11-20 10:37:15 +08:00
    @chendy 我去,我才反应过来,大半年没见了!
    StarkWhite
        8
    StarkWhite  
       2019-11-20 10:38:06 +08:00
    @TommyStandard 快说你这个项目和 apijson 是啥关系?
    StarkWhite
        9
    StarkWhite  
       2019-11-20 10:42:06 +08:00
    @Harz 感谢支持~
    TommyStandard
        10
    TommyStandard  
    OP
       2019-11-20 10:56:17 +08:00
    @StarkWhite 就是支持 HTTP POST JSON,顺便支持下 APIJSON 协议而已,并不是非得用 APIJSON 哈
    TommyStandard
        11
    TommyStandard  
    OP
       2019-11-20 11:19:08 +08:00
    @chendy 那个男人是谁?
    areless
        13
    areless  
       2019-11-20 18:26:12 +08:00 via Android
    厉害,未来的方向
    TommyStandard
        14
    TommyStandard  
    OP
       2019-11-20 23:40:06 +08:00
    @areless 哈哈,慧眼识珠
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.