Skip to content

测试平台开发

霍格沃兹测试开发学社

ceshiren.com


自我介绍

  • 江湖代号:老钱 。
  • 互联网行业工作时间 10+年:先研发后转型测试;涉及后端开发,测试工具开发,运维,自动化测试,测试管理等工作,目前在一家互联网金融公司担任测试开发工程师。
  • 职业信条:测试不是二等公民,不懂开发误谈测试。

直播前准备

专题课 阶段 章节 知识点
后端开发 L3 全部知识点
前端开发 L3 全部知识点
测试平台 L1 测试平台设计 测试平台架构设计
测试平台 L1 测试平台设计 测试平台登录功能实战
测试平台 L1 测试平台设计 测试平台注册功能实战
测试平台 L2 测试平台设计 跨平台 api 对接
测试平台 L2 测试平台设计 测试用例自动录入

课程安排

  1. 测试平台概述
  2. 测试平台样例
  3. 测试平台项目配置与运行方法
  4. 测试平台功能讲解
  5. 课后作业

1. 测试平台概述


测试平台

针对被测试项目或者所在团队的技术需求,开发的为了提升整体工作效率的工具或者服务平台。


测试平台

  • 定制性:针对所测试项目 或者 所在团队的特殊要求
  • 目标用户: 团队成员
  • 开发:测试工程师
  • 运维:测试工程师
  • 部署:内网或云服务器

搭建测试平台好处

  • 提供针对所做项目的定制服务
  • 提升测试工作效率
  • 展现测试团队的技术能力与精神面貌
  • 通过测试平台的实战开发,提升测试同学的个人能力
  • 用户可能不多,但是对团队的价值绝对有目共睹

搭建测试平台好处

  • 多重技术能力带来更多职场机会
  • 吃技术这碗饭就是“技多不压身”
  • 通过招聘网站看现状
  • 好的测试平台会带来“名声远扬”,“脸上贴金”的效果
  • 更多人认识你,更多机会给到你,更多责任也会落到你身上


测试平台组织思路

  • 测试用例输入、调度、运行
  • 测试结果存储
  • 测试报告展示
  • 内部效率小工具
  • 配合测试的后门程序运行
  • 。。。。

测试平台案例 1

  • 记录自动化测试结果
  • 展示运行统计数据
  • 提供方便测试同学提升效率小工具


测试平台案例 2

  • 方便提升内部工作效率的后门程序
  • 简化测试操作的交互工具


课程安排

  1. 测试平台概述

  2. 测试平台样例
  3. 测试平台项目配置与运行方法
  4. 测试平台功能讲解
  5. 课后作业

2. 测试平台样例


测试平台样例

  • 源码位置: https://gitee.com/11547299/test-platform
  • 后端技术栈:Sprint-Boot
  • 前端技术栈:Vuejs
  • 长相:
  • 用途:样子参考,定制化改造


测试平台样例

  • 拿到源码之后需要根据自己的需求进行二次定制开发
  • 每个团队对于测试平台的需求都不同
  • 测试平台是内部团队独享的平台(做好了 可能会引来研发、产品、运营等来用)
  • 本课程介绍测试平台后端样例的搭建和使用方法

测试平台样例

  • 用户管理
  • 测试用例管理
  • 测试计划管理
  • 测试记录管理

测试平台样例

  • Demo
    1. 用户登录
    1. 创建测试用例

课程安排

  1. 测试平台概述

  2. 测试平台样例

  3. 测试平台项目配置与运行方法
  4. 测试平台功能讲解
  5. 课后作业

3. 测试平台项目配置与运行方法


后端项目介绍

  • JDK: Java version 11
  • 项目构建架构: Maven
  • DB: MySQL
  • Demo: 后端项目运行演示

后端项目运行 - 数据库

  • 数据库型号: MySQL
  • 导入数据准备: mini/src/main/mysql/init.sql
  • 数据库客户端工具: MySQL Workbench
  • Docker 启动mysql命令参考
    docker pull mysql
    
    docker run --name [your mysql docker container name] -e MYSQL_ROOT_PASSWORD=[your root password] -d -p 3306:3306 mysql
    

后端项目运行 - 数据库

  • 建库、建表、导入初始数据
  • 打开init.sql文件
  • 运行建库建表语句,插入基础数据
  • Demo: 数据库导入基础数据的方法


后端项目运行 - Java项目

  • 开发工具: Intellj Idea
  • JDK: Java 11
  • 构建工具: Maven
  • 项目名称: mini
  • 项目架构: SprintBoot

后端项目运行 - Java项目

  • 运行所需环境参数: - mysql_user: - mysql_pwd: - mysql_host: - mysql_port:
  • Demo: 项目运行方法


后端项目运行 - Java项目

  • 命令行编译方法:
    mvn clean install
    
  • 命令行运行方法
    cd target
    java -jar mini-0.0.1-SNAPSHOT.jar
    
  • Demo: 命令运行方法


前端项目运行 - Vue项目

  • node 版本 v20
  • 命令行编译方法:
    yarn build 
    
    # 或者
    
    npm run build
    
  • 命令行运行方法
    yarn serve
    
    # 或者
    
    npm run serve
    
  • Demo: 命令运行方法


前端项目运行 - Vue项目

  • 页面登录


课程安排

  1. 测试平台概述

  2. 测试平台样例

  3. 测试平台项目配置与运行方法

  4. 测试平台功能讲解
  5. 课后作业

4. 测试平台功能讲解


Swagger API 文档

  • 访问地址: http://localhost:8088/swagger-ui/
  • 用途: 了解每个API的使用参数和预期运行效果
  • Demo: 测试平台后端Swagger文档演示


测试平台注册API

  • URL: http://\:\/user/register
  • Method : POST
  • Request Body:
    {
        "password": "string",
        "username": "string"
    }
    
  • Demo: 演示用户注册API交互

测试平台登录API

  • URL: http://\:\/user/login
  • Method : POST
  • Request Body:
    {
        "password": "string",
        "username": "string"
    }
    
  • Demo: 演示用户登录API交互

测试平台查找测试用例API

  • URL: http://\:\/testcase
  • Method : Get
  • Header: Authorization token
  • Request Parameters:
    {id: <id>}
    
  • Demo: 演示查找测试用例API交互

测试平台更新测试用例API

  • URL: http://\:\/testcase
  • Method : PUT
  • Header: Authorization token
  • Request Body:
    {
        "id": <id>,
        "name": "New Name",
        "step": "New Step",
        "method": "New Method",
        "remark": "New Remark"
    }
    
  • Demo: 演示更新测试用例API交互

测试平台新增测试用例API

  • URL: http://\:\/testcase
  • Method : POST
  • Header: Authorization token
  • Request Body:
    {
        "method": "Name of Method",
        "name": "Name of test",
        "remark": "Input remark",
        "step": "Input steps"
    }
    
  • Demo: 演示新增测试用例API交互

测试平台删除测试用例API

  • URL: http://\:\/testcase
  • Method : DELETE
  • Header: Authorization token
  • Request Body:
    {
        "id": <id>
    }
    
  • Demo: 演示删除测试用例API交互

测试平台前端用户注册

  • 页面 -> http://localhost:8080/#/user


测试平台前端测试计划删除

  • 页面 -> http://localhost:8080/#/index/plan


课程安排

  1. 测试平台概述

  2. 测试平台样例

  3. 测试平台项目配置与运行方法

  4. 测试平台功能讲解

  5. 课后作业

5. 课后作业


课后作业

  1. 思考一下自己所做测试项目是否能够做出测试平台来提升测试工作效率
  2. 如果自己的项目团队已经有测试平台,则可以思考一下现有测试平台有哪些不足,可以做提升么?
  3. 参考课堂用例在自己的环境上搭建测试平台后端项目
  4. 参考之前所学的Docker技术,尝试把测试平台后端部署集成进Docker
  5. 参考之前所学CI/CD技术,尝试利用Jenkins对测试平台进行持续集成和持续交付

课程安排

  1. 测试平台概述

  2. 测试平台样例

  3. 测试平台项目配置与运行方法

  4. 测试平台功能讲解

  5. 课后作业


课程总结

  1. 开发测试平台的好处
  2. 测试平台设计思路
  3. 测试平台样例
  4. 测试平台上的常见功能

谢谢