使用编程管理手工与自动化测试用例
学习目标
-
掌握 Python 面向对象编程
-
掌握 Pytest 测试框架
-
掌握 PyCharm 的基本使用
-
解答 Python 疑问
安装 Python
https://docs.python.org/zh-cn/3/index.html
安装 PyCharm
安装虚拟环境 venv
安装依赖
设置源码与测试目录
编写业务类
对领域进行建模
- package代表业务范围
- module class 功能集合
- function method 特定功能
- attribute var 环境依赖
- params 输入数据
- return 被测系统的输出
领域实现 Page Object Model
PO设计模式
PO(page object)设计模式是在自动化中已经流行起来的一种易于维护和减少代码的设计模式. 在自动化测试中, PO对象作为一个与页面交互的接口. 测试中需要与页面的UI进行交互时, 便调用PO的方法. 这样做的好处是, 如果页面的UI发生了更改,那么测试用例本身不需要更改, 只需更改PO中的代码即可.
PO设计模式具有以下优点:
- 测试代码与页面的定位代码(如定位器或者其他的映射)相分离.
- 该页面提供的方法或元素在一个独立的类中, 而不是将这些方法或元素分散在整个测试中.
这允许在一个地方修改由于UI变化所带来的所有修改. 随着这种"测试设计模式"的广泛使用, 可以在众多博客中找到有关此技术的有用信息. 我们鼓励希望了解更多信息的读者在互联网上搜索有关此主题的博客. 许多人已经写过这种设计模式, 并且可以提供超出本用户指南范围的有用提示. 不过, 为了让您入门, 我们将通过一个简单的示例来说明页面对象.
传统手工测试维护的痛点
- 共性步骤维护困难
- 输入数据 步骤 不清晰,难以维护
- 思维导图测试用例依赖路径难以管理
本质原因我们的测试用例的真实模型是图结构
- a → b- → c
- a → d → c
编程维护测试用例的优点
- 步骤调用非常清晰,没有冗余,封装复用
- 参数化 数据驱动 10条数据 10个步骤
- 测试用例的流程维护 自动推动 漏测统计分析
编写测试类
优化测试用例规划
优化测试点
生成测试报告
https://docs.qameta.io/allure/#_pytest
todo:
- 根据模型自动生成思维导图
- 根据模型自动生成excel
- 根据模型自动生成漏测分析
- 根据模型自动生成业务流程图
- 把生成的测试用例导入第三方平台jira 禅道