两年时间,成为测试组老大....

news2024/11/20 19:23:56

看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也有自己的一些职场,技术以及行业交际的一些总结经验。

最近有些时间,我也写写我做为一名 90 后测试人的一些经历和看法吧

还是先简单介绍一下自己,本人 15 年本科毕业,毕业后两年在公司的创新团队任测试负责人,不过由于个人发展的原因,就和第一家公司说 88 啦

一、情怀

我对软件测试这个方向早有情怀,早在自己大三的时候,就基本确定之后是做软件测试工程师,那时候上软件工程的课程,对软件质量保证,软件体系以及工程管理那块特别上心

老师讲完白盒测试的方法和黑盒测试的方法后就自己拿自己写过的代码开刀,渐渐发现自己对软件测试产生了兴趣

虽然也由于自己的代码功底可能比较水,加上强迫症喜欢找茬的性格,感觉就是两情相悦,后面自己去学一些性能和自动化测试的入门技术,还记得我的第一个自动化工具是按键精灵

记得是 11 年天猫双 11 来临之际的抢红包,我就是用按键精灵抢了足足 55 块的红包,结果天猫第二年就搞了一只到处跑的猫就没再抢了

那时候就体会到自动化对效率的提高的重要性,所以后面不管实习,还是后面找工作也好,清一色软件测试工程师,后面也就到了走进社会的第一家公司,开始软件测试的人生道路

二、懵懂

软件测试,可能至今为止,很多人还是认为就是找 bug,不过估计这个现象现在应该有所改善了吧

可能是本身对软件测试有所理解,所以工作的态度和方式也有所不同,刚来到公司的时候,其实还真的挺懵懂的

来到一个创新团队,产品是新产品,也意味着业务也是新的,当时我是做 ios 端的手工测试,就是点点点,当时我还对 ios 的操作系统不熟,所以一开始的时候也遇到很多坑

比如把当时唯一一台 ios7 的设备升级了,大家都知道苹果系统升级的坑,环境的多样性没了

我能理解当时的老大他也是想我能多接触自己之前没接触过的地方,一开始我也很刻苦,做移动端的测试,也做 web 端的测试,甚至后面桌面端的测试和后台的测试也做了,基本上把我们产品各个端都玩了一轮

但是总是点点点,效率真的很低,产品和团队都是新的,什么自动化等等都没有,所以当时懵懂的我也意识到我可能可以为团队带来一些改变,百废待兴,也意味着满地都是机会

三、清晰

有了上面的意识,我明白我自己要做什么,机会是有,但没准备不行

好,我自己比较向往做自动化测试,那就学自动化,一开始也是乱学一通,之前用按键精灵也可录制回放,其实也是自动化的一种,但太低级了,我要进步,要学更高级的技术

后面就自己上 testerhome,上推酷等技术网站搜贴自学 selenium,同时由于自己的产品里面有移动端,那时候看大家都是用 appium,那就学最常用的就好

那时我还没学 python,但是学自动化的时候我刻意用 python 来写自动化脚本,这种并行学习的效果非常高效,不仅让我学习到自动化测试的技术,同时也可以学习新的语言

从那时候开始,基本上每天下班回家之后就盯着电脑学习,写脚本,学语言,坚持了一个月之后,把最常用的一些模式都学了,像 page object,关键字驱动,数据驱动等,后面想起总是有人说测试框架,测试工具等

有一天晚上自己就刻意搜了一下测试框架这个词,大家猜一下第一个弹出来的是什么,估计有看过我之前写的帖子的朋友就一下子知道了,就是以关键字驱动、易学易用著称的 RobotFramework(后文简称 RF)

其实我那天晚上还看了 Cucumber 等其他测试框架,那我为什么会选择学 RF,如果我是只为自己学技术的话,我啥都可以学,但是我的出发点就是想为团队带来点改变的,我们当时的测试团队,除了老大之外几乎没有一个人会敲代码,如果要是以后上自动化的时候大家一起玩的话直接敲代码的学习成本就高了

互联网时代要快,有些事是等不起的

RF 对于一个不会敲代码的人来说其实也很容易驾驭,那好,就选它了,后面就专门学习 RF 和 python 相关的技术,包括 jenkins

每天和我老大保持沟通,让他知道我的学习情况,同时我也经常盯着我老大做事,看到他在某些方面需要支持,自己当时能力所及的,我会第一个跳出来说让我来或者是我帮忙,像有一次老大开始尝试做性能测试,他写了一个 loadrunner 的脚本,跑了我们项目的第一次性能测试

由于自己的好奇心,我就向我老大请求性能测试就让我做,虽然以前接触过 loadrunner,但是也结合业务结合场景来做性能测试的话还真没接触过,我就帮请教我老大怎么做性能测试,自己又在网上搜贴看看一些具体的场景设计和 loadrunner 工具的具体使用

从那次之后,我们产品的性能测试就我包办了,看起来事情多了,但这是很重要的经验,经验也是要看机会拿的,错过了,或许其他成员会抢去,那我就失去了做性能测试的机会,能力也就不能得到提高,所以渐渐地也得到老大的信任和团队部分成员的认可,自己的能力和对工作的动力也渐渐提高,就这种状态持续到 16 年初

四、进击

16 年过完年回来,我们的产品已经开始趋于稳定,是时候做自动化测试了,由于有前面的积累和沟通,我们老大向我们总监推荐了我包办我们产品的自动化测试,包括移动端,web 端,桌面端以及后台

当时我收到这个任务的时候也是比较慌的,毕竟之前完全没有实战经验,这次也没人带,而且我还要带上 2个测试的同事一起做这个项目,当时自己的工作经验还不满一年,真的是慌到不行

但后面冷静下来之后思考,这可是个活生生的机会啊,自己之前积累起来的知识和技术,不就是等现在这个机会吗,为什么不试试呢,成功了,那团队真的让我带来改变了,失败,对我来说也是很重要的经验,不做白不做,狠下心来做

后来我就把以前的一些想法一步步着手实现,将 robotframework+jenkins+ 支撑库的方案投入到我们项目做自动化测试,也就是有了我在 testerhome 的第一篇帖子RF+Jenkins 测试框架实践

在将方案投入项目之前,我还专门给测试团队的成员开了一次针对框架的也是我在公司的第一次培训,为何会说起培训,可能也是培训,让我意识到培训的分享者会比接受者收获的更多

我就是从第一次培训当中理解到什么叫做解决方案,也总结出后面我在测试团队经常说的一句:不要为了用工具而学工具,要为了实现一套解决方案来解决问题而学工具

是的,我为什么要学 RF,它能快点应用到项目,同时也解决了测试团队上手的问题,为什么要学 jenkins,就是为了能把一套持续集成的流程串通起来,支撑产品的快速迭代,我就是为了解决问题来学工具的

也就是从那次开始,我的技术和职场道路开始走上进击的道路,后面秉持着为了解决问题来学工具的心,也做了后面的一些技术方案来解决产品项目中测试的一些需求和问题

后面也陆陆续续地帮团队解决一些沟通和协调的问题,像带实习生,前后端沟通,力所能及,即可为之,自己的主动性和执行力也被锻炼起来,反正什么都试试,年轻人,多学一些没亏。

五、升华

天道酬勤,机会都是留给有准备的人的。

16 年 7月份,我老大提离职了,产品总监第一时间就是让我接手,慌张的心又开始跳动,我才工作参加一年,就要做测试老大呢?

我能不能做到,团队中还有比我更有经验的小伙伴,为何是我?或许我真的是有备而来的,还是那句,有机会干嘛不试,跳动的心沉静下来,好,我来,就是那时刻,我开始担任团队的测试老大

可以说我是个小白老大,之前一点管理经验都没有,不过以前在大学当学生干部的时候或多或少还是有一些作用的

做 leader 的第一件事,调整团队的测试工作方式,实现所谓的端到端测试(这是我理解的端到端,可能和其他朋友不一样)就是一个人负责一个端的所有方面的测试工作,比如自动化,性能,专项,甚至是测试工具的开发

果然这效果还是每明显的,一个月过去,产品端的质量真的有所提高,同时团队成员针对端的能力也提高起来,这是因为以前大家做的事情都太乱了,还不如先专注做好一个方向,再做其他的,所以就想到了用端到端的方式

在这期间,我们把 web 端,ios 端和 android端的自动化测试推了起来,每一端基本都是独立一人完成的,就这过程,团队的成员熟悉了怎么用 RF 的框架

后面我还强调大家要学原理,还分析过 RF的执行原理和分层结构,这样大家不仅能力提升了,产品的自动化测试也得到推进,巩固了测试的环节

显然,持续一段时间,产品的质量能得到提升,尤其是 web 端,以前季度 bug 数会上 100 多的,后面就 50多,而且以前每个版本测试周期为一周,后面 2 到 3 天就行了,这都是效率的提高,成员得到升华,质量得到保证,这是测试工作的最优状态

第二件事,其实以前做的都只能叫做产品测试

还没到达产品质量保证的高度,项目发展到一定程度,有些事情还是要管起来的,一开始是什么情况,测试团队是在研发提包给我们的时候,我们才知道要测什么,这是不对的,版本管理无任何秩序,什么时候上线什么版都不清楚,比如上线和发版的定义都区分不了

于是,我联合测试团队的成员和产品经理,研发等开始制定产品的质量流程,像需求评审、用例评审流程,这看起来有点不像互联网敏捷团队的模式,但我们是以一种轻便地方式来实现,产品主大局,产品需求一般是阐述大概要做什么,但很容易会漏掉细节,谁补?

测试人员,不是总说测试比产品经理更了解业务吗,所以用例评审的时候我们就可以体现细节的问题,用例编写和研发实现的周期调整为同期

测试左移,用例编写完成后用例评审,我们也不是说一条条用例地看,对于敏捷,快速迭代,这不是个好办法,那用什么,xmind 是个好工具,产品经理能用来列需求,测试也就能用来列测试关注点,测试关注点覆盖产品需求路径,同时提出产品需求未描述清楚的地方,并且通过易用性,功能性,可靠性等一些方法也提出关注的细节,这样既能补全需求,也能前提告之研发哪里有坑,同时也巩固测试的一个关注点和范围,一举多得

可能这说成用例评审有点怪,叫测试关注点评审更好,随便,为解决问题而设计实行适当的方案或流程就好,与此同时,那为产品作版本灰度上线方案,设计灰度的范围以及要关注的功能

同时版本上线之后,做好和客服的对接,做好线上问题收集和整理,还有很多,像版本号管理,提测规范,上线流程等,虽然作为测试负责人,但在产品质量保证的范围下,事无巨细,从需求到研发到测试到上线运营,每一块都需要保证

第三件事,缺陷管理

每个测试人员提 bug 的方法方式都不一样,甚至 bug描述方式都不一致,研发经常和我吐槽,提 bug 连个图都没有,测试环境没有,甚至没有测试账号,然后我们研发环境又没重现,那要怎么修 bug

还有的是,客户经常反馈的 bug 范围和我们测试发现 bug 的范围相差深远

说明两点:

1、测试重点没有贴近客户,我们所认为的重点模块不是客户的常用模块

2、我们提 bug 的质量没有保证,加大了沟通成本,这个也是要解决的问题

怎么做,我们先把产品的各个端的功能模块分类好,作为 bug 的功能分类标签,明确模块优先级,制定 bug 优先级权重,同时标明好无效 bug 和线上 bug作为测试人员的把控质量的一个评价指标

举个例子:以前我们总是觉得我们的沟通模块很重要,一般一个版本可以在沟通模块测出 25 个 bug,然后协同模块才 5 个 bug,结果上线之后客户反馈的问题或建议全是协同模块,沟通模块没几个,就是证明,客户目前多数是用协同模块,但我们却把工作量放在沟通模块,那就不太对了,所以结合线上 bug的数据作为一个测试重点的一个标准

同时还有就是我们平时在当前版本结束之后,对功能模块所对应的 bug数进行分析统计,做好缺陷趋势分析和风险预估,那下一个版本的测试范围和重点就出来的,这个是提高效率的方法,同时我们统一了 bug的模板,每个人的格式都是一致的,研发看起来舒服,bug自然也修得畅快,我们回归的时候也舒服,一举多得

还有很多很多,我作为测试负责人之后,的确是做到了为团队带来了一些改变,这也是我本来努力的方向,后面在团队里面坚持每月至少一分享的习惯

厉害的时候,一个星期 4次,但是我们都不是瞎培训瞎学,脱离业务的技术方案都是炫技,华而不实,我们培训都是为了解决当前工作上遇到的问题的,都是学最能解决问题的技术方案,而且我一直很崇尚圆桌型的培训,虽然有主讲人,但每位小伙伴在培训之前都或多或少去了解培训主题涉及的内容,之后培训的时候大家一起提出不同的看法和见解,经过自己思考的接受学习也是有效,大家共同进步

这有什么效果呢,说点实在的,前文提到本来测试团队几乎没人会敲代码,后面 16 年底 17 年初,都已经会独立写一个测试框架和 app 专项测试工具了,而且这过程中还不断引入像 anyproxy、docker,locust 等一些技术方案到团队

六、沉淀

质量保证分为 3 大块:产品质量保证,交付质量保证,运营质量保证

只有这三大块做好,产品的价值实现才会得以保证,但是有多少人是理解这三块是要做什么的,所以我就说有部分测试人员对自己的要求不高,测试的价值是可以再提升的,看看上面的三块,就知道测试人员的重要性,但又有多少人做到。

我在年初的时候面试了很多测试人员,其中还面试了几位工作超过 10 年的前辈,这里不是抹黑,的确有一个现象

我面试那位前辈,工作 10 年,之前也是测试负责人,自己是偏向自动化测试的好,我问他怎么做移动端的自动化测试,他也是知道用 appium+ 语言这个方式去做,我问他是怎么设计一个自动化测试方案去解决自动化的问题的,就一直和我说工具,我问他有用什么设计模式去提高代码的可维护性和执行效率的时候,不懂好,我问 appium是怎么和手机通讯来执行自动化测试的,也不懂,其实都没问题,最后让我直接否决掉的原因是,我问他是怎么管理测试环境的,他说测试环境是研发和运维搭的,测试不懂得搭,算了,我聊不下去了

我问原理,是因为作为测试负责人,也是一个带人的角色,你自己都不了解清楚的东西,在团队里面实现,团队的成员也不会了解清楚的,估计解决问题的程度也不高,感觉就是在项目里面用用而已,而且连最基本的测试环境都给研发或运维做,那测试做什么,怪不得别人说测试低端的

东西不仅要学会,还要学精,上面的情况违背了力所能及即可为的原则,而且都不仅是能及,是基本要求。

第二记得应该是工作 4、5年的,问测试策略和测试计划的区别和作用,和我说没做过测试计划和测试策略

还有个更离谱的,简历里面写着自己会性能测试场景设计,面试的时候给个案例给他做,写不出来,什么是业务场景设计,什么是数值预估和瓶颈分析都不太清楚,我直接问他做过多大的并发:50 人,我马上跪了

几乎没有人拥有我刚才所说的嗅觉,举个最简单,当初那么火的 docker,我面试的所有应聘者居然没人知道是什么来的,就那么一段时间,我患上了面试恐惧症,简称 “面瘫”

怎么做测试都不太清楚,不用谈产品质量保证,更不用说三大质量保证,别人总说测试入门低,在团队地位不高,我一开始也不太信

因为我们测试组在团队里面还是很有发声权的,因为我们抓紧质量,那些还是在点点点的,总认为自己找过多少 bug 很牛,学过多少工具很牛,到头来就导致认为测试很低端

话也说回来,我在面别人的过程中通过交流也学了很多知识和经验,同时我有个面试习惯,我会专门挑应聘者的问题来给他们提供一些建议和看法,就算后面面试失败了,我起码也不会让你白来一趟

更狠的是,我举办过一场特色培训,我让我们测试团队的成员做面试官来面试我,面到我说不出话为止,面试别人其实对自己来说也是个总结的过程,你在问别人之前起码你要了解清楚你要问的东西的原理,那才会踏实,那就是一个提高的好办法

所以我就让我们团队的小伙伴面我了,果然有效,她们当时还准备得挺充足的,我有几个时刻就差点说不话来,哈哈,我当时也感觉到大家已经明显进步很多了

时代变了,仅仅是找 bug 牛已经不够了,所以后面每天一句:不要为了用工具学工具,要为了解决问题而学

还有要做质量保证,不仅仅是测试,bug是要预防,不是找,这让我更加巩固上文所提到的一些看法,也是在这段时间,我也不断地再深化提升自己,把之前去年做过的技术方案通过理解原理和结合业务,优化了几个技术方案并在团队里面使用

能解决问题,为团队带来好的改变,自然也会收到回报,除了能力的提升,地位的提升也会有的,今年 3 月我也被提拔为资深工程师级别,这些都是要靠积累的,要做上面的事情,我基本上每天只睡 6 小时,每天都在想尽一切办法怎么才能解决问题,提升质量,提高效率。

最后说几句

人往高处走,自身的发展也很重要,也由于个人发展和家庭的原因,很快和当初的公司说 88 了

来公司两年,让我从一个测试新人蜕变,很感谢现在的团队和公司给我那么多机会和条件,让我得以发展起来

同时也通过分享我过往的经历,希望对测试新人们有一些小帮助,同时也欢迎前辈们继续给我还有我们这一辈测试新人指导,我们一起在技术这条道路上一路走到黑!

绵薄之力

做为一名测试人员,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级测试者需要掌握那些技能的笔记分享,或许可以给大家带来一些实际性的帮助与突破。

下面分享我整理的这份2023年可能是最全的软件测试工程师发展方向知识架构体系图。

一、测试基础

了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维

程序员威子测试基础
测试计划/测试用例黑盒用例设计等价类/边界值/场景分析/判定表/因果图分析/错误推断
缺陷缺陷生命周期/缺陷分级/缺陷管理工具禅道/Jira
数据库Mysql/环境搭建/增删改查/关联查询/存储过程
Linux系统搭建/基本指令/日志分析/环境搭建

二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。

程序员威子Linux必备知识
Linux系统简介与准备Linux作为现在最流行的软件环境系统,一定得会,从CenterOS版本系统进行介绍,安装,目录结构等基础内容学起,也为后续自建测试环境准备。
Linux远程工具Xshell详细介绍如何入门使用Linux,并进行常规的远程管理,文件传输操作,涉及其中的工具Xshell,Xftp
Linux文件属性与管理Linux文件,目录基本属性,文件操作,文件管理,目录操作,目录管理。切忌自毁行为操作,如何预防意外操作
Linux用户与组管理如何在Linux中新增,删除,修改用户与组,并赋予相应权限,不再因为权限问题而卡壳
Linux文件编辑器Linux文件编辑器vi的使用,命令模式,输入模式,操作实例,快捷键,管道命令,使用心得。在一个没有图形化的系统下到底如何编辑的呢?
Linux常用系统设置网络设置,环境变量,磁盘管理,时间设置,系统资源,防火墙,应有尽有,不用担心毫无头绪。
Linux安装软件Linux安装命令,以及如何通过tar,gz等网络上下载的安装文件进行安装,如MySQL数据库安装。
Linux Docker容器Docker容器技术讲解,image镜像管理,仓库,容器创建,启动,操作,镜像打包,赶上行业流行技术

三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数

程序员威子Shell
Linux Shell基础与应用shell脚本编程介绍,环境类型,变量,参数,运算符,数组的使用,零距离接触脚本
Linux Shell逻辑控制shell逻辑应用,test命令,流程控制,数据输入与输出,脚本逻辑不再单调,玩出花样
Linux Shell函数shell脚本函数写法,文件互相调用,脚本实战应用,懂得开发,测试,运维都可以做什么
Windows脚本批处理Linux玩够了,再来看看Windows常规命令用法,批处理脚本写法,实战应用,并不是到哪都是Linux,Windows脚本也是常用脚本之一,看到这里可能你就用的Windows

四、互联网程序原理

自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理

程序员威子互联网程序原理
Web前端开发基础HTML、CSS基本内容学习。为什么测试课程有开发?对不起,如果不会,自动化可能不欢迎,很多自动化测试问题都出自于开发基础
Web前端开发脚本JavaScript最主流的脚本学习,同样的,这也会在自动化测试中涉及,在一些工具中其实也经常用到动态脚本,也是JavaScript语言
开发者调试工具测试应用虽然浏览器的F12被命名为开发者工具,但实际上测试不管在功能测试还是自动化测试中,都起到了很关键的作用。如解析HTML,定位元素,调试脚本,监控网络抓包等等
互联网程序网络架构通过网络架构详细理解互联网程序的诞生,逻辑细节,互联网通讯原理又是如何将数据传递到其他计算机的,TCP,UCP,HTTP,等等协议的关系又是什么。
HTTP协议数据结构分析完整解析HTTP协议数据结构,包括Request、Response数据格式,Header的定义和用法各种状态代表什么,如何辨别错误。分析协议中参数的位置,rest结构,各种常见的body数据形式,解析方式,常见数据解析错误的原因。
Cookie与Session机制解读Cookie到底是什么,和Session存在什么样的关系,如何测试Cookie与Session,需要注意什么

五、MySQL数据库

软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。

程序员威子MySQL数据库
MySQL数据库测试应用MySQL环境搭建,客户端Navicat的基本使用与数据操作,学习并巩固基本的SQL语法,增删改查缺一不可,掌握各种条件的使用方法
MySQL高级查询查询升级,掌握多表查询,子查询,查询分组,统计函数的使用,并对经典面试题进行学习与分析
MySQL自定义函数既然有内置函数,当然也不缺自定义函数的位置,也是经常会使用到的,这就好比任意一种开发语言一样都离不开函数的定义与使用
MySQL存储过程SP数据库必不可少的存储过程,通常也叫SP,如何定义?如何测试?怎么样使用更安全,测试到底用存储过程还能做什么更多便于测试的内容
MySQL事物与编程数据库事务使用案例,索引的原理与使用,数据库SQL编程在测试中的应用,如何用其快速精准的产生大量指定的测试数据

六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的

程序员威子抓包工具
抓包原理与方式只有了解抓包的原理,才能真正去用好一个适合的工具,选择合适的方向和方法,否则都是徒劳的
抓包工具选择抓包工具的分类与功效,什么样的项目适合哪种工具,如何去辨别工具的优势
Fiddler基础功能作为专业的HTTP体系的抓包工具,详细介绍其工具原理,如何过滤数据,如何搜索想要的数据,如何对web,非web,手机,HTTPS协议等各种环境进行抓包
Fiddler高级功能学会使用其进行接口测试,断电,脚本等方式进行数据的修改,替换,模拟数据进行接口Mock测试,创建自己定义的菜单功能
Wireshark与其说是抓包,更是一种抓包后的分析工具,在各个系统下利用其它与系统一体化的抓包工具进行数据抓取整理并展示,有着强大的过滤和分析功能
Sniffer黑科技抓包工具,有多种版本,非常专业的抓包工具
TcpdumpLinux、Android系列的系统中的抓包插件神器

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman

程序员威子接口测试工具
Jmeter接口测试入门Jmeter简介,环境准备,目录结构介绍 ,如何录制脚本,以及基础组件的使用,线程、作用域、HTTP请求、定时器、断言等等
Jmeter接口测试进阶使用Jmeter逻辑控制、前置处理器、后置处理器、监视器、结果树,如何参数化、正则表达式关联、事务、检查点等等。并带领大家对带有token等动态数据的项目进行实战演练
Jmeter接口测试高级功能Jmeter脚本思考时间、随机时间、线程启动间隔、并发集合点、联机远程调用,webservice、websocket、jdbc、命令调用等等
Postman接口测试工具使用行业标准HTTP、rest接口测试神器,基本请求、分组保存、动态变量、脚本、数据关联、参数化、自动断言、批量运行、持续集成。思路类似其他接口工具,避免泛滥学习

八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理

程序员威子Web自动化测试Java&Python
自动化框架思路引导我们做自动化到底为了什么?节省人力、加快速度、还是让机器代替手动、还是提升自我。应该如何建立思路,而非无脑进坑任机器摆布
Java&Python3开发环境及基本语法Java&Python开发环境搭建,基础语法入门,让不会代码的以最快速度入门,方便适应后续自动化测试开发内容学习,代码够用即可,并不是学得越多越好
Java&Python3集合类型与面向对象开发Java&Python各种基本类型、集合数据类型的理解与操作,循环语句、判断语句,面向对象的开发,函数的使用,类的使用
Selenium3环境与浏览器驱动配置基于selenium3的web自动化环境搭建,正确的浏览器配置,不再为起不了浏览器而烦恼。支持IE、Firefox、Chrome等等
Selenium3多种定位及动态操作selenium3常见定位方法,属性和值的获取,如何动态判断不一定存在的元素,复杂的网页结构,需要多步骤操作的元素等等
特殊情况处理(js、特殊控件等)selenium3自动化测试中,常见的特殊情况处理,如日期、控件、智能等待、文件上传下载、网页嵌套结构,各种弹窗的处理方式,cookie处理,JavaScript脚本调用等
TestNG&unittest自动化框架使用Python unittest、Java TestNG自动化框架的使用,环境处理、基本使用逻辑,数据驱动模型,数据库数据载入等
自动化框架断言与日志处理自动化中最重要的是什么?作为测试当然是断言,没有断言的自动化毫无用处,如何展示日志与结果是自动化测试的根本
PageObject框架设计模式PageObject框架设计模式,到底是做什么的?如何更好的快速管理控件,从此做起

九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用

程序员威子接口与移动端自动化
接口自动化方案RequestsPython Requests、Java HTTPclient接口框架,都是专业的接口调用、测试的解决方案,使用简单快速,结合工具的使用方式和功能,快速上手并对其操作,解决其中的疑难杂症
web+自动化框架整合自动化测试是相通的,如何将web与接口、甚至更多的测试类型和方向结合起来,组成完整的自动化框架
Appium环境搭建Appium环境相对复杂,针对Android系统进行完整的环境搭建演练,解决环境上的问题,并进行基本的自动化操作
Appium自动化实战与框架结合Appium整体使用与web自动化类似,引导使用典型功能,并针对一款APP进行实战操作



十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

程序员威子敏捷测试&TestOps构建
构建敏捷测试运维架构体系敏捷测试是什么?为什么需要敏捷,行业都提到的devops又是什么?TestOps能做什么
持续集成Jenkins框架实战持续集成最常见的一套框架,介绍Jenkins操作、权限、系统管理等,常用构建与运行实例讲解
静态扫描测试Sonar一款自动化的代码扫描工具,便捷式快速扫描代码中的问题,做到提前发现,统一规范,自动化中的代码测试神器

十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!

程序员威子性能测试&安全测试
性能测试学习路线如何学习性能测试,性能测试到底该怎么学习,使用什么工具?工具并不代表性能,接口的基础对性能测试非常重要,而工具只是辅助,更多的是思路和策略。你不会并不是分析而是准备阶段
loadrunner脱离浏览器录制专题IE无法启动被测网站?打不开浏览器?程序无法在浏览器中被打开?这些都没关系,还是一样能录制,但录制是偷懒专用的,对于学习有一定的辅助作用,也会带入无法脱离的坑
性能测试工具操作实践loadrunner、jmeter,有了前面的基础使用,看懂脚本不是问题,带上关键的参数化、动态数据关联、事物、日志,大部分的脚本都可以搞定进行实践
系统监控方案实施工具自带监控?系统监控?JVM内部监控?数据库监控?各种监控的意义何在,如何在各种情况下精准监控数据
安全测试起源与工具介绍应该如何进行安全测试,安全测试都有哪些分类?都会用到什么样的工具,各自的作用又是什么,如web漏洞扫描,端口扫描,系统扫描等
web安全测试手工实战接口测试在安全中的作用,不会手动的安全测试,那就永远无法理解自动化以后产出的结果
安全扫描工具测试实践实际介绍以及使用APPscan、awvs等专业安全扫描工具
企业安全建设(SDLC)企业应该如何进行安全建设,制定更安全的软件生命周期。从哪些方面进行着手

根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/536761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IMX6ULL裸机篇之DDR3的时钟配置

一. MMDC 控制器 对于 I.MX6U 来说,有 DDR 内存控制器,否则的话它怎么连接 DDR 呢?MMDC控制器 就是 I.MX6U 的 DDR内存控制器。 MMDC 外设包含一个内核(MMDC_CORE)和 PHY(MMDC_PHY),内核和 PHY 的功能如下: MMDC 内…

nacos服务端源码集群同步源码分析

nacos集群状态同步源码分析 ServerStatusReporter ServerStatusReporter 是 ServerListManager的内部类 通过Component注解被解析到spring容器中 再通过PostConstruct初始化执行init方法 上边代码启动了一个延时2秒的线程 private class ServerStatusReporter implements Run…

信号时域分析方法

主要参考: 时域分析——有量纲特征值含义一网打尽 信号时域分析方法的理解(峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等) 重要笔记如下: 建议跟参考笔记同步看。 有量纲特征值8个——最大值、最小值、峰峰值、均值…

Unable to resolve resource vscode-vfs://github%2B7b2276223a312c22726566223a7

github无法访问?vscode 无法使用github登录同步? 改 hosts 吧 Unable to resolve resource vscode-vfs://github%2B7b2276223a312c22726566223a7一、无法访问 github.com ? 想要去 github.com 上拿来主义,结果访问不了,或者 np…

Go基础篇:接口

目录 前言✨一、什么是接口?二、空接口 interface{}1、eface的定义2、需要注意的问题 三、非空接口1、iface的定义2、itab的定义3、itab缓存 前言✨ 前段时间忙着春招面试,现在也算告一段落,找到一家比较心仪的公司实习,开始慢慢回…

Linux防火墙之iptables(上)

目录 一、iptables防火墙的相关知识 1)防火墙的概念 2)iptables的简介 3)netfilter/iptables 的关系 netfilter iptables 二、iptables中的四表五链 1 )四表五链的关系 2)iptables中的四表 3&#xff0…

0基础要怎么开始学习c++?

先放一张学习线路图: 对于初学者看到这张线路图可能有点晕。实际上耐心一点,有足够的毅力还是可以自学攻克C这门语言的。 一、C语言 基础内容就是两块:基础语法和一个小游戏案例 进阶一点也是两块内容:C高级和数据结构。包括一…

怎么画骑鹅旅行记思维导图?办公常备工具

骑鹅旅行记不仅是一本神奇的奇幻童话,更是一本寓教于乐的启蒙读物,引导着孩子们学习正确的价值观和道德观。在开始制作骑鹅旅行记思维导图之前,我们需要先整理好故事情节:小男孩尼尔斯因捉弄动物而被一个小精灵变成了拇指大小&…

中国社科院与美国杜兰大学金融管理硕士——与时间赛跑,充分利用每一分钟

不管你愿不愿意,时间总是在不经意间流去。林清玄在《和时间赛跑》中写道:“虽然我知道人永远跑不过时间,但是可以比原来快跑几步。那几步虽然很小很小,但作用却很大很大”。是的,我们需要与时间赛跑,充分利…

就业内推 | 上市公司招网工,最高25k*14薪,六险一金

01 锐捷网络 招聘岗位:网络工程师 职责描述: 1、承接本产品线(无线或数通)所有咨询、故障、网络变更等业务,响应内外部客户的业务响应需求,需要值班。 2、同时作为产品线技术力的核心,需要负责…

购票API接口商品详情信息API

购票网是一个在线购票平台,为音乐会、演唱会、话剧、体育比赛等各类娱乐活动提供门票销售服务。通过大麦网,用户可以轻松购买心仪的演出门票,并享受到良好的购票体验。 为了让更多用户了解到大麦网的商品详情,并能够方便地获取相…

内防泄密重要,还是外防窃密重要?

内防泄密是组织为防止内部敏感信息未经授权泄露所采取的各种管理与技术措施的总称。它主要针对内部人员的信息访问与操作行为进行管控,减少故意或疏忽泄密事件的发生几率。 内防泄密的工作,通常包括员工管理、权限管控、监控检查、分级保护、离岗管控、技术防护、事…

高赞热门,这是B站值得一看的商单作品

3月30日、5月11日,第十届中国网络视听大会和首届上海网络视听内容创作者大会先后开幕。 在现场,陈睿共发表了《科技与青年的双向奔赴》、《B站,高质量内容的沃土》两次主题演讲。陈睿分享道,“优质的内容和创作者,是能…

主动防御更安全 混沌工程助力企业系统稳定

数字经济时代背景下,各个行业迎来数字化转型浪潮,随着企业对于云计算的理解和实践不断深入,数据作为生产要素参与到市场分配当中,全面渗透金融、政务、医疗、教育、能源等各个领域,已成为企业发展乃至国家发展的重要战…

GPU机器docker环境离线安装

秋风阁(https://focus-wind.com/) 文章目录 docker 环境离线二进制安装下载二进制包解压.tgz包迁移文件到/usr/bin/目录下启动docker手动启动dockersystemctl启动dockerdocker.servicedocker.socketcontainerd.service设置开机重启启动docker服务 离线安装nvidia-docker&#x…

GPT逆向:高效解读小红书文案生成器的内部逻辑

文章目录 前言一、什么是小红书文案生成器二、具体步骤总结 前言 关注我的很多同学都会写爬虫。但如果想把爬虫写得好,那一定要掌握一些逆向技术,对网页的JavaScript和安卓App进行逆向,从而突破签名或者绕过反爬虫限制。 最近半年&#xff…

密码学基本原理和发展——古典密码学

密码技术最早起源于公元前404年的希腊,此后密码大致经历了古典密码、近代密码和现代密码三个阶段。 1.古典密码 古典密码(公元前五世纪~19世纪末)代表性的是滚桶密码、棋盘密码和凯撒密码。 1.1滚筒密码 滚筒密码原理为信息发送…

5月17号软件资讯更新合集....

Erlang/OTP 26 正式发布 Erlang/OTP 26.0 已正式发布。 Erlang 是一种通用的并发函数式程序设计语言。Erlang 也可以指 Erlang/OTP 的通称,开源电信平台 (OTP) 是 Erlang 的常用执行环境及一系列标准组件。 这是一个重要版本更新,包含许多新特性、改进…

Python带你实现批量自动点赞小程序

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 所用知识点: 动态数据抓包 requests发送请求 json数据解析 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 requests 请求模块 ,第三方,需安装 win R 输入cmd 输入安装命令 pip inst…

oa是什么意思?oa系统哪个好用?

一、oa是什么意思 oa(Office Automation办公自动化)是一种将智能化科技应用于企业管理中的应用系统。它可以通过电脑网络、互联网等技术手段,将企业的各种业务流程、各种业务数据进行集成和处理,将各种业务流程和各种业务数据统一…