训练营目标
- 测试平台的价值体系
- 测试平台的学习路线
- 测试平台实战练习
问题
- 为什么要做测试平台?为什么我们要学习平台开发的技术?怎么样去做测试平台才能达到价值最大化(个人、公司)
- 平台开发技术要学到什么程度?一定要非常深入吗?
- 平台开发需要掌握什么技术栈,如何学习可以提升投入产出比?
测试平台-功能设计
| 功能点 |
描述 |
案例 |
| 项目管理 |
对于项目的分类,通常以业务线为维度 |
商城、飞书、企业微信 |
| 测试类型 |
手工测试、自动化测试 |
pytest、JUnit、HttpRunner、Postman |
| 测试用例 |
测试用例的信息 |
标题、步骤、预期结果、实际结果 |
| 测试套件 |
用例的集合 |
通常是用例从不同维度组合,冒烟测试用例集,某业务线用例集 |
| 测试装置 |
用例执行前后的准备工作,处理工作 |
用例依赖环境的安装,比如python requirements |
| 测试Runner |
测试用例执行器调度器 |
执行环境的管理:性能测试环境、兼容性环境 |
| 测试报告 |
测试结果的体现 |
allure 报告、手工报告 |
测试平台-学院平台案例
- 项目管模块
- 项目搜索
- 项目新建
- 项目编辑
- 项目配置
- 团队管理
- 角色管理

测试平台-学院平台案例
- 支持自动化测试框架管理
- Web自动化测试
- App自动化测试
- 接口自动化测试
- 兼容性测试
- 支持多样化测试能力管理


测试平台-学院平台案例
- 测试报告管理
- 支持测试结果管理
- 支持多种测试能力的自定义报告管理
- 支持数据分析
- 支持用例趋势图、Bug趋势图等图表管理

测试平台-学院平台案例
- 支持手工测试用例执行实时监控
- 支持自动化测试用例执行实时监控
- 支持多种测试能力的执行实时监控

其他案例


测试平台的个人价值
- 个人价值:
- 测试方案能力。(重要)
- 测试工具产品设计能力。(重要)
- 前后端的技术能力。
测试平台的产品价值
-
公司收益(提效):
- 提效
- 提升质量
- 降低成本
-
市场收益:
- 知名度与影响力
- 成熟的商业模式,也有巨大的市场空间。带来直接的创收。
- 代表产品: wetest、禅道、process on、figma
测试平台的“Timing”
- 需求: 公司需要测试能力服务化、平台化,比如整合内部的多套平台。
- 体系: 公司有成熟的测试体系:自动化测试、持续集成
- 人力: 有成熟的技术团队,包括前端、后端、测试开发三个角色
技术-前端
- 界面展示
- 良好的用户体验
- 数据展示
- 相关技术: VUE、React 等

技术-后端
- 把控业务逻辑
- 数据库交互
- 相关技术:Flask、Django、SpringBoot

数据库
- 数据的持久化存储
- 数据操作
- 相关技术: MySQL、Oracle

测试用例调度
- 定时任务
- 分布式
- 触发机制
- 拓展性配置
- 相关技术: Jenkins

现有后端代码的问题
如果一家饭店,从服务员->厨师->收银都是一个人,会成什么样子?
代码分层的目的
各司其职(高内聚),轻松协作(低耦合),就是分层思想的目标。
- 方便后续代码进行维护扩展。
- 分层的效果需要让整个团队都接受
- 各个层职责边界清晰
测试平台后端架构
- 路由层(Controller)
- 服务层(Service)
- 数据层(Dao)
- DO层(实体类)
实体类
- entity(实体类)的作用一般是和数据表做映射
- 此对象与数据库表结构一一对应
# 创建用例表
class TestCase(db.Model):
# 表名
__tablename__ = "testcase"
# 用例ID 用例的唯 一标识
id = db.Column(Integer, primary_key=True)
# 用例的标题 或者文件名,限定 80个字符 ,不为空,并且唯一
uid = db.Column(String(80), nullable=False, unique=True)
# 备注
remark = db.Column(String(120))
