自动化技术框架选型的思考

2023-12-16

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客 文章浏览阅读1.5k次,点赞69次,收藏10次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块…… https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501 在我们自动化方案完成之后,我们就需要考虑落地实际技术去实现了,用到技术就需要我们进行一些技术选型,那我们究竟该怎么做好选型工作呢?从哪些方面去思考?

下面是我在做自动化选型的一些思考和实践,仅供参考。

  • 产品类型: 我们是产品是一个Web应用、桌面应用、移动应用或者SDK?

  • 技术架构 :开展业务的技术架构是哪些,使用了哪些技术?

  • 测试需求和目标 :需要进行的是单元测试、UI 自动化、API 自动化、性能自动化测试还是都需要?

  • 团队技术栈 :你团队是 Java 技术栈还是 Python 技术栈或其他体系?

  • 框架的成熟度和社区支持: 框架是否成熟且有良好社区支持、活跃度怎么样?

  • 维护性: 对于用例维护性怎么样?管理怎么样?

  • 成本 :学习成本、使用成本、维护成本?

  • 扩展性: 如果需要进行二次开发,投入成本怎么样?

我们选择工具是为了解决我们的问题,而不是解决原来的问题,又带来其他更多问题,我们需要做好 成本+效率+收益 的平衡。

产品类型

我们的产品类型不同对我们选择的框架存在很大的影响,如果你是在测试移动应用,比较热门的如Appium、 Airtest这样的框架,如果你在测试Web应用,比较热门的如Selenium、playwright这样的框架, 如果是桌面这种应用,比较热门的如Airtest、WinAppDriver、PyAutoGUI等这样的框架。

由于每个框架支持的功能不一样,都有各自的优缺点,我们需要根据我们产品的类型、运行环境来决定选择哪一种框架,我们可以对框架进行最少流程的业务 demo 演示,看能否满足我们的需求。

技术架构

去熟悉被测系统的技术架构是很多人做自动化测试经常忽略的一个方面,这点也是非常重要。我们可以多参与技术方案评审、多与开发沟通,这样更快去熟悉。

那我们该怎么重点关注哪些东西呢?

  • • 应用入口:业务请求来源于 web 端、移动端(Android 和 IOS)、小程序、 H5。

  • • 前后端技术栈:UI自动化必须熟悉前端框架,这样能避免后续的元素定位留下隐患;接口自动化也需要熟悉后段的技术框架,对于风控规则、白名单规则、参数加密等类似业务逻辑规则,我们可以直接调用研发的接口进行处理、绕过。

  • • 架构组件:比如 Redis、RockMQ、ES、MySQL等;如果我们需要对这些中间件进行一些操作,肯定需要知道选择的框架是否支持或者简单的进行自定义工具类来实现。

  • • 数据流向:前端一个请求经过哪些服务处理再返回,经过中间哪些环节。

测试需求和目标

我们在前面文章里面说了梳理出团队的痛点,针对痛点选择合适的实施方案,这个实施方案就是我们要实现的需求,对于单元测试自动化、UI 自动化、API 自动化、性能自动化测试等这些,每一个类型的自动化都有各自擅长的工具框架,我们只有确定我们需要进行哪种类型的自动化,才能选择出一个合适的工具。

团队技术栈

这个方面很清晰,当前我们团队技术能力怎么样、熟悉哪些编程语言?自动化框架支持哪些语言?如果我们团队整体技术能力偏弱,我们只能选择界面操作型的框架工具,例如 API 的选择 Postman、 Jmeter 等,UI 自动化选择RobotFramework、 Airtest 等,如果团队编程技术比较好或者熟悉某一个框架,如果这个框架满足当前需求,我们肯定会优先选择这个框架。一般建议先搭建简单框架满足业务需求,先输出结果实现价值,搭建框架灵活性相对较高,不要一上来就是所谓的平台,一般后期肯定是平台化,但是有时候小而美的框架更实用。

框架的成熟度和社区支持

我们本来选择做自动化为了解决问题的,如果选择不成熟的框架,本身就存在很多问题,我们就得不偿失,遇见问题得不到社区的支持,有时候会严重影响进度。

我们要去了解框架是否程度和社区是否活跃,我们可以去看 GitHub 上的 star 和迭代情况、是否有大量对应使用教程文档资源,如果我们一搜索这个框架,出现很多相关内容,代表这个框架非常活跃,遇见问题可以快速找到对于解决方案。

维护性和成本

好的自动化框架应该易于维护。如果我们业务迭代快速,就需要一个能够快速修改和更新测试用例的框架。我们的自动化用例、脚本随着时间逐渐变多,用例维护、管理成本也会增加,框架应该有比较好的用例管理和快速维护用例的功能。

好的框架应该学习成本低,易于上手使用,对于出现了问题,我们也应该易于分析定位。

扩展性

主要在我们自动化过程中,总会存在一些问题,框架本身功能无法满足需要,需要我们进行一些二次开放或者自定义一些功能,选择的框架应该比较容易集成其他功能和二次开放新功能。

以上内容,仅代表个人看法,如果不同意见可以私信, 如果你觉得文章写的不错, 欢迎 点赞、分享、在看和分享给你的朋友一起交流!

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时, 请及时加入群: 786229024 ,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动化技术框架选型的思考 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 在pyyaml中表示具有相同基类的不同类的实例

    我有一些单元测试集 希望将每个测试运行的结果存储为 YAML 文件以供进一步分析 YAML 格式的转储数据在几个方面满足我的需求 但测试属于不同的套装 结果有不同的父类 这是我所拥有的示例 gt gt gt rz shorthand for
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 为美国东部以外地区的 Cloudwatch 警报发送短信?

    AWS 似乎没有为美国东部以外的 SNS 主题订阅者提供 SMS 作为协议 我想连接我的 CloudWatch 警报并在发生故障时接收短信 但无法将其发送到 SMS YES 经过一番挖掘后 我能够让它发挥作用 它比仅仅选择一个主题或输入闹钟
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 您可以在 Python 类型注释中指定方差吗?

    你能发现下面代码中的错误吗 米皮不能 from typing import Dict Any def add items d Dict str Any gt None d foo 5 d Dict str str add items d f
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • Python系列:selenium自动化(基础篇一)

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 奥飞娱乐2024届秋招/校招内推信息/内推码

    公司名称 奥飞娱乐 内推码 DSRxGx2F 内推来源 内推鸭小程序 官方招聘网站 奥飞娱乐股份有限公司 校园招聘
  • 计算机SSM毕设选题 中药店商城系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 3 系统结构设计 4 项目获取
  • usercpl.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个usercpl
  • 新奥集团2024届秋招/校招内推信息/内推码

    公司名称 新奥集团 内推码 EVVPTH 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https enn zhiye com campus jobs
  • vdsvd.dll文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个vdsvd d
  • 鹏芯微2024届秋招/校招内推信息/内推码

    公司名称 鹏芯微 内推码 ISVM18 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https career pxwsemi com
  • usbui.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个usbui d
  • 计算机SSM毕设选题 SSM的智能仓储管理系统

    项目背景 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 智能仓储系统当然也不能排除在外 智能仓储系统是以实际运用为开发背景 运用软件工程开发方法 采用jsp技术构建的一个管理系统
  • WMASF.DLL文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个WMASF D
  • UI自动化测试方案

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • Selenium定位元素的方法css和xpath的区别!

    selenium是一种自动化测试工具 它可以通过不同的定位方式来识别网页上的元素 如id name class tag link text partial link text css和xpath css和xpath是两种常用的定位方式 它们
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 作业帮2024届秋招/校招内推信息/内推码

    公司名称 作业帮 内推码 NTABmy8 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • SQL语句---select基本查询语句

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞62次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 比特大陆/算能科技2024届秋招/校招内推信息/内推码

    公司名称 比特大陆 算能科技 内推码 ISKTJR 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • Jmeter post请求传参问题

    同线程组引用参数 新增数据bizId 然后将此次新增数据删除 添加新增 数据接口 然后查询数据列表 正则表达式提取bizId 在删除接口引用此值 bizId 添加断言 执行查看结果 json格式的post请求 摘要 正在执行的活动内容修改
  • 沐瞳科技2024届秋招/校招内推信息/内推码

    公司名称 沐瞳科技 内推码 TC4GYC9 内推来源 内推鸭小程序 官方招聘网站 沐瞳科技内推
  • wmi.dll文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个wmi dll
  • 自动化技术框架选型的思考

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 5k次 点赞69次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自