1.自动化测试流程
-- 需求分析。需求文档,接口文档,抓包接口
-- 测试计划。通常包含项目的进度,是否自动化,优先级
-- 测试用例(是从手工测试提取出来的)
-- 用例评审
-- 执行测试。(写代码)
-- 测试报告
接到项目之后,如何去进行需求分析:
1.需求文档,功能展示以及交互
2.接口文档,后端数据是怎么传输的
3.数据库账号,数据库地址,结构帮大家熟悉整个项目的轮廓,字段
4.测试环境,环境怎么搭建
5.原型图
测试计划:
通常是由测试经理或者项目经理来编写的
1.可行分析,是否要引入自动化,哪此场景引入自动化,哪此功能引入自动化,做自动化不是全量覆盖,不可能是所有用例都进行自动化,
2.风险因子,存在哪此风险
3.时间管控,主要是时间、技术、进度、优先级的管控
4.技术,使用什么技术(python、java),使用什么测试单元框架(unittest、pytest)
测试用例:
写到excel,手工测试用例,指的是全量的测试用例,不是自动化测试用例
案例:
通常来说,任何一个项目或是新功能,会先进行手工测试,也是要进行全量的用例编写
自动化测试主要包括:
1.冒烟测试:主流程是否能正常运行
2.回归测试:验证开发修复的bug是否正常,并没有引入新的bug
3.持续集成:一天要重复测试好几次
2.接口需求分析
接口文档:
-- 纸质(电子 )
-- open api,swagger(网站)
-- 什么都没有,全凭一张嘴(自己抓包)
通过抓包或postman调试工具来设计测试用例,预期结果
3.用例设计
用excel进行编写,最好是一个接口编写一个sheet页,这样好进行测试
注意json格式数据一定要规范,双引号,英文的逗号等
预期结果可以使用postman调试工具来获取


4.编写自动化测试用例函数
领导丢给你一个自动化测试计划
先不要着急做到十全十美,第一步是验证你的自动化测试程序是否能正常运行
先把功能实现
写一个单独的自动化测试用例函数。以test_开头,需要有请求发送,得到响应结果,断言,生成测试报告
新建一个test_register.py,代码如下:
import unittest
import requests
class TestRegister(unittest.TestCase):
def test_register_01(self):
'''步骤:
1.准备测试数据
2.发送接口请求,得到实际结果
3.预期结果和实际结果的断言
'''
# 1.准备测试数据
url = 'http://api.lemonban.com:8766/futureloan/member/register'
method = 'post'
headers = {'X-Lemonban-Media-Type': 'lemonban.v2'}
json_data = {"mobile_phone": "", "pwd": "12345678"}
expected = {
"code": 1,
"msg": "手机号为空",
"data": None,
"copyright": "Copyright 柠檬班 © 2017-2019 湖南省零檬信息技术有限公司 All Rights Reserved"
}
# 2.发送接口请求,得到实际结果
response = requests.request(method=method,url=url,
headers=headers,json=json_data)
actual = response.json()
# 3.预期结果和实际结果的断言
self.assertEqual(expected,actual)
# 有多少条用例就可以写多少个自动化测试函数,这里就不写所有的了
新建一个run.py来收集用例,运行用例,代码如下:
import unittest
import unittestreport
# 收集测试用例
suite = unittest.defaultTestLoader.discover('tests')
# 生成测试报告
runner = unittestreport.TestRunner(suite)
runner.run()

本文详细介绍了接口自动化测试的流程,从需求分析、接口需求分析、用例设计到自动化测试用例函数的编写。文章还讨论了分层思想在测试框架中的应用,以及如何优化注册接口测试,包括测试报告不覆盖问题、动态手机号码生成和全量断言与部分断言的使用。此外,文章还探讨了测试金字塔、适合自动化测试的项目条件以及处理图片验证码的策略。

1188

被折叠的 条评论
为什么被折叠?



