工作4年,抽空整理了一下,测试开发需要学习哪些技能?希望对你有帮助

本文主要是介绍工作4年,抽空整理了一下,测试开发需要学习哪些技能?希望对你有帮助,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关注公众号【测试开发Guide】

回复「java」:即可获得java经典学习资料,带你轻松入门java编程。
回复「python」:免费获取「python入门」高分好书,业余时间偷偷变牛逼。
回复「面试」:24个常见的测试面试题,你一定不想错过。
回复「书单」:获取2020年软件测试工程师必看的书单
回复「测试用例」:获取本人常用的 Excel 和 Xmind 测试用例模版
回复「测试工具」:获取 mac 和 windows 常用的测试工具
 

工作4年,一点点感想,做一下记录。

 

先看目录:

一、测试思想

二、测试工具

三、通识技能

四、业务模型

五、工程能力

 

文章有点长,可以先收藏。看完之后,别忘了点赞,点赞不是为了我点赞,而是为了你自己点赞,我希望你也能在这个行业越走越好!

 

假如你是个大神,看到了我写的回答,认同与否,权当饭后谈资即可,我们都不崇尚网络暴力。

 

还有就是,书本上教的东西,我不会刻板的复制粘贴到这里,我只说从业之后,我自己的思考。

 

一、测试思想

测试思想,纷繁复杂,不同的书可能写的都不一样。

 

工作多年一直指导我的测试思想主要有以下两条:

1、整体大于细节!

世上没有绝对完美无缺的系统,只要是人写的代码,线上都不可能没有bug,我们测试工程师能做的只是把bug尽量减少,把风险尽可能降到最低。

 

1)测试要学会抓住重点,不要把宝贵的测试时间花费在纠结细枝末节上,有这功夫不如多回归几遍核心主流程。

2)要学会梳理系统框架和业务流程,Bug不单单存在于你所负责测试的模块,也有可能存在于依赖的模块上!

 

2、越早介入测试,越早发现问题,风险越小。

 

以上两条,我都是有过血泪教训的,为此不少挨过casestudy!

 

总之,不管测试什么样的系统,测试的时候,还应该多去思考:你所负责测试的这个功能、模块或系统,假如出现问题,那么最坏的情况是怎么样的会对用户造成多大的影响。为了防止未来出现这种局面,当前有没有什么采取什么措施?

 

 

 

二、测试工具

这里我只列举我用得比较高频的,这里我不会试图去穷举全部的测试工具,我相信我用的这些工具,大部分测试工程师也都在用。

 

假如说我专门去搜集测试工具,占据很多篇幅,我觉得对于刚入门的新手测试工程师,同样也是不太友好的,毕竟有选择困难症的朋友,看到我的文章会困惑。

 

总之,假如你是个新手测试工程师,我觉得你能熟练掌握以下的测试工具,应付工作就绰绰有余了。

 

抓包工具:fiddler、charles、Stream(iOS)、mitmproxy、anyproxy

接口调试:jmeter、postman

终端工具:xshell、iterm2、SecureCRT

数据库:mysql、redis、mongo、hive

数据库连接工具:navicat

编程语言:Python、Java、JavaScript

IDE:PyCharm、Idea、VSCode、微信开发者工具

电脑操作系统:windows、linux、(macOS)

手机操作系统:iOS、Android

自动化:Appium、ATX、Selenium

效率工具:Excel、Alfred(mac)、Wox(windows)

“互联网办公软件”:wiki、jira或禅道、jenkins、gitlab

“升职加薪利器”:PPT

“装逼神器”:markdown

 

顺带提到一点:测试工具只是辅助测试的一个手段,目的是要提高工作效率,方便我们快速、持续交付。

 

测试工具最终一定是要落地到业务测试上去的,不要为了学测试工具而学测试工具,不要为了开发测试工具而开发测试工具,假如不能给业务带来价值,那做这么多的意义又在哪里呢?

 

另外,假如说团队里面真的必须让你负责开发某个测试工具,真的不要马上“下笔如有神”,写代码很容易,但是设计好的架构非常难的。正确的做法是,先调研大公司有没有相关的解决方案,并看有没有成熟的开源框架可以解决当前的问题。能开奔驰宝马,还要什么自行车。

 

学习优秀的测试工具,不仅要会用,还要懂得架构设计思路和框架底层的实现原理,经验都是这样慢慢积累的。

 

假如你做出来的测试工具,只有你自己一个人用,那么你想怎么设计都可以;

 

假如你做出来的测试工具想要服务于整个业务部门甚至整个公司,那你还得考虑你所设计的测试工具的易用性和容量。

 

测试工具还有一个重要的要素:测试标准化

 

说通俗点,就是要有一些关键指标去评估你测试的系统的好坏。

 

如果没能输出一些有用的测试指标,又怎能证明你设计的测试工具是有用的呢?

 

测试进阶的道路上,总会有人不明白这些道理。知识学不完,反倒自己先自满了。

 

PS:我一般都是从testerHome和Github去挖掘好用的测试工具,并且尝试着在巨人的肩膀上二次开发

 

三、通识技能

很庆幸,我近两年去的每一家公司,都是有开发的代码权限的。这样,我能够学到不少开发的技术,能够从diff代码中,大致判断测试范围和回归范围。

 

作为一个测试工程师,不能只是处在黑盒的角度去思考问题,必要的时候,需要掌握一定的代码能力,站在白盒的角度去评判代码的质量。这样才能更有效的保证质量。

 

我把python作为了我的第一门编程语言,最开始是跟着廖雪峰官网上的教程去学习。当入门之后,又开始学习爬虫和web。

 

当你学会一门编程语言之后,再去学别的编程语言,会发现都是有共通的地方。

 

 

四、业务模型

测试只是一个岗位,你除了学习岗位相关技能之外,肯定还是得要特别熟悉公司业务的。

这个只能慢慢积累。

另外,尽量不要跳槽太频繁,试想一下,每年都跳槽的人,他们又怎么可能熟悉业务呢?

面试的时候,面试官很多时候都是从你的简历上,去问一些你的项目经历。试想一下,你不熟悉你测试的业务,你又怎么能答得好这类问题呢?

 

五、工程能力

测试工程师的工程能力也是很重要的,工程能力在我看来,就是解决问题的能力。

遇到问题,你能知道排查的步骤,能够自己定位到bug的位置,甚至知道怎么去改。久而久之,你在团队里面的影响力会越来越大。

▼▼▼

 

以上,是我几年测试职场的一些经验,如果有不对的地方,欢迎在下方留言。

希望能够对大家有所帮助。

这篇关于工作4年,抽空整理了一下,测试开发需要学习哪些技能?希望对你有帮助的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM