介绍了接口自动化测试框架框架搭建,第三方插件,配置文件设置和读取,测试流程等内容。测试用例设计部分,则包括Excel测试用例,控制流和数据流,方法的应用场景,测试用例书写标准以及测试集的创建。
接口自动化测试总结
框架搭建
- 工具
- 目录
- 配置
- pytest框架
- pytest.ini
- conftest.py
- 基本命令
- 三方插件
- Yaml配置文件
- 配置文件
- 数据驱动
- Excel
- 测试数据配置
- 数据驱动
- 日志
- 日志配置
- 日志输出
- Allure报告
- 安装
- 使用
- 测试用例
- 邮件配置
- 邮件配置
- 邮件发送
- 接口测试框架流程
主程序 -> Excel测试用例 -> Request请求 -> 断言 -> 日志 -> Allure报告 -> 邮件发送
测试设计
测试框架的设计
测试用例的设计
测试用例是为了某个特定的测试目标而设计的,它是测试操作过程序列、条件、期望结果和相关数据的一个特定的集合。
从需求出发,设计测试用例,不同的测试数据或测试条件和用户故事(user story)、应用场景叠加,形成测试用例。
还可以基于被测系统(system under test)的功能点、业务流程、业务规则、业务数据等,设计测试用例。
测试用例和功能结构有对应关系,呈现出层次结构。
例如,在“登录”功能模块中,层次结构如下:
- 用户身份合法性验证(父用例)
- 用户名验证(子用例)
- 正常用户名的输入(孙用例)
- 含有特殊字符的用户名输入
- 字母大小写无关性测试
- 非法用户名输入
- 密码验证(子用例)
- 正常密码
- 含有特殊字符的密码
- 字母区分大小写的测试
- 密码有效期验证
- 密码保存
- 忘记密码之后找回密码功能
- 正常用户名的输入(孙用例)
- 用户名验证(子用例)
Excel测试用例
一个完整的Excel测试用例表应该包括以下几个部分:
用例编号,用例名称,用例类型,用例优先级,用例状态,用例版本,用例创建人,用例创建时间,用例修改人,用例修改时间,用例描述,用例前置条件,用例后置条件,用例步骤,用例预期结果,用例附件,用例备注。
控制流和数据流
可以从代码、功能点和场景等维度去衡量测试覆盖率,但是场景、功能点具有不确定性,比较确定的测试覆盖率是基于数据分析的数据流和基于逻辑结构的控制流。测试设计方法就是通过测试用例的不断设计、优化,最终达到控制流和数据流的覆盖。
在业务层,控制流主要体现在业务流程图,数据流体现在数据流程图。
如“用户登录”功能模块的业务流程图:
根据上述流程图来设计测试用例,需要覆盖每个分支和条件,以保证测试的覆盖率。
首先,要考虑分成“不能自动登录”和“自动登录”两类;对于“不能自动登录”,要考虑“记住密码”和“不记住密码”两种情况;对于“自动登录”,要考虑“记住密码”和“不记住密码”两种情况。对于不同输入项的错误,可以分成“用户名错误”、“密码错误”、“验证码错误”、“用户名和密码错误”、“用户名和验证码错误”、“密码和验证码错误”、“用户名、密码和验证码错误”等情况。这样,就可以设计出对呀的测试用例。
清楚方法的应用场景
- 表单中单个输入框的测试属于单因素测试,可以使用等价类划分法、边界值分析法等方法。等价类划分让我们优化测试数据,并关注无效等价类;边界值分析方法则让我们关注边界值。
- 如果考虑多个条件(条件只包括成立和不成立)组合作用时,这时选用决策表方法。如果很难构造出决策表,可以先用因果图分析,再由因果图产生决策表。
- 如果不是条件,而是多个因素/变量,每个因素/变量有多个选项(取值),这时要看能否完全组合。如果完全组合数很大,就考虑用两两组合(pairwise)方法或者正交实验方法。
测试用例书写标准
测试用例标准模板的主要元素如下:
- 标识符
- 测试项
- 测试环境要求
- 输入标准
- 输出标准
- 测试用例之间的关联
测试集的创建
测试集是测试用例的集合,可以对测试用例进行分类管理。测试集的创建可以按照模块、功能、功能模块、功能点等方式进行分类。