• japi项目需求分析阶段


    项目简介

    japi项目,是一个接口自动化平台开发项目,由【测试开发刚哥交流群】招人共建,基于JMeter,参考MeterSphere,以学习为目的,完成一个SpringBoot+Vue技术栈的纯粹的接口自动化平台开发。

    项目成员

    经过"填写人员分工表"以后,最终有38人参与了本次项目:

    刚哥、布鲁、嘉宥、守正、大刚、风雨、奉孝、大姚、畅月、渔夫、小禹、钰琪、天湖、迷龙、肥涵、胖子、局长、呼呼、明亮、安宁、木棉、番茄、玥玥、哈瑞、虚竹、十五、阿新、卡罗、大白、库昊、左右、小涌、古风、玉洁、小韩、小卷、千凝、昆明。

    随着项目进行,后续“提交学习总结”等环节层层递进,真正留下来的项目成员,会在GitHub的README中署名。

    在填表时收集了大家的历史经验,这里汇总整理了一下,供参考:

    “Vue+Django写过测试平台;SpringBoot写过后端应用;Python小工具开发;Python+Pytest+Requests搭建接口自动化框架;Python+Unittest或Pytest自动化测试框架搭建及脚本开发;各类开源自动化测试平台搭建,如:HttpRunnerManager、流马、Yapi、Sonic等;js+Django2实现UI自动化测试平台;使Testng框架进行接口测试;Vue+fastapi写过测试平台;python+selenium UI自动化;python+httprunner,接口文档解析自动生成字段校验用例;python+RobotFramework做过UI;Java做过单元测试,熟悉基础语法;学过JavaSE,JavaEE,实战经验不多;Python Pyqt GUI工具开发;Python 接口自动化、APP自动化框架设计及编码;独立负责主导Python+Locust性能测试;三方库和标准库:unittest、pytest、appium、selenium、request、httprunner;画过简单的html、css;App UI自动化框架搭建:pytest+appium+allure+jenkins接口自动化框架搭建:pytest+request+allure+jenkins二次开发及维护过flask+vue接口测试平台;二次开发及维护过springboot+angularUI测试平台;Pytest+Playwright UI自动化脚本编写;”

    我总结了几个关键字:Vue、Django、SpringBoot、Flask、FastAPI、ElementUI、RobotFramework、脚本开发、工具开发、平台开发、接口自动化、UI自动化、APP自动化。

    项目计划

    招募,人员分工,需求分析,设计,编码,测试,上线。

    由于是以学习为目的,加上都是业余时间投入,也有其他事情要忙,所以该项目不会像真正项目那样,设置里程碑和交付节点,会给足够的学习时间,战线拉得比较长,过程大于结果。

    需求分析

    MeterSphere官方给出的功能列表,接口自动化相关的模块有接口定义和接口自动化。

    接口定义包括以下功能:

    在线添加并编辑接口定义;
    以树状形式展示项目的模块及对应接口;
    支持HTTP、Dubbo、SQL、TCP类型接口请求;
    支持通过MeterSphere Json、Postman、Swagger 等多种格式文件快速导入接口,Swagger可通过URL定时同步;
    支持接口快捷调试;
    根据接口定义快速配置HTTP、TCP协议Mock服务;
    API列表、CASE列表、文档模式多种模式灵活切换;
    接口页面API、TEST、CASE、MOCK多种操作灵活切换;
    测试环境信息管理功能;
    单接口用例支持引用环境;
    支持正则匹配、jsonpath、xpath等多种类型的断言规则;
    支持正则匹配、jsonpath、xpath等多种类型的参数提取;
    支持BeanShell、Python、Groovy、JavaScript等多种语言的前后置脚本;
    支持前置SQL、后置SQL;
    支持上传并引用自定义Jar包;
    支持查看接口及用例变更历史;
    手动执行、定时任务、Jenkins插件触发等多种执行方式;
    API、CASE一键复制;
    CASE一键创建性能测试;
    接口定义依赖关系设置;

    接口自动化包括以下功能:

    创建多接口串联的场景化测试;
    从接口列表中快速导入接口或接口用例;
    跨项目的场景引用功能;
    客户端SSL证书认证配置;
    场景用例支持引用环境;
    支持条件、循环、事务、等待等多种类型的控制器;
    支持正则匹配、jsonpath、xpath等多种类型的断言规则;
    支持正则匹配、jsonpath、xpath等多种类型的参数提取;
    支持BeanShell、Python、Groovy、JavaScript等多种语言的前后置脚本;
    场景变量提供多种类型;
    提供Mock数据和JMeter变量表达式;
    环境配置增加区分模块、路径两种方式添加域名;
    增加全局前置脚本、全局后置脚本;
    基于插件机制实现其他协议;
    支持上传并引用自定义Jar包;
    支持查看场景用例变更历史;
    手动执行、定时任务、Jenkins插件触发等多种执行方式;
    串行、并行两种批量执行方式自由选择;
    支持指定测试资源池远程执行;
    可多场景串行、并行执行;
    场景一键创建性能测试;
    场景一键复制;
    场景批量执行可自由选择独立报告或集合报告;
    场景一键添加到测试计划;

    除此之外还有:

    支持消息通知(微信、钉钉、飞书、邮件);

    本项目要做的,基本就是这些功能。

  • 相关阅读:
    .NET 6学习笔记(2)——通过Worker Service创建Windows Service
    基于docker进行Grafana + prometheus实现服务监听
    plumelog介绍与应用-一个简单易用的java分布式日志系统
    yarn 会从npm config registry 下载依赖吗
    python3- 模块
    SpringBoot + minio实现分片上传、秒传、续传
    SMT贴片制造:专业、现代、智能的未来之选
    elasticsearch测试数据accounts.json
    Git基础操作
    有一个项目管理软件,名字叫8Manage PM!
  • 原文地址:https://blog.csdn.net/weixin_45741835/article/details/126554919