传统自动化测试框架:
优势:
个别产品线具备专职自动化测试人员使用Python语言编写测试用例,从而可根据产品线个性化进行灵活控制,脚本编写自由度较大。
威胁:
Python脚本编写自由度较大导致脚本编写标准难以统一,可读性较差,日后维护量较大,交接新人非常困难,加大人力成本。
劣势:
- 自动化测试用例编写需要一定的技术门槛,个别产品线缺少专职人员。
- 自动化测试用例需制定严格的代码编写规范。
- 管理人员无法实时跟踪产品线落地情况。
- 实现跨产品项目用例模块的共享比较困难。
- 自动化测试报告无法对多次执行结果进行对比,无法灵活组织与执行套件。
对当前自动化框架的建议:可以引入自动化测试平台模式,以统一的标准将自动化测试框架进行封装,并可以在平台上对多个项目的自动化测试用例进行统一的管理。
QA/自动化测试平台:
- 不需要编写代码,自动化测试用例编写的技术门槛非常低,实习生经过培训即可展开自动化测试工作。
- 不需要制定严格的代码编写规范,培训成本非常低,实习生经过培训即可展开自动化测试工作。
- 平台统一直观的管理和统计各项目的测试用例,实时跟踪产品线情况。
- 测试人员可以在平台上实现跨产品项目用例模块的共享。
- 自动化测试报告可实现多次执行结果进行对比,可以灵活组织与执行套件。
设计思路:
开发语言:Python
- 简单易学,无所不能
- 唯一的缺点是相对于其他语言来说,运行速度较慢
后端框架:Django + djangorestframework
- 强大的数据库管理功能:拥有丰富、动态的数据库操作接口,ORM实现数据模型与数据库的解耦。
- 自带强大的后台功能
- 优雅的网址
- 缓存系统:提高页面加载速度
- 拥有模板系统:设计简单、容易扩展
- APP设计理念:可插拔、直接删除,不影响整个系统
前端框架:VUE + adminLTE
- 响应式编程、组件化
- 轻量级框架、简单易学、双向数据绑定、数据和结构分离、运行速度快
数据库:mysql
- 高性能且相对简单的数据库
- 开源免费
- 运行速度很快
- 可移植性:可运行在各种版本的UNIX以及其他非UNIX系统
测试框架:unittest
- 基于python的稳定的单元测试框架
- 灵活、python开发易于测试功能实现
功能模块设计:
image.png