既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
示例:1、新增登录和获取个人信息两个接口,分别由A和B开发。2、A登录接口尚未开发完成,B获取个人信息接口已经开发完成。3、已知登录接口返回3种状态:登录成功,登录失败,登录异常。
场景源码:case.py
# -*-coding:utf-8 -*-
def login():
# 登录接口,尚未开发完成
# 登录成功返回:{"result": "success", "message": "登录成功"}
# 登录失败返回:{"result": "fail", "message":"账号或密码错误"}
# 登录异常返回:{"code": "404", "message": "找不到页面"}
# message返回失败原因
pass
def get_user_info():
# 根据登录的结果success or fail,判断跳转到对应页面
result = login()
print(result)
try:
if result["result"] == "success":
return "登录成功"
elif result["result"] == "fail":
return "登录失败"
else:
return "未知失败"
except:
return "服务端异常"
单元测试用例设计:
# -*-coding:utf-8 -*-
from unittest import mock
import unittest
import case
class TestLogin(unittest.TestCase):
# 单元测试用例
def test_login_success(self):
# 测试登录成功场景
# mock一个支付成功的数据
case.login = mock.Mock(return_value={"result": "success", "message": "登录成功"})
# 根据支付结果测试页面跳转
statues = case.get_user_info()
self.assertEqual(statues, "登录成功")
def test_login_fail(self):
# 测试登录失败场景
# mock一个登录失败的数据
case.login = mock.Mock(return_value={"result": "fail", "message": "账号或密码错误"})
# 根据登录结果测试页面跳转
statues = case.get_user_info()
self.assertEqual(statues, "登录失败")
def test_login_fail2(self):
# 测试登录失败场景
# mock一个登录失败的数据
case.login = mock.Mock(return_value={"result": "", "message": "账号或者密码为空"})
# 根据登录结果测试页面跳转
statues = case.get_user_info()
self.assertEqual(statues, "未知失败")
def test_login_error(self):
![img](https://img-blog.csdnimg.cn/img_convert/fc1f4b921bc4c16f91ec192857e5e4ee.png)
![img](https://img-blog.csdnimg.cn/img_convert/e0108e2cf6870628d839f3d1fffa264f.png)
![img](https://img-blog.csdnimg.cn/img_convert/43888f49d58cc46e82eb9f803b6ebf1c.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
且后续会持续更新**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**