8年测试经验分享 —— 从0铸造测试技术壁垒

2023-11-20

前言

相信所有从事着软件测试或相关工作的同学都会思考一个问题: 如何在持续且部分重复的测试活动中有效的进行测试技术积累

 

这个有趣的问题我先不予回答,我们先谈谈如何有效保证软件质量。 作为团队中的质量保证者,需要深刻的意识到,验证系统原有功能是否高可用 (回归测试) 往往比验证新功能 要重要得多 ( 当然新功能有问题产品小姐姐也是会捶你的 )。这一点在 敏捷开发中更是尤为重要 (不能因为新功能而忽视旧功能)

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 --百度百科

关于敏捷开发这里不过多介绍,其中的一个特性我比较看好,那就是 持续交付

整个业务市场肯定是持续在变化的,支撑业务的软件如果跟不上市场的节奏,则很有可能导致业务受到影响甚至直接被市场淘汰。 --笔者

持续交付听起来高大上,说白了就是保证软件随时处于一种可上线的状态, 而这个时候,测试自动化就显得格外重要了。

 

举个栗子(比较极端):

一次系统迭代到达了既定的上线日,这时仍然存在着数个不严重 (核心功能可用) 但也会影响部分支线业务的缺陷。

这时测试问开发:  "你丫的这几个Bug还能不能修了啊,不修就上了啊" 。

开发回答: "修修修, 我修好这一个Bug你再测一下没问题就上线" 。

当测试验证完开发修的Bug并且花了几个小时手动回测了系统原有功能,刚准备上线时, 
开发急急忙忙跑过来说 : "另外一个Bug我也修了, 你再看看没问题就上线吧" 

这时,相信测试心里是相当难受的, 
先不考虑修复一个Bug导致千千万万个新Bug的情况出现, 光是回测的工程量就不是一般的大。
于是测试幻想着所有测试都交给机器去做,这样就可以带薪发呆了 ...... 
复制代码

 

众所周知,机器在某些方面是优于人类的,所以说一些 重复性 的测试工作完全可以交给机器去做,而不应该是堆人数去疯狂的点点点 ( 虽然该点的时候还是要点 )。 这时候你可能会问,那自动化测试能完全代替手工测试吗? 答案是 : 不能,因为人类特有的创造性探索性目前机器难以模拟的。 虽然说完全自动化测试代替手工测试是不太现实的, 但是将系统稳定且核心的功能实现测试自动化还是非常可行的。

只有稳定的功能才有资格拥有自动化测试。 --笔者

再聊一点题外话,测试人员作为软件质量守卫者,系统每一次细微的改动 (包括改Bug),都应该当成一个 全新的版本 去进行测试。但是当 测试 - > 修复缺陷 -> 验证缺陷 -> 回测 的循环次数逐渐增多时,测试人员的测试热情肯定已经不如第一次测试时那么高昂了,心里也是处于一种得过且过的心态。(只要不爆炸,你就给我上)

 

测试人员对缺陷的容忍度会随着工作时长而增加。 --笔者

每一次迭代到后期,测试人员更应关注核心功能是否高可用(条件允许的话,系统原有核心功能的测试交给自动化,新核心功能测试则根据实际情况部分自动化部分人工),不然的话项目可能会将无限延期下去。 所以这也就是为什么软件上线后不可避免的会出现一些新问题或者是老问题复现。在每一次迭代中,想要完全实现100%自动化测试那是不太可能的,除非有许多专业且精通业务的测试开发人员,然而我们知道这是不现实的(不仅是公司成本问题,市场上也没那么多人才)。同时,自动化测试的实现也是开发的一个过程,自动化测试本身也可能会有缺陷,开发自动化测试的难度甚至比被测软件开发本身还要高,随着被测软件不断迭代,自动化测试也必然要紧跟着被测软件的脚步进行迭代,测试框架也需要测试人员花精力与时间去维护。 --来自笔者的吐槽

 

然而吐槽过后,该做的还是要做。言归正传, 测试技术积累 无非有几个大方向: 自动化测试性能测试安全测试,(其实性能、安全测试都可以包括在自动化测试内)。每一项测试对于一个系统来说都十分重要,但是其中偏功能的自动化测试相对来说更直观更易上手。以目前主流的Web项目来说,先不考虑单元测试(基本由开发人员负责) ,测试人员能把接口测试以及UI自动化测试做好的话,软件就基本达到可快速持续交付的标准了, 而接口测试对比UI自动化测试来说环境更 封闭测试覆盖率也比较容易得到保障。所以说大方向上先把接口测试做起来是没有任何毛病的。 (但请注意接口测试全通过了软件也可能存在严重的UI界面上的缺陷,笔者吃过亏,别问都是泪)

 

笔者接口测试学习并实践了一段时间后,觉得一直堆测试代码并不是很优雅,基于这一点,决定自己从零搭建一套 易用轻便(最后估计会变得很臃肿) 的自动化测试平台 。虽然现在测试开源平台多如牛毛,但是俗话说的好,只有自己做出来的东西才是最合适、用起来才是最爽的。 做人如果没梦想,和咸鱼有什么区别 (笔者可是要将人工智能与测试结合的人)。于是说干就干,虽然过程很艰辛 (从零开始摸爬滚打了 小半年),但勉强算是搭建出了一个简易可用的测试平台。

 

正文将围绕测试技术壁垒以及笔者正在构建的测试平台不断地进行总结与分享,笔者也不是什么大牛,希望能在持续分享中同读者共同成长

觉得这篇东西有点意思的朋友请点个赞哦~、

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

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

8年测试经验分享 —— 从0铸造测试技术壁垒 的相关文章

  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

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

    tcpdump抓包 基本概念 1 类型的关键字 host 指明一台主机 如 host 10 1 110 110 net 指明一个网络地址 如 net 10 1 0 0 port 指明端口号 如 port 8090 2 确定方向的关键字 sr
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 一文从0到1手把手教学UI自动化测试之数据驱动!

    在UI的自动化测试中 我们需要把测试使用到的数据分离到文件中 如果单纯的写在我们的测试模块里面 不是一个好的设计 所以不管是什么类型的自动化测试 都是需要把数据分离出来的 当然分离到具体的文件里面 文件的形式其实有很多的 这里主要说明JSO
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • fastadmin隐藏table操作栏拖动排序按钮

    记录 fastadmin隐藏table操作栏拖动排序按钮 在 js 文件中的 Table api init 中添加一下代码 dragsort url
  • C++ 第一阶段编程练习

    目录 1 1 编程练习 1 1 1 编程题目 第一题 第二题 第三题 第四题 第五题 第六题 第七题 1 2 编程讲解 1 2 1 题目一 1 2 2 题目二 1 2 3 题目三 1 2 4 题目四 1 2 5 题目五 1 2 6 题目六
  • rtklib源码 rtk差分解算,rtkpos和replos函数流程梳理

    rtklib源码 rtk差分解算 rtkpos和replos函数流程梳理 rtkpos函数梳理 总体流程 replos函数梳理 replos总体流程 1 通过satposs函数计算卫星的位置 速度等参数 2 通过zdres函数计算基站伪距和
  • 提升mysql服务器性能(系统参数与文件系统优化方案)

    加快TCP链接的回收 不应该使用CFQ cfq 完全公平队列 是anicipaory模式的替代品 没有过多的做预测性调度 而是根据给定的进程io优先级 直接来分配操作的顺序 最好使用 防止饥饿 xfs据说比较好 v
  • C# --- Struct and Record

    C Struct and Record Struct Record Struct struct是一种数据类型 和class非常类似 主要有以下的不同 struct是value type class是reference type 因为是val
  • log4j2配置文件

  • 机器学习-线性回归-多元梯度下降法

    目录标题 线性回归 多元线性回归 正规方程 线性回归 我们的回归方程常写成如下形式 h x 0 1 X 代价函数 J 12 i 1m h x i y i 2 看看代价函数到底是在干什么 如图 梯度下降是一个用来求函数最小值的算法 我们将使用
  • Echarts-折线图-设置线条颜色以及线条以下区域显示渐变颜色

    首先 先看折线图效果 1 设置线条颜色 在series中 数组项设置lineStyle属性 lineStyle 设置线条的style等 normal color red 折线线条颜色 红色 2 设置线条上点的颜色 也是图例的颜色 在seri
  • [OpenAirInterface实战-1] :什么是OAI?OAI常见问题解答

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120490410 目录 前言 什么是软
  • 上拉加载原理

    实现思路 之前写过一篇触底加载 经过一番苦学钻研 优化一下 样式方面 滚动区域是给固定高度 设置 overflow y auto 来实现 接下来看看js方面的实现 其实也很简单 触发的条件是 可视高度 滚动距离 gt 实际高度 例子我会使用
  • 网络工程师学习笔记-------关于T1和E1载波

    关于T和E载波 标准模拟话音信号频率为4KHz 为了对模拟语音进行数字化 必须按至少8KHz的速率采样 采用7Bit进行量化即128级量化 则每个信道的比特率为 8KHz 7Bit 56Kb s 为了每一个这样的低速信道安装一条通信线路是不
  • 机器学习F1值的概念

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 什么是F1 score 二 计算过程 1 首先定义以下几个概念 2 通过第一步的统计值计算每个类别下的precision和recall 3 通过第二步计算结果计
  • openstack-nova-compute.service起不来

    1 启动服务 2 查看compute nova日志tail var log nova nova compute log 发现身份验证机制AMQPLAIN拒绝登录 3 关闭防火墙 root controller systemctl stop
  • 资讯汇总230217

    230217 22 48 美联储理事鲍曼 美国通胀仍旧太高 美联储理事鲍曼表示 美国通胀仍旧太高 美国当前的经济数据不一致 不同寻常的低失业率是一个好迹象 让通胀回到目标还有很长的路要走 需要继续加息 直到看到更多进展 财联社 230217
  • 西门子PLC如何与多个三菱PLC建立无线通信?

    对一个大型工厂 由于生产线的不断改造 新老流程的不断更新 这些PLC系统往往是由不同的制造商提供的 那么在智慧工厂的实现中 常会遇到不同品牌PLC之间需要进行相互通讯的情况 由于场地和生产能效的原因 在后期的系统改造中 通常需要采用无线的方
  • 构建流式应用—RxJS详解

    最近在 Alloyteam Conf 2016 分享了 使用RxJS构建流式前端应用 会后在线上线下跟大家交流时发现对于 RxJS 的态度呈现出两大类 有用过的都表达了 RxJS 带来的优雅编码体验 未用过的则反馈太难入门 所以 这里将结合
  • Oracle块损坏处理(MOS)

    处理 Oracle 块损坏 文档 ID 1526911 1 适用于 Oracle Database Enterprise Edition 版本 7 0 16 0 到 11 2 0 2 0 发行版 7 0 到 11 2 本文档所含信息适用于所
  • 微信小程序 如何返回上一个页面并实现刷新

    转载地址 https blog csdn net u011088792 article details 87938213 删除或编辑 之后返回 上一级并刷新 var pages getCurrentPages var beforePage
  • R语言实现RMF模型

    RMF模型说明 RMF模型是客户管理中 常被用来衡量客户价值和客户创利能力的重要方法 它主要考量三个指标 最近一次消费 Recency 近期购买的客户倾向于再度购买 消费频率 Frequency 经常购买的客户再次购买概率高 消费金额 Mo
  • 8年测试经验分享 —— 从0铸造测试技术壁垒

    前言 相信所有从事着软件测试或相关工作的同学都会思考一个问题 如何在持续且部分重复的测试活动中有效的进行测试技术积累 这个有趣的问题我先不予回答 我们先谈谈如何有效保证软件质量 作为团队中的质量保证者 需要深刻的意识到 验证系统原有功能是否