seldom-platform颠覆传统的自动化测试平台
1. 传统的自动化测试平台
近些年,中等以上规模的公司测试团队都在建设自己的自动化测试平台。主要要以 HTTP接口测试 和 性能测试 为主;一些平台还支持 Web UI测试和App UI测试等,试图通过UI界面配置来替代代码自动化测试编写。

图:来自MeterSphere平台。
自动化测试平台的好处,显而易见。
- 降低使用门槛:不需要测试人员懂编程语言和测试库。
- 可视化的用例管理:可以清晰地查看和编辑、统计用例。
- 历史结果统计与分析:可以通过各种维度统计测试相关指标。
然而,自动化测试平台的缺点,也很明显。
- 用例的编写效率:相比较于代码编写用例,UI配置的效率是比较低的。
- 很难重构:对于用例的编写,需要不断地抽象和封装,来调整用例的编写,然而,平台很难做到这一点。
- 对于复杂用例的限制:对于复杂的场景用例不支持,或需要通过非常复杂的配置。
- 持续的投入成本:一个企业级的测试平台,需要不断地投入开发资源去维护升级,来应对各种业务需求。
隐含缺点,没错!还有无法放到台面上说的缺点。
- 对于测试工程编程能力的限制:少部分测试开发工程师通过开发平台得到技能的成长。大部分的测试工程师的技能被限制在测试平台使用层面。
2. 框架与平台之争
当我们决定为公司引入自动化测试的时候,必然会遇到 使用框架编写,还是通过平台编写的问题。
框架的优势:
灵活高:当你具备编程能力,就能体会到编程的方式编写自动化用例有很高的可控性。例如:
if 判断、for 循环、封装、变量传递、参数加密等等,编写用例非常简洁高效。扩展方便:我们可以通过库的方式无限扩展框架的能力,例如:需要用到
MySQL数据库,安装个pymysql库就可以;需要实现AES加密,安装个pycryptodome库就可以了。利于测试工程师的成长:这一点其实也挺重要的,在编写自动化测试代码的过程中会对编程语言有更多的使用经验,针对业务功能的测试的理解也会更加深刻;当然,技能的提升对于升职、跳槽都是有益处。
平台的优势:
用例管理更透明:通过平台管理用例,可以轻松地查看用例,统计用例的数量。
更多运行方式:平台支持更多的运行方式,单个用例运行,任务执行,定时执行等,平台可以轻松实现更多运行方式。
便于数据统计:通过平台更便于测试数据的统计。
天/周/月/年执行次数,天/周/年/成功率等。
那么,是否有一种方案可以兼顾到 框架 和 平台 各自的优势呢?
3. Seldom-platform自动化测试平台
3.1 平台技术方案
这根传统的测试平台非常不一样,传统的测试平台创建用例是非常低效的,也非常不灵活。但是,平台的优势在于维护测试用例的用例的管理,定时任务,以及结果的可视化管理。selenium-platform可以解析seldom框架编写的自动化用例。~ 这是一个完美的方案。
- seldom-platform架构

1. seldom
通过seldom框架编写自动化测试用例。


2. Github/gitee托管项目代码
将你的代码托管到git平台, github、gitlab、gitee或者私有git平台都可以。

seldom-platfrom
通过seldom-platfrom平台解析用例,执行、查看结果、定时任务...
从上面的实现方案,seldom-platform充当了CI的角色,但是,又与CI有很大不同,CI 支能配置命令来执行自动化项目。Seldom-Platform可以对自动化项目做到用例级可视化管理。除了不支持编写测试用例(本来,编写测试用例也应该交给更擅长的框架来做。)
3.2 平台特点
- 零成本支持任何类型测试
当我们将编写用例这件事情交给 框架 来完成之后,那么平台可以几乎零成本的实现任何类型的测试: Web UI、App UI、HTTP、WebSocket、db数据库 等。然而,传统的自动化测试平台每种类型的测试都需要做专门的支持。
- 降低平台开发的成本
当平台不再负责用例的编写,那么成本可以得到很大的降低。想象你要在平台上实现用例的创建、用例依赖、数据依赖,模块依赖。不同类型的测试交互也会有很大的差异,显然要付出不小的开发成本。
- 平衡测试编写与管理
测试工程师可以自由的使用 seldom框架编写自动化测试用例,同时,这并不会限制他技术成长。
测试管理者可以可视化的管理测试用例,查看、运行、统计等可以非常直观的管理用例。
相关资料
目前 seldom-platform 已经到 2.0版本,重构了前端交互,提供更加友好的交互设计,以及更稳定的功能。
关注平台的更多使用细节,请访问开源项目,以及在线体验平台。
seldom-platform开源平台:https://github.com/SeldomQA/seldom-platform
体验地址:http://seldom.testpub.cn/
seldom-platform颠覆传统的自动化测试平台的更多相关文章
- 从0到1搭建移动App功能自动化测试平台(0):背景介绍和平台规划
本文作者: 伯乐在线 - debugtalk .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 转载地址:http://blog.jobbole.com/101221/ 背景 最近新加入DJI的 ...
- AIOps 一场颠覆传统运维的盛筵
"颠覆传统运维."是 OneAPM CEO 陈旭经常挂在嘴边的一句话.为什么说 AIOps 将颠覆传统运维?如何才能把人工智能和运维管理相结合并落地? 2018年5月,OneAPM ...
- Docker微容器+微服务将颠覆传统的软件架构
从我的观点看:Docker是一个微容器,一个云计算的微PaaS容器,类似JVM但比其更强大的容器,直接基于Linux内核,支持各种语言,它比VM虚拟机更加轻量,能够在Linux或云计算IaaS等平台上 ...
- iClap专访:颠覆传统办公方式,规范化产品管理系统
背景:DevStore是成立于2014年的移动互联网企业运营解决方案整合平台,线上资源涉及产品研发,设计,推广运维各个阶段,致力于为互联网从业者提供帮助.iClap是DevStore的全新产品,于20 ...
- 集成 Jenkins 和 TestNG 实现自助式自动化测试平台
背景介绍 在软件业十分成熟的今天,敏捷(Agile)开发在业界日益流行,而面临的挑战也日益增多,不断变化的用户需求.缩短的开发周期.频繁的部署上线.复杂的产品架构和团队组织,如何继续保证软件的质量是一 ...
- Appium 从 0 到 1 搭建移动 App 功能自动化测试平台 (1):模拟器中运行 iOS 应用
转载:https://testerhome.com/topics/4960 在上一篇文章中,我对本系列教程的项目背景进行了介绍,并对自动化测试平台的建设进行了规划. 在本文中,我将在已准备就绪的iOS ...
- 一种Flash页游前端3D转2D显示技术——PV2D, 颠覆传统吧!
stage3D很强大,但是客户端硬件加速支持有限. 出来的图形锯齿严重,看上去和果冻一样. Stage3d不兼容2d模式. 总的来说,3D很美好,现实很残酷.但是3D有无可比拟的优势:那就是节省90% ...
- 从0到1搭建移动App功能自动化测试平台(2):操作iOS应用的控件
转自:http://debugtalk.com/post/build-app-automated-test-platform-from-0-to-1-Appium-interrogate-iOS-UI ...
- selenium项目总结(UI自动化测试平台搭建、测试报告生成、邮件转发)
最近博主完成了一个web端UI自动化平台测试环境搭建,包括常用的操作流程组合成方法,组织测试用例,利用框架及报告文件生成,最后通过邮件添加附件的格式发送. 首先UI自动化平台的核心是selenium+ ...
- flask + Python3 实现的的API自动化测试平台---- IAPTest接口测试平台(总结感悟篇)
前言: 在前进中去发现自己的不足,在学习中去丰富自己的能力,在放弃时想想自己最初的目的,在困难面前想想怎么踏过去.在不断成长中去磨炼自己. 正文: 时间轴 flask + Python3 实现的的AP ...
随机推荐
- ansible rpm包下载
Ansible2.9.18版本下载链接:https://pan.baidu.com/s/1dKlwtLWSOKoMkanW900n9Q 提取码:ansi 将软件上传至系统并解压安装: # tar -z ...
- Spring —— 依赖自动装配
依赖自动装配 IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配 自动装配方式 按类型(常用) 按名称 按构造方法 不启用自动装配 注意: 自动装配用于引 ...
- 使用 Flutter 3.19 更高效地开发
我们已隆重推出全新的 Flutter 版本--Flutter 3.19.此版本引入了专为 Gemini 设计的新 Dart SDK.一个能让开发者对 Widget 动画实现精细化控制的全新 Widge ...
- Sketch Measure切图插件无法导出标注 (换插件绕过解决)
环境 MacOS 10.15+ sketch版本 69.2 插件版本 2.8.1 遇到的问题 导出标注卡死 更新版本无解,到插件的github issue中找到解决方法 使用MeaXure插件,git ...
- Docker安装(安装Docker-CE)(三)
现版本安装Docker已经非常简单了,有很多种方式,而自17年开始,Docker分为Docker-CE(社区版).Docker-EE(企业版),另外Docker-IO是较早的版本,通常用的都是Dock ...
- 利用 Page Visibility API 优化网页性能与用户体验
在现代 Web 开发中,用户可能会频繁切换标签页,或让网页处于后台运行.为了避免不必要的资源浪费并提升用户体验,合理利用 Page Visibility API 可以在页面不可见时暂停或减少资源的消耗 ...
- CF753B题解
这应该算是一个很脍炙人口的小游戏了吧 (没玩过算我没说) 因为一共有 \(50\) 次询问机会,那最简单直接的方法就不难想到. 我们把 \(0 \sim9\) 全部询问一遍,如果回答两个整数不全为 \ ...
- OpenAI官方开源多智能体框架「Swarm」,并不是我想要的多智能体框架
今天早上,OpenAI实施团队的 @shyamal在Github上开源了Swarm这个OpenAI官方的多智能体框架.不得不说,OpenAI官方下场,获得的社区影响就是不一样,在微信群.朋友圈里已经出 ...
- 云原生爱好者周刊:为 DevOps 流水线准备的 macOS 虚拟化工具
开源项目推荐 Tart Tart 是一个虚拟化工具集,用于构建.运行和管理 Apple Silicon 芯片 macOS 上的虚拟机,主要目的是为 CI 流水线的特殊任务提供运行环境.主要亮点: 使用 ...
- 一些新奇的玩意【php篇--持续更新】
人不进步就等于退步! 接触越多的人以及事就能学到更多的东西. 以下仅为本人记录的一些新奇的东西,不喜勿喷! 1.??运算符号,在新的项目中突然发现很多红线报错,还以为是错误!看了下,是??运算的问题, ...