亿教亿学自动化测试


亿教亿学 在线教育系统 第一阶段

一、项目介绍

亿教亿学 一款在线教育产品 主打中小学生在线教学。老师可以在线授课,批改作业。支持数据统计分析功能。

WEB与APP端均支持。

二、系统主要功能

  1. 在线微课、作业

    ​ 老师在线发布微课、作业(支持分组选学生发布),并可以实时查看学生完成状态。

  2. 创建个人题目库

    ​ 老师可以根据不同章节、知识点添加自创题目。

  3. 同步课学习

    ​ 学生同步学习在线视频并练习

  4. 统计分析

    ​ 错题统计 知识点统计 学校统计

三、管理员主要功能

  1. 系统标签
  2. 资源管理
  3. 学校管理
  4. 公告管理

四、第三方学校管理API接口测试

1.说明

​ 本接口是REST API接口, 用于第三方教育机构在YJ平台进行学校管理操作。每个授权的第三方教育机构在 YJ平台中都会生成一个对应的学校对象。

​ 使用本接口时,所有的API请求必须带上vcode参数。

​ 该参数是为该学校分配的一个验证码,必须私密保存,不能外泄。

2.测试点

班级操作 老师操作 学生操作
测试点1 列出班级 列出老师 列出学生
测试点2 添加班级 添加老师 添加学生
测试点3 修改班级 修改老师 修改学生
测试点4 删除班级 删除老师 删除学生

以上没各功能点都有对应的HTTP请求格式、响应结果。

3.准备工具

  1. 使用语言:Python3.8
  2. 自动化测试框架:HYTEST

4.测试步骤

  1. 搜集、整理需求

    在编写测试用例前,最重要的前提是什么?就是要尽可能的 搜集 完整系统的 需求、设计 。因为 ,开发人员 不可能 给出 详细到、格式规范到 可以直接对应 产生测试用例 的 需求、设计文档。

    里面肯定 有遗漏、或者细节不清楚 的地方,甚至会有 矛盾、错误。

    所以在 需求整理 过程中:

    • 寻找是否有遗漏的 需求点(测试点)

    • 发现需求设计 有 矛盾错误的地方,及时和 产品组、开发人员 沟通

  • 不断的将需求进行 合理的 分类、组合, 记录在你自己的测试需求文档中
    • 最终的 测试需求文档,就是做为 测试用例 的输入材料。
  1. 编写测试用例

    需求整理好以后,采用什么方法才能写出比较完善的测试用例呢?

    网上流传的编写测试用例方法有很多,我认为最重要的就是

    • 根据测试需求建立用例分类
    • 边界值法
    • 错误猜测法
    • 因素/场景组合法
  2. 接口手工测试

    ​ 根据接口测试用例文档,先进行 手工测试

    ​ 这里我自己开发测试工具, 使用Pythonrequests库, 发送和接收 测试用例中 的API接口消息。然后人工检查是否用例里面的预期结果相符。

    ​ 为什么自己开发测试工具?有现成的postman等工具啊?

    ​ 这是因为我们的测试接口里面,有一些特殊加密接口数据。因为Postman的编码是用JS编的,找不到对应的库。但是有现成的python库可以直接调用,然后我就自己开发了测试工具。而且自己开发测试工具更测试工作,用时也并不长。

    HTTP接口测试工具

    ​ 发送接收API消息封装到库中

    ​ 把 发送接收API消息封装到库中,这样可以使我们的测试代码更加简洁,复用性更高。也方便以后的自动化测试

  3. 接口自动化测试

    我们要自动化测试,必须把用例的所有步骤全部自动化实现。

    这包括,用程序实现 :

    • 预置条件中数据环境的构建

    • 测试步骤中的测试动作, 发送HTTP消息给被测系统

    • 预期结果中的检查, 对返回HTTP响应消息中 数据的检查

    自动化测试系统的开发,需要挑选一款合适的框架,这里我用 基于pytest改进研发的测试框架hytest

    重点是:

    • 自动化用例的目录结构,最好 按照 数据环境 规划
    • 下层目录会继承上层目录的 数据环境
    • 每个用例要做好初始化与清除工作、保证单个用例执行完毕后数据环境不变

文章作者: 姜楠
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜楠 !
  目录