测试用例
测试用例¶
测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果的文档。
它的作用其实就是为了测试是否满足某个特定需求,通过大量的测试用例来检验软件的运行效果。
测试用例是指导测试工作进行的依据,可以规划准备测试数据,是自动化测试脚本编写的依据,是测试结果的度量标准,也是分析 Bug 的标准。
测试用例当中需要包含以下内容:
- 用例编号
- 模块
- 测试点
- 优先级
- 前提条件
- 测试步骤
- 期望结果
- 实际结果
设计成为表格形式可以这样编写:
| 用例编号 | 模块 | 用例标题 | 优先级 | 前提条件 | 测试步骤 | 预期结果 | 设计方法 |
|---|---|---|---|---|---|---|---|
| API_001 | 宠物主人搜索接口 | [功能]GET /owners - 搜索存在的宠物主人 | P0 | 系统中存在Last Name为"Davis"的宠物主人 | 1. 发送GET请求到/owners?lastName=Davis 2. 检查响应状态码 3. 检查响应数据格式 4. 检查返回的宠物主人信息 |
1. 响应状态码为200 2. 响应数据为JSON格式 3. 返回包含Last Name为"Davis"的宠物主人信息 4. 数据字段完整且正确 |
等价类 |
| API_002 | 宠物主人搜索接口 | [功能]GET /owners - 搜索不存在的宠物主人 | P0 | 系统中不存在Last Name为"NonExistent"的宠物主人 | 1. 发送GET请求到/owners?lastName=NonExistent 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 返回空数组[] 3. 响应时间小于2秒 |
等价类 |
| API_003 | 宠物主人搜索接口 | [功能]GET /owners - 不传参数搜索全部宠物主人 | P1 | 系统中存在多个宠物主人 | 1. 发送GET请求到/owners 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 返回所有宠物主人信息 3. 数据格式正确 |
场景法 |
| API_004 | 宠物主人搜索接口 | [边界]GET /owners - 搜索空字符串 | P2 | 无 | 1. 发送GET请求到/owners?lastName= 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 返回所有宠物主人信息 |
边界值 |
| API_005 | 宠物主人搜索接口 | [边界]GET /owners - 搜索特殊字符 | P2 | 无 | 1. 发送GET请求到/owners?lastName=@#$% 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 返回空数组[] |
边界值 |
| API_006 | 宠物主人搜索接口 | [性能]GET /owners - 响应时间测试 | P1 | 无 | 1. 发送GET请求到/owners 2. 记录响应时间 |
1. 响应时间小于2秒 2. 响应状态码为200 |
性能测试 |
| API_007 | 宠物主人详情接口 | [功能]GET /owners/{id} - 获取存在的宠物主人详情 | P0 | 系统中存在ID为1的宠物主人 | 1. 发送GET请求到/owners/1 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 返回ID为1的宠物主人详细信息 3. 包含所有必要字段 |
等价类 |
| API_008 | 宠物主人详情接口 | [功能]GET /owners/{id} - 获取不存在的宠物主人详情 | P0 | 系统中不存在ID为999的宠物主人 | 1. 发送GET请求到/owners/999 2. 检查响应状态码 |
1. 响应状态码为404 2. 返回错误信息 |
等价类 |
| API_009 | 宠物主人详情接口 | [边界]GET /owners/{id} - 获取ID为0的宠物主人详情 | P2 | 无 | 1. 发送GET请求到/owners/0 2. 检查响应状态码 |
1. 响应状态码为400或404 2. 返回错误信息 |
边界值 |
| API_010 | 宠物主人详情接口 | [边界]GET /owners/{id} - 获取负数ID的宠物主人详情 | P2 | 无 | 1. 发送GET请求到/owners/-1 2. 检查响应状态码 |
1. 响应状态码为400 2. 返回错误信息 |
边界值 |
| API_011 | 创建宠物主人接口 | [功能]POST /owners - 创建新的宠物主人 | P0 | 无 | 1. 准备有效的宠物主人数据 2. 发送POST请求到/owners 3. 检查响应状态码 4. 检查响应数据 |
1. 响应状态码为201 2. 返回创建的宠物主人信息 3. 包含自动生成的ID 4. 数据字段完整 |
等价类 |
| API_012 | 创建宠物主人接口 | [功能]POST /owners - 创建重复的宠物主人 | P1 | 系统中已存在相同信息的宠物主人 | 1. 准备重复的宠物主人数据 2. 发送POST请求到/owners 3. 检查响应状态码 |
1. 响应状态码为400或409 2. 返回错误信息 |
等价类 |
| API_013 | 创建宠物主人接口 | [边界]POST /owners - 创建缺少必填字段的宠物主人 | P1 | 无 | 1. 准备缺少firstName的数据 2. 发送POST请求到/owners 3. 检查响应状态码 |
1. 响应状态码为400 2. 返回字段验证错误信息 |
边界值 |
| API_014 | 创建宠物主人接口 | [边界]POST /owners - 创建字段长度超限的宠物主人 | P2 | 无 | 1. 准备firstName超过100字符的数据 2. 发送POST请求到/owners 3. 检查响应状态码 |
1. 响应状态码为400 2. 返回字段长度验证错误信息 |
边界值 |
| API_015 | 更新宠物主人接口 | [功能]PUT /owners/{id} - 更新存在的宠物主人 | P0 | 系统中存在ID为1的宠物主人 | 1. 准备更新的宠物主人数据 2. 发送PUT请求到/owners/1 3. 检查响应状态码 4. 检查响应数据 |
1. 响应状态码为200 2. 返回更新后的宠物主人信息 3. 数据已正确更新 |
等价类 |
| API_016 | 更新宠物主人接口 | [功能]PUT /owners/{id} - 更新不存在的宠物主人 | P0 | 系统中不存在ID为999的宠物主人 | 1. 准备更新的宠物主人数据 2. 发送PUT请求到/owners/999 3. 检查响应状态码 |
1. 响应状态码为404 2. 返回错误信息 |
等价类 |
| API_017 | 更新宠物主人接口 | [边界]PUT /owners/{id} - 更新ID为0的宠物主人 | P2 | 无 | 1. 准备更新的宠物主人数据 2. 发送PUT请求到/owners/0 3. 检查响应状态码 |
1. 响应状态码为400或404 2. 返回错误信息 |
边界值 |
| API_018 | 删除宠物主人接口 | [功能]DELETE /owners/{id} - 删除存在的宠物主人 | P0 | 系统中存在ID为1的宠物主人 | 1. 发送DELETE请求到/owners/1 2. 检查响应状态码 3. 验证删除结果 |
1. 响应状态码为200或204 2. 返回成功信息 3. 宠物主人已被删除 |
等价类 |
| API_019 | 删除宠物主人接口 | [功能]DELETE /owners/{id} - 删除不存在的宠物主人 | P0 | 系统中不存在ID为999的宠物主人 | 1. 发送DELETE请求到/owners/999 2. 检查响应状态码 |
1. 响应状态码为404 2. 返回错误信息 |
等价类 |
| API_020 | 删除宠物主人接口 | [边界]DELETE /owners/{id} - 删除ID为0的宠物主人 | P2 | 无 | 1. 发送DELETE请求到/owners/0 2. 检查响应状态码 |
1. 响应状态码为400或404 2. 返回错误信息 |
边界值 |
| API_021 | 接口安全测试 | [安全]GET /owners - SQL注入测试 | P1 | 无 | 1. 发送GET请求到/owners?lastName=' OR '1'='1 2. 检查响应状态码 3. 检查响应数据 |
1. 响应状态码为200 2. 不返回所有数据 3. 系统安全防护生效 |
安全测试 |
| API_022 | 接口安全测试 | [安全]POST /owners - XSS攻击测试 | P1 | 无 | 1. 准备包含 |