亿教亿学 在线教育系统 第一阶段
一、项目介绍
亿教亿学 一款在线教育产品 主打中小学生在线教学。老师可以在线授课,批改作业。支持数据统计分析功能。
WEB与APP端均支持。
二、系统主要功能
在线微课、作业
老师在线发布微课、作业(支持分组选学生发布),并可以实时查看学生完成状态。
创建个人题目库
老师可以根据不同章节、知识点添加自创题目。
同步课学习
学生同步学习在线视频并练习
统计分析
错题统计 知识点统计 学校统计
三、管理员主要功能
- 系统标签
- 资源管理
- 学校管理
- 公告管理
四、第三方学校管理API接口测试
1.说明
本接口是REST API接口, 用于第三方教育机构在YJ平台进行学校管理操作。每个授权的第三方教育机构在 YJ平台中都会生成一个对应的学校对象。
使用本接口时,所有的API请求必须带上vcode参数。
该参数是为该学校分配的一个验证码,必须私密保存,不能外泄。
2.测试点
| 班级操作 | 老师操作 | 学生操作 | |
|---|---|---|---|
| 测试点1 | 列出班级 | 列出老师 | 列出学生 |
| 测试点2 | 添加班级 | 添加老师 | 添加学生 |
| 测试点3 | 修改班级 | 修改老师 | 修改学生 |
| 测试点4 | 删除班级 | 删除老师 | 删除学生 |
以上没各功能点都有对应的HTTP请求格式、响应结果。
3.准备工具
- 使用语言:Python3.8
- 自动化测试框架:HYTEST
4.测试步骤
搜集、整理需求
在编写测试用例前,最重要的前提是什么?就是要尽可能的
搜集完整系统的需求、设计。因为 ,开发人员 不可能 给出详细到、格式规范到 可以直接对应 产生测试用例的 需求、设计文档。里面肯定 有遗漏、或者细节不清楚 的地方,甚至会有 矛盾、错误。
所以在
需求整理过程中:寻找是否有遗漏的 需求点(测试点)
发现需求设计 有 矛盾错误的地方,及时和 产品组、开发人员 沟通
- 不断的将需求进行 合理的 分类、组合, 记录在你自己的测试需求文档中
- 最终的 测试需求文档,就是做为 测试用例 的输入材料。
编写测试用例
需求整理好以后,采用什么方法才能写出比较完善的测试用例呢?
网上流传的编写测试用例方法有很多,我认为最重要的就是
- 根据测试需求建立用例分类
- 边界值法
- 错误猜测法
- 因素/场景组合法
接口手工测试
根据接口测试用例文档,先进行
手工测试 这里我自己
开发测试工具, 使用Python和requests库, 发送和接收 测试用例中 的API接口消息。然后人工检查是否用例里面的预期结果相符。 为什么自己开发测试工具?有现成的postman等工具啊?
这是因为我们的测试接口里面,有一些特殊加密接口数据。因为Postman的编码是用JS编的,找不到对应的库。但是有现成的
python库可以直接调用,然后我就自己开发了测试工具。而且自己开发测试工具更测试工作,用时也并不长。

发送接收API消息封装到库中
把 发送接收API消息封装到库中,这样可以使我们的测试代码更加简洁,复用性更高。也方便以后的自动化测试
接口自动化测试
我们要自动化测试,必须把用例的所有步骤全部自动化实现。
这包括,用程序实现 :
预置条件中数据环境的构建
测试步骤中的测试动作, 发送HTTP消息给被测系统
预期结果中的检查, 对返回HTTP响应消息中 数据的检查
自动化测试系统的开发,需要挑选一款合适的框架,这里我用 基于
pytest改进研发的测试框架hytest重点是:
- 自动化用例的目录结构,最好
按照 数据环境 规划 - 下层目录会继承上层目录的 数据环境
- 每个用例要做好初始化与清除工作、保证单个用例执行完毕后数据环境不变