工作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

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经