工作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 @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件