写在2023年,回看10年前,很幸运进了软件测试这行~

2023-10-25 08:40

本文主要是介绍写在2023年,回看10年前,很幸运进了软件测试这行~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先介绍一下我自己,从事软件测试行业到现在是10年时间,毕业之后一直从事的软件测试行业。很幸运在毕业时赶上互联网这波浪潮,然后就一直在互联网公司工作,虽然那时候的软件测试技术发展还相对比较混乱,但自己因为公司业务发展的原因,硬件测试、功能测试,性能测试、自动化测试什么的也都做过。

因为我接触软件测试的时间算是相对比较早,那时候也没有相对比较全面、深入的培训体系或者说学习途径,只有通过一些前辈的指导,以及自我的学习加总结来进行自我提升。这种提升的方式,无疑是很缓慢且痛苦的,所以到现在,我把这些内容进行了一定的总结,希望能够帮到所有想要提升的人。

测试能力包含硬实力和软实力

先聊聊硬实力,硬实力的话就是技术、思维、业务能力。先说第一点,技术。不管怎么说,软件测试都是一个技术岗位,想要在这个行业有长久的发展,或者说想要有更加丰厚的收入,一定需要有较好的符合行业或者市场的专业技能,像是Python自动化、性能测试、测试工具这些。

总结了一些比较关键的能力

第一个:在手工测试阶段下,要学会抓住重点,不要把宝贵的测试时间浪费在纠结细枝末节上,这功夫不如多回归几遍核心的主流程,第二点要学会处理系统框架和业务流程,BUG不仅仅出现在你所负责的测试的模块上,也有可能存在于依赖的模块。然后,越早介入测试越早发现问题,从而对系统质量的保障就能够越到位。

第二个:一定要掌握一些主要的测试工具,比如说接口自动化测试所常用的Jmeter、Postman,UI自动化常用的robotframework、airtest,app自动化常用的appium这些。对于你工作的开展会更加顺利一些。要记住,这些工具的应用一定要落到实际工作,而不是单纯简单的学习。只有落地到工作,你才能够越用越熟练,为你的工作产出更多的价值

第三个:一定要掌握Python编程语言。目前测试行业应用最为广泛的编程语言就是Python。而对于自动化技术,一定要掌握到编程自动化,这个能力对于测试人员未来的发展是非常关键的。现在行业内的高薪职位,基本90%以上都是需要有Python自动化测试技能相关的,所以说如果想要让自己尽快突破薪资瓶颈,这个技能太关键了,但需要额外说一句,这些能力也是一定要落地到工作的,只有不断地在工作中积累和优化,你才能够更好地往前发展。

测试硬实力

再说思维,就像开发一直在说开发思维一样,测试也需要有测试思维,想要把测试做好,这也是一个很关键的硬实力。首先来说,对于工作上的内容,我们需要多维度思考如何更好地把控软件的质量,像是用户体验、用户实际使用场景、业务的实际应用、用户使用习惯等等等等,因为系统不单纯只是功能缺陷,还有很多是非功能的缺陷,而这些需要我们多维度思考才能够更好去保障质量,再者,之前说过软件测试是技术行业,而我们所应用的技术一直在更新,所以需要具备有足够好的学习能力,能在最短的时间上手新的技术,从而能够体现出你的价值。至于说业务能力,没什么好说的,无非就是安心熟悉罢了。

测试软实力

接着再来说软实力,这就包含沟通能力、责任心、职业素养、情商等内容,如果说硬实力是你在这个行业的立足根本,那么软实力就是你升职加薪的必备条件。

首先是沟通能力,因为工作性质的原因,我们是需要不停与其他同事进行对接的,在这个过程中,沟通能力就尤为重要了。经常说开发与测试水火不容,是天敌,其实也只不过是沟通不到位罢了。我给大家说两个小技巧:

第一是带有目的性沟通,每次的交流是有目的性地,要围绕这个目的进行交流,在达成一致后,记得形成结论并记录下来。

第二是注意方式,我们的沟通是为了解决问题,而不是为了制造问题,所以注意自己沟通时的情绪、语气、措辞。再结合第一条带有目的性沟通。我们才能够更加效率地处理问题。

再者,是责任心,都说做测试一定要有责任心,但实际上只要是一个人就应该要有责任心,要能够承担起自己的职责,对于自己的工作应该要做到尽职尽责。让自己变成可靠的人,那么你在工作中,在职场中,自然也就能够遇到更多的机会。

然后就是职业素养,我们经常会见到企业招聘都是需要有工作经验的人,很多应届毕业生也经常在吐槽,才毕业怎么会有经验,没有经验找不到工作,陷入一个奇怪的死循环里了。其实企业之所以强调工作经验,其实就是看重职业素养。良好的职业素养能够更快融入公司环境,尽早开展工作,减少企业的前期培养成本。毕竟拥有良好职业素养的人,相比较愣头青更加便于管理。

最后再来说说情商,总结下来就是少说话,多做事。作为一个底层员工,应该是把你上级交付给你的任务踏踏实实地完成,而不是一味地抱怨,说得越多,越容易犯错。我们经常会见到职场老人之间交流着公司的问题,领导的问题,这是人之常情,但是如果你在这样的场景下学会装傻,学会闭嘴,安心做好你自己该做的事情,就足够了。毕竟公司是工作的地方,不是茶馆。心里有再多想法,先把事情做好,自然会有机会让你去适度表达。不要为了能够快速融入团队而侃侃而谈,这是没必要的。

以上就是我对于软件测试给到大家的一些建议,希望大家能够有所收获。同时,我也把自己整理的软件测试资料分享给各位,包含了基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等,希望能够对你们起到一些作用,帮助到个位!!!【点击文末小卡片免费领取】

 一、软件测试基础

软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
当测试过程发生错误时,有哪几种解决办法?
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点
…...

 
二、Linux  

grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?
…...


三、Python  

统计python源代码文件中代码行数,去除注释,空行,进行输出?
python调用cmd并返回结果?
1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出所有的素数
一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
…...


四、数据库

你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?
…...


五、抓包与网络协议

抓包工具怎么用?
如何抓取https的包?如何抓取手机的包?
请求方式有哪些?
get跟post请求的区别?http跟https的区别?
......


 
六、接口测试

什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
接口产生的垃圾数据如何清理?
依赖第三方的接口如何处理?
测试的数据你放在哪?
什么是数据驱动,如何参数化?
…...


七、接口自动化

为什么做接口自动化? 
你写了多少接口自动化用例?
比如说你接口的请求参数需要加密处理的,你们用的是什么加密方式,你加密怎么处理的? 
你查询出来返回结果是密文,密文你怎么测试?
......


八、UI自动化与app测试

ui 自动化怎么测试?
自动化测试环境的搭建是怎样的? 
seleniun 库中用过哪些函数?
定位元素的8个方法是什么?
css 定位的方法?
adb  的作用是? 
App  稳定怎么做的? Monkey怎么用p (App  稳定测试 )?
App 弱网测试怎么做的?
......

九、Pytest框架与Unittest框架

Unittest 框架有哪些组件? 
Unittet st 框架如何使用? 
pytest 框架如何去生成测试报告?
bytes 如何去运行多个文件或者整个目录?
pytest  框架如何去运行上次失败的测试用例?
pytest  运行用例,用例命名规则有哪些? 
......


十、性能测试

你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
什么是系统瓶颈?
…...


十一、人力资源 

你的测试职业发展是什么?你自认为做测试的优势在哪里?
为什么我们应该录取你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
为什么选择测试这行?
如果我雇用你,你能给部门带来什么贡献?
…...

整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

 


 

这篇关于写在2023年,回看10年前,很幸运进了软件测试这行~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/281359

相关文章

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

2023 CCPC(秦皇岛)现场(第二届环球杯.第 2 阶段:秦皇岛)部分题解

所有题目链接:Dashboard - The 2023 CCPC (Qinhuangdao) Onsite (The 2nd Universal Cup. Stage 9: Qinhuangdao) - Codeforces 中文题面: contest-37054-zh.pdf (codeforces.com) G. Path 链接: Problem - G - Codeforces

软件测试之压力测试知识总结

软件测试之压力测试知识总结 一、压力测试概述 压力测试(Stress Testing)是软件测试中的一种重要手段,用于验证软件应用程序在极端负载条件下的稳定性和可靠性。其主要目的是在软件承受极高负载时,测量其健壮性、错误处理能力和恢复能力,确保软件在危急情况下不会崩溃或表现异常。压力测试也被称为耐力测试,在软件工程中占有举足轻重的地位。 1.1 压力测试的目的 压力测试的主要目的包括:

软件测试中常用的linux命令总结

1、修改ssh登陆密码命令:passwd 2、新建一个名字为dbuser的Linux新用户:(sudo adduser dbuser) 4、./frps -c ./frps.ini(FRP启动命令) 5、lsof -i:7500(监听端口) 6、sh reload.sh master(文件后缀为sh时,nginx启动命令);( 文件为执行文件启动命令:./nginx -s reload) 7、sh

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽! 一、什么是金融行业 金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业 往往涉及证券、银行、基金、信托、保险、投行、期货等领域 二、金融行业的业务特点 随着金融行业的业务不断增加,金融交易模式的不断变化,

软件测试学习笔记丨Pytest的使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22158 1. 简介 pytest是一个成熟的全功能python测试框架测试用例的skip和xfail,自动失败重试等处理能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试,接口自动化测试pytest有很多第三方插件,并且可以自定义扩展,如pytest-

HNU-2023电路与电子学-实验1

写在前面: 这是电路与电子学课程的第一次实验,按照指导书的需求在Multisim软件搭建一个电路传感器模型,难度较小,细心完成就没有问题。 小tips:22级实验是采用上传到测试平台来进行功能检测,如果不通过则会打回修改后再重新提交,(我们那时候的评测系统特别特别慢,一次只能测一个同学,剩下同学就排队等着,久的时候甚至超过10个小时),这里列举一个常见的错误:热噪声有+号这端需要连接有源滤波器

【软件测试】设计测试用例

📕引言 本文章重点目标: 测试用例的概念 设计测试用例的万能思路 设计测试用例的方法 ◦ 基于需求的设计方法◦ 具体的设计方法 ▪ 等价类 ▪ 边界值 ▪ 判定表法 ▪ 正交法 ▪ 场景法 ▪ 错误猜测法 🍀测试用例 🚩概念 什么是测试用例? 测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要

软件测试学习笔记丨Linux-Bash编程语法

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32091 一、Bash编程基础 1.1 变量 1.1.1 语法 Variable_name=value 1.1.2 变量定义的规则 变量名区分大小写,a和A为两个不同的变量;变量名可以使用大小写字母混编的形式进行编写;变量名与值之间的=两侧都不能有空格;在读取或打印变量时,需使用$+变量名;