php图片怎么裁剪,计算机怎么入门?
谢邀!
计算机如何入门这个问题,我自己是深有体会,当年个人电脑远没有现在普及,计算机专业大一下学期买了台台式机,结果被坑了,电脑总是蓝屏,想着都学这个专业了就自己解决呗,看课程将要安排的计算机组成原理之类的书,根本不搭,只能查阅电脑维修,才发现是主板问题,乖乖抱去电脑维修换了个主板,不过经过这么一折腾,对电脑硬件就深刻,算是入门了吧。
说这么多就是要表达楼主想用计算机做什么,这样才能决定怎么入门。
电脑操作如果楼主是小白,没有操作过电脑,是那种分不清“我的电脑”是什么的,想要学一下操作电脑,上网娱乐,可以找本电脑入门的书籍,里面会讲电脑的硬件组成,操作系统的知识,怎么上网,学学打字,跟着操作一下,遇到不会用的软件问问年轻人,基本就会了。
普通维护这里说的维护是说帮别人买个笔记本,组装个台式机,或是电脑维修之类的,这就对硬件要比较了解,如果只是应付亲友,帮忙参考一下,看看电脑维修的书,多留心成品的配置差不多够了。
程序开发如果是想通过自学从事开发工作,可以参考一下大学的专业课程:C语言程序设计、计算机组成原理、数据结构、操作系统、 微机原理及汇编语言、计算机网络、计算机系统结构、面向对象程序设计等,然后认定方向根据需要钻研业务,比如做web学html、css、js、java等,做安全行业学linux、算法、c/c++等。
计算机有一个很庞杂的知识体系,先明确自己的需求,带着问题找答案,循序渐进,希望我的回答能帮助到你!
java开发用哪种开发工具比较多?
今天我们来详细盘点一下Java开发一般都会用到哪些开发工具。
一.开发编程工具
1.Eclipse 官网地址
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。2.MyEclipse 官网地址
MyEclipse,是在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。在最新版本的MyEclipse中,配合CodeMix使用支持也十分广泛,尤其是对各种开源产品和主流开发框架的支持相当不错。已支持PHP、Python、Vue、Angular、React、Java、Java EE等语言和框架开发。3.IntelliJ IDEA 官网地址
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。我后来转Android后用的是 Android Studio工具,其实这个工具就是Google在idea的基础上二次开发出来的,所以两者非常像,只是侧重不同。上面这几个工具我全部都用过,2011年刚入门培训的时候就是用的Eclipse,后来做Java web项目就改为用MyEclipse,后来转Android 用过一段时间Idea,说一下这几个工具的主要区别:MyEclipse是收费的,eclipse是免费的。Eclipse自带的插件很少,如果写web项目,需要自己配置很多东西,MyEclipse集成了很多的插件,一般Java的企业应用开发都会使用MyEclipse。idea比myeclipse 更加智能,自带更智能的代码提示,代码检查。MyEclipse 以前用的时候有时候经常会卡死,Idea更加稳定,而且我感觉Idea界面看起来更舒服。(个人感受)我个人更推荐开发同学直接用idea,感觉idea集合了eclipse和MyEclipse的功能和优点,然后又在此基础上做了升级,尤其是代码智能提示,自动生成一些相关的类文件的确方便了很多。java开发工具还有NetBeans 、Visual Studio Code等其他工具,但是那些我没用过,相关介绍大家可以自行从网上搜索相关资料。二.接口调试工具
作为一名开发人员,完成开发工作后,肯定要自己进行测试,这可能还会用到接口测试的一些工具。1.Postman 官网地址
Postman是一款功能非常棒的Chrome扩展,提供功能强大的API&HTTP请求调试。它可以发送几乎所有类型的HTTP请求,并可以附带任何数量的参数和请求头(headers)。2.Apipost 官网地址
ApiPost是一个支持模拟POST、GET、PUT等常见HTTP请求,支持团队协作,并可以直接生成并导出接口文档的API文档、调试、Mock、测试一体化协作平台。3.ApiFox 官网地址
API 文档、API 调试、API Mock、API 自动化测试,一体化协作平台。平台化的产品不多说。4.Charles 官网地址
Charles 是一个 HTTP 代理 / HTTP 监视器 / 反向代理,它使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL / HTTPS 流量。这包括请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。charles更多的用在监视接口调用情况,说直白点就是抓包工具,类似的工具还有 Fiddler 和Wireshark。三.测试工具
1.jmeter 官网地址
Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。jmeter能够进行接口测试和性能测试,可是对于作单纯的接口测试jmeter操做起来没有postman、apipost使用起来方便。jmeter重点在于压力测试,稳定性测试和负载测试。针对于接口和程序的稳定性设计的一款以软件性能为主,接口测试为辅的接口测试工具。2.JTest 官网地址
JTest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。3.JUnit 官网地址
JUnit是一个为Java编程语言设计的单元测试框架。 JUnit为测试驱动开发框架的发展发挥了重要作用。它是现在被统称为xUnit的单元测试框架大家庭的组成成员之一,源于SUnit。在编译时,JUnit可以连接作为JAR,用于编写可重复的测试。4.Arquillian官网地址
Arquillian是JVM一个高度创新性和可扩展的测试平台,支持Java开发人员轻松创建自动化集合的,功能性的和验收的测试。Arquillian允许在运行时间执行测试。Arquillian可以用来管理单个或多个容器的生命周期,捆扎测试用例,从属类和资源。它还能够部署归档到容器中,在容器中执行测试、捕获结果,并创建报告。Arquillian集成了常见的测试框架,如JUnit 4、TestNG 5,并允许使用现有的IDE发布测试,并且由于其模块化的设计使得能够运行Ant和Maven测试插件。四.远程连接工具
国内程序员大部分都是在windows环境开发,但是开发完毕后,免不了需要部署到服务器(Liunx);特别是Java开发的程序,几乎都是部署在Linux系统,如何把程序部署到远程的Linux服务器呢?这时候远程连接工具就派上用场了。1.Xshell
Xshell是一个功能强大的终端模拟器,支持SSH、SFTP、telnet,rlogin和串行。人们可以使用它在Windows界面下用来访问远端不同系统下的服务器,从而达到远程控制终端的目的。2.SecureCRT
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。3.FileZilla
FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。FileZilla是一种快速、可信赖的FTP客户端以及服务器端开放源代码程式,具有多种特色、直接的接口。4.Putty
PuTTY是一个Telnet/SSH/rlogin/纯TCP以及串行连线软件。较早的版本仅支援Windows平台,在最近的版本中开始支援各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多非官方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话。五.数据库视图工具
因为我以前做后台的时候主要用的是MySql,所以这部分主要列举MySql数据库图形化工具,如果工作用Oracle或者SqlServer的同学自行从网上找相关资料,当然下面介绍的工具有些也支持oracle和SqlServer。1.Navicat 官网地址
Navicat是一套快速、可靠的数据库管理工具,Navicat 是以直觉化的图形用户界面而建的,可以兼容多种数据库,支持多种操作系统。2.MySQL Workbench 官网地址
MySQL Workbench是一个统一的可视化开发和管理平台,该平台提供了许多高级工具,可支持数据库建模和设计、查询开发和测试、服务器配置和监视、用户和安全管理、备份和恢复自动化、审计数据检查以及向导驱动的数据库迁移。 MySQL Workbench是MySQL AB发布的可视化的数据库设计软件,它的前身是 FabForce 公司的 DDesigner 4。 MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间和需要的难以变更和管理的文档任务。MySQL工作台可在Windows,Linux和Mac上使用。3.SQLyog 官网地址
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库。SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。4.DataGrip
DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司。DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。下载地址:https://www.jetbrains.com.cn/datagrip/六.其他工具
1.文本编辑工具EditPlus
在程序员的日常工作中,编辑器的使用是不可缺少的,一个好用方便的文本编辑器会在一定程度上提高工作效率。EditPlus属于轻量级的编辑器,就小编而言,用EditPlus多些。不敢说EditPlus更好,但部分回复对EditPlus存在的说法做一些纠正。editplus提供了与Internet的无缝连接,可以在EditPlus的工作范围中开启Intelnet访问窗口。提供了多工作窗口,无需转换到桌面便可在工作范围中开启好几个文档。editplus默认支持HTML.CSS.PHP.ASP.Perl.C/C++.java.JavaScript和VBScript等语法突出显示,通过定制语法文档,可以扩展到别的程序语言。2.文本编辑工具Notepad++
Notepad就是记事本,它用于文本编辑,在文字编辑方面与Windows写字板功能相当。所见即所得功能、语法高亮、字词自动完成功能,支持同时编辑多重文档,支持自定义语言。对于HTML网页编程代码,可直接选择在不同的浏览器中打开查看,以方便进行调试。自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,可显示缩进引导线,使代码富有层次感。可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式,支持鼠标滚轮改变文档显示比例。可显示选中文本的字节数,并非普通编辑器所显示的字数。提供了一些实用工具,如邻行互换位置、宏功能等。类似的文本编辑类的工具有很多,我现在开发做的少了,平时开会主要用一些线上的平台如幕布、有道云笔记之类的。3.画图类的工具
这部分主要用于接收到需求做系统设计或者方案用,这类工具主要是为了理清楚思路;如Visual paradigm、OmniGraffle、ProcessOn。Visual paradigm:Visual Paradigm for UML (VP-UML)是一款UML建模和CASE工具,产品具有建模版、标准版等功能。OmniGraffle:OmniGraffle是由The Omni Group制作的一款绘图软件,其只能于运行在Mac OS X和iPad平台之上。OmniGraffle可以用来绘制图表,流程图,组织结构图以及插图,也可以用来组织头脑中思考的信息,组织头脑风暴的结果,绘制心智图,作为样式管理器,或设计网页或PDF文档的原型。ProcessOn:支持绘制思维导图、流程图、UML、网络拓扑图、组织结构图、原型图、时间轴等等我自己平时用的最多的其实是Xmind,这个看大家自己习惯吧,目的就是理清楚思路。4.项目管理协作工具
项目管理协作工具也是我们开发过程中经常会用到的。这方面的产品也有很多:Slack、Asana、Teambition、Worktile、Towe、禅道等这部分就不一一赘述了,很早之前转载过一篇文章专门介绍过这个,大家感兴趣直接看这篇文章项目管理协作工具即可。5.在线开发辅助工具
• BASE64编解码工具:https://base64.supfree.net/• MD5编码工具:https://www.zxgj.cn/g/md5• AES/DES加解密:http://www.fly63.com/tool/cipher/• JWT解码工具:http://jwt.calebb.net/• ASCII编解码工具:https://www.matools.com/code-convert-ascii• Unicode编解码工具:https://www.zxgj.cn/g/unicode• UTF-8编解码工具:https://www.zxgj.cn/g/utf8• 字符串编解码工具:https://www.zxgj.cn/g/enstring• URL编解码工具:http://tool.chinaz.com/tools/urlencode.aspx?jdfwkey=lbixz1• 在线ASCII码对照表:http://www.fly63.com/tool/ascii/• 通用进制转换工具:https://www.zxgj.cn/g/jinzhi• 在线浮点数十进制转换:http://www.binaryconvert.com/• RGB颜色转换:https://www.zxgj.cn/g/yansezhi• 时间戳转换工具:https://www.zxgj.cn/g/unix• 计量单位换算工具:http://www.fly63.com/tool/unitable/• 在线JSON解析:http://www.json.cn/• 在线JS代码格式化工具:https://prettier.io/playground/• SQL压缩/格式化工具:https://www.zxgj.cn/g/sqlformat• JSON和XML在线转换:https://www.zxgj.cn/g/jsonxml• JSON/YAML在线转换:http://www.fly63.com/tool/jsonyaml/6.华为云平台
目前很多公司都在用低代码开发平台开发应用了,摆脱了大量的编码工作,让程序员将精力投身到业务当中来。所谓低代码开发,即无需编码或只需少量代码就可以快速生成应用程序。也就是说,企业的应用开发通过“拖拉拽”的方式即可完成。这其中比较典型的是华为云的DevCloud,推荐给大家。· 高效易用的低代码aPaaS平台-应用魔方AppCube:https://www.huaweicloud.com/product/appcube.html· 集华为研发实践、前沿研发理念、先进研发工具为一体的软件开发平台-软件开发平台 DevCloud:https://www.huaweicloud.com/devcloud/总结
其实开发过程中用过的各种各样的工具还有很多,只是一时间无法全部都枚举出来,后续想到其他的好用工具会持续补充到文章中,文档中涉及到的工具找不到的可以评论区留言或者私信我,希望本文对大家有所帮助。以上内容分享自华为云社区《【云驻共创】 JAVA常用的开发工具有哪些?》,作者:再见孙悟空_。
有哪些堪称神器的工具或软件?
1.10万+精品模板,终生会员39元的PPT模板网:办公资源网;39元=终生VIP会员=无限下载=10万优质ppt模板+word模板+excel模板+音效模板+在线抠图+ps教程+pr教程+vba教程+课件下载
其他模板网站:hippter=pptmall+pptfans+稿定ppt+51ppt+雷锋ppt+优品ppt+ppt宝藏+站长素材+...........=模板+字体+配色+设计+大神+工具+......
(只要你知道这个网站,模板的问题一定不是问题)
2.一键生成N(7000个以内)个文件的目录,清华大学选择的文件管理软件:Taglyst
3.同时打开N个文件夹,实现浏览器式的管理,效率不止翻倍的软件:XYplorer
4.文件搜索:Filelocator,也可配合everything使用,如果必须二选一,选前者(更多搜索软件正在测试对比)
5.办公软件建议用WPS或永中office,但模板不要购买,在上面第1条下载。
6.用EXCEL时下载方方格子工具,不会函数不会公式依然可以成为数据高手。复杂的操作一键完成。
7.截图:专业截图王>Snipaste>Fastone Capture(别说什么最好的截图软件是snipaste,用过专业截图王再说)
8.PDF编辑软件:迅捷PDF(屌丝选这个)>福昕pdf(土豪选这个)>ADOBE acrobat dc;福昕是真好用,就是贵。迅捷的优势是一次付费终生使用。wps据说也很好用,测试后给大家分享。
9.批量文件重命名、替换、添加序号:total commander。批量复杂重命名1万个文件,不到1分钟就可完成。
10.批量对mp3进行标签清除或编辑:Mp3tag。彻底一键清除烦人的广告信息。
11.word批量设置格式、插入文字、批量排版、批量删除页眉页脚、批量删除页眉下划线、批量打印、批量替换文字:word文档批量处理大师>total commander,以前需要几个小时的复杂操作一键完成。
12.效率软件:essentialpim pro,让一切更加井井有条,打造私人资源库。
以下为手机端APP:
13.以一敌百的效率app:时光序=日程+日历+习惯+专注+提醒+日记+.......让生活变得更加酷炫和高效的软件,关键是还超级便宜
14.让你瞬间知识量爆棚的软件(有的家长用来启蒙孩子的兴趣):全世界=历史+地理+文化+哲学+科学+美术+艺术+心理+哲学+时政+新闻+考古..........
15.手机里的超级效率工具:全能扫描君=文字扫描+表格扫描+批量扫描+手写扫描+老照片修复+pdf工具+拍照搜题+拍照翻译+不断更新;而且终生会员我才花了60,现在涨价到90多了,需要的赶紧。
(需要更多,请看我的合集和其他回答)
现在依次介绍上面的效率工具和软件:
1.10万+精品模板,终生会员39元的PPT模板网:办公资源网;39元=终生VIP会员=无限下载=10万优质ppt模板+word模板+excel模板+音效模板+在线抠图+ps教程+pr教程+vba教程+课件下载其他模板网站:hippter=pptmall+pptfans+稿定ppt+51ppt+雷锋ppt+优品ppt+ppt宝藏+站长素材+...........=模板+字体+配色+设计+大神+工具+......
(只要你知道这个网站,模板的问题一定不是问题)
2.一键生成N(7000个以内)个文件的目录,清华大学选择的文件管理软件:Taglyst
下图为黑色酷炫模式:
清华大学的选择:
3.同时打开N个文件夹,实现浏览器式的管理,效率不止翻倍的软件:XYplorer
4.文件搜索:Filelocator,也可配合everything使用,如果必须二选一,选前者(更多搜索软件正在测试对比)
5.办公软件建议用WPS或永中office,但模板不要购买,在上面第1条下载。
6.用EXCEL时下载方方格子工具,不会函数不会公式依然可以成为数据高手。复杂的操作一键完成。
7.截图:专业截图王>Snipaste>Fastone Capture(别说什么最好的截图软件是snipaste,用过专业截图王再说)
下图为Snipaste,只能说界面真的很寒酸。
下图为faststone capture :同样不够完美。
8.PDF编辑软件:迅捷PDF(屌丝选这个)>福昕pdf(土豪选这个)>ADOBE acrobat dc;福昕是真好用,就是贵。迅捷的优势是一次付费终生使用。wps据说也很好用,测试后给大家分享。
下图为迅捷pdf:
最大的优点是便宜:终生会员价格不足100元,秒杀Adobe公司的软件和福昕编辑器。
9.批量文件重命名、替换、添加序号:total commander。批量复杂重命名1万个文件,不到1分钟就可完成。
10.批量对mp3进行标签清除或编辑:Mp3tag。彻底一键清除烦人的广告信息。
11.word批量设置格式、插入文字、批量排版、批量删除页眉页脚、批量删除页眉下划线、批量打印、批量替换文字:word文档批量处理大师>total commander,以前需要几个小时的复杂操作一键完成。
12.效率软件:essentialpim pro,让一切更加井井有条,打造私人资源库。
以下为手机端APP:
13.以一敌百的效率app:时光序=日程+日历+习惯+专注+提醒+日记+.......让生活变得更加酷炫和高效的软件,关键是还超级便宜
14.让你瞬间知识量爆棚的软件(有的家长用来启蒙孩子的兴趣):全世界=历史+地理+文化+哲学+科学+美术+艺术+心理+哲学+时政+新闻+考古..........
15.手机里的超级效率工具:全能扫描君=文字扫描+表格扫描+批量扫描+手写扫描+老照片修复+pdf工具+拍照搜题+拍照翻译+不断更新;而且终生会员我才花了60,现在涨价到90多了,需要的赶紧。
更多录屏、办公、设计、学习、读书、日程软件......
请看我的视频合集或问答。
拉轰读书,一站式解决你的所有问题=质量超好+价格超便宜+持续更新迭代
你的关注,是最大的肯定,怎能辜负你的信任。
我该学习这三种中的哪个更好点儿?
在回答这个问题之前,我们先来了解一下什么事Linux、前端、后端!
Linux:Linux和Windows一样是一套操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。目前主流的服务器操作系统、软件开发环境、互联网应用都基于Linux系统。
前端:可以来一个通俗易懂的解释,web前端就是我们在计算机上看到的界面,比如说,你打王者荣耀,看到的王者荣耀的界面、英雄等介绍,这些都属于前端!
后端:还以王者荣耀为例,你看不到的,帮你保存游戏游据,处理这些数据的就是后端,在简单来说,你用的悟空问答就是前端,而把这个问题推送给我的就是后端!
至于学什么?给你一个最好的答案,喜欢什么学什么!兴趣是最好的老师,这三个月来说,哪个的前途都差不多,只是要看你个人,每个人喜欢的都不一样,有人喜欢做页面,有人喜欢在幕后,有人喜欢做运维,喜欢的工作比不喜欢干起来更有劲头!
福利:分享一下学习路线图前端与移动开发学习路线图大纲:
Linux云计算+运维开发学习路线图大纲:
想要学习资源可关注后,后台回复:前端 或者是 Linux
想学软件测试?
2020年,软件测试行业还值得入行吗?
行业的现状及前景
那么处于2020年,软件测试这个行业又将如何发展呢?我谈一下几点,如果你处在这个行业,一定能体会到我说的对不对。
表面"衰落"的测试行业鉴于过去的大形势变化, 不懂技术的测试工程师会逐渐被淘汰出局. 一波测试工程师的失业潮是在所难免的.虽然早期我也呼吁身边的人赶紧脱离落后的业务体系, 脱离落后的测试技能, 但是看到很多人越来越生活艰难, 也是挺心痛的. 包括测试工程师的需求越来越少, 招聘职位也越来越少, 典型的新崛起的巨无霸公司比如facebook早期都没有QA. 甚至前几年一度有QA团队是否值得存在的争论. 表面看起来是测试行业衰落了.
有趣的是大家讨论QA团队是否值得存在的初衷, 是为了更好的保证质量. 这还是挺耐人寻味的. 绝大多数的公司, 都是非常支持QA部门的存在的, 问题在于QA团队的存在的价值到底是大还是小. 过去陈旧的测试体系, 落后的测试人员能力, 冗长的测试流程是被整个IT行业诟病的一个关键.当研发的生产力在逐渐的提升, 运维的部署在逐渐的自动化, QA所带来的价值和耗费的成本就越来越不能忽视了. 甚至成为了一个项目的最大的成本. 这是任何一家公司都无法忽视的问题. 早年阿里巴巴的高管曾经集体去硅谷拜访新崛起的巨无霸, 得到的结论就是他们的流程和执行力比国内强很多. 甚至facebook早年都没有QA就成长为大公司了.所以阿里就迅速推动了流程的裁剪. 这部分包括裁撤SQA, 裁撤需求分析师, 裁撤项目经理, 削减QA名额. 进入产品, 研发, 测试三足鼎立的最简模式. QA会不会被撤掉也取决于这个部门的价值. 所以不要想当然的觉得"存在即合理", 现在部分的公司已经在试验"无QA"的模式了. 互联网唯一不变的就是变化
比如一个典型的例子, 在搜索, 推荐, 机器学习等方向的算法测试是很重要的领域, 是需要专业的测试工程师参与的. 这个行业能容纳很多的测试团队. 但是测试行业这些年就没形成对这个领域的正确测试方法, 结果最后丢失了这个市场. 现在都是研发自己保证了. 因为找不到合格的测试工程师去保证这个业务.
同样在性能测试领域也是如此, 随着性能测试平台, 全链路压测, 性能监控, AB Test, 云压测这类技术和服务的出现, 性能测试工程师的需求也会缩小. 越来越多公司里的性能测试都已经变成研发主导了. 丢失了这块的业务, 性能测试QA的需求量自然会受影响.
一定要记住, 业务空间决定QA的生存空间, 这是所有行业都通行的道理. 如果你不能满足业务需求, 就会被淘汰出局, 要么选择退守防御要么选择勇于接受挑战
那测试行业的未来是什么样的那, 很多人会担心. 不过我还是整体乐观的.因为我喜欢整个行业, 这些年也一直在进行不断的思辨. 说下我的看法
2. 测试从业人员的规模
从业人员规模跟生产力负相关, 跟业务规模正相关. 以后能有多大取决于技术和业务规模的双重因素.
首先是大环境因素, 随着各种行业的互联网化, IT行业在扩大, 外卖, 美甲, 甚至是无人机汽车航天产业都将成为科技公司. 研发的队伍会扩大, QA的队伍自然也会整体扩大. 前提是QA自己要跟得上时代.
其次是随着生产力提升自然就不会需要这么多人的. 哪个行业都这样, 测试行业并不特殊. 就跟汽车行业一样. 早年堆人, 然后堆工具, 堆技术, 上机器人, 改进流程. 行业技术改进, 测试技术改进, 测试工具和测试服务的改进, 都会一定程度提高了测试效率, 减少了成本. 这种改进会导致QA的团队更精炼高效. 人数多意味着大家的价值跟富士康工厂里的工人一样廉价. 追求高附加值才是正确的路. 这对公司和测试团队都是双赢的.
第三个因素是行业地位. devops的流行是推动了研发和运维的密切合作. 一旦这个阶段完成, 产品的生产部署会非常的流畅. 随之而来的就是问题会越来越早的暴露, 大家对质量会更加的重视. 到时候就会进入一个新的时代, DevQA. 运维逐渐会管道化, Dev和QA会成为新的主角. 只是到时候能撑大局的不一定是现在的软件测试工程师了 会是新时代的测试工程师.
测试行业会越来越专业. 人才, 技术, 工具, 开源平台, 服务会越来越多. 越来越完善. 术业有专攻, 专业化分工仍然是大趋势. 技术层面上也会有创新. 以前的测试只能留下测试用例和业务知识文档 没有什么连续性积累. 随着接口测试, 质量监控, 覆盖率分析, 业务建模等技术的突破, QA也会形成自己稳定可积累的业务数据, 并逐渐形成自己的平台和业务. 业务空间+技术门槛的双重因素是我坚信QA部门能长期存在的一个核心因素.
3. 测试行业的管理会逐渐扁平化
几乎大部分的互联网公司都在分拆业务和QA团队从而提高执行力. 所以管理上百人的总监职位会越来越少, 而管理百人以下的总监会越来越多. 不排除少量的巨无霸仍然没有改变. 或者有些烧钱的初创公司倒行逆施. 其中这些测试管理者会遇到一些新的挑战, 比如更高层是研发出身居多. 不懂研发体系几乎没有发展空间了. 测试管理体系失去了上层建筑, 对未来的影响还是深远的. 会有阵痛, 但是结果肯定会是好的
4. 测试技术人才需求增多
原因是多方面的. 大公司因为分拆的问题. 不再有统一的测试技术支撑部门, 所以分拆之后的每个团队都需要组建对应的职能团队, 对测试技术人员的需求反而会增多. 中小型公司也苛求质量保证效果, 不止是要好, 而且要求更快, 也需要大量的技术人才. 这几年通过各种招聘网站的招聘job的描述也能看得出来.
5. 外包测试的灾难和新生
原来做欧美日韩外包业务的公司会因为国内互联网的发展逐渐式微, 他们需要转型做国内.但是国内对外包业务也大多排斥, 而且外包业务在效率沟通管理上都有诸多弊端. 其自身也无法承载对测试工程师的培养和长期发展. 所以这几年会有大量的外包测试工程师转型. 这方面需要有新的优秀的外包服务公司.能做到有自己的测试服务, 测试技术和高级的测试研究工程师才行. 比如东软也开始做自己的各种云测平台之类的, 就是一种为了迎合新时代的变更.
6. 不懂开发的测试工程师已经是新时代的文盲
第一个是工作上已经没有太大的晋升空间. 第二个是也很难跳槽. 最好的结果是凭借多年的经验转管理. 我跟行业的很多测试经理交流过, 大部分工作超过6年的人, 在测试执行上会倦怠, 在测试技术的改进上已经无法入门, 还不如招实习生. 相对来说, 有技术基础的人在工作8年以上仍然会保持自己的学习热情.所以未来测试团队的架构基本会是多数业务测试工程师+少数测试专家+测试经理的管理模式. 以前不识字的是文盲, 后来是不识英文的是文盲, 在继各国呼吁加强对IT技术的重视后, 新时代的文盲就已经快是不懂开发的人了.testerhome社区的成立的初衷就是希望唤醒整个行业对测试技术的重视.
7. 测试行业的门槛增加
以前处于发展期, 行业对人才的苛求是第一位的. 现在随着大公司发展稳定, 招人已经稳定了.他们基本只在211院校校招. 社招也看学历. 初创公司多是融资烧钱为主, 在学历上和阅历上也是看的很高. 能够不拘一格降人才的公司会越来越少. 我之前推荐了不少同学去其他优秀的公司, 其中有一部分同学就是技术不错, 但是学历未过关. 所以希望大家技能和学历上能够好好的重视这个问题. 除了学历门槛, 如上一条所说技术门槛也存在. 所以加油吧, 少年!
8. 测试行业的薪资在提高
测试行业经过自身的净化洗涤会有新生. 典型的变化就是薪资从以前的3k-15k的范围, 整体提升到1w-3w之间. 技术含量的提升, 责任的提升必然会带来整体的回报. 现在只要技术好, 学历没问题. 工作3年拿个两三万的月薪是很平常的.
后面会详细说薪资的方面。
9. 研发工程师进入测试领域
这些年整个行业对测试行业的发展非常不满意, 通俗点讲, 大家都觉得测试很Low, 但是又不能没有。研发提交项目给测试的心情就跟以前过年要去火车站排队买票一样. 要申请测试资源, 给测试讲解业务和实现, 遇到比较low的或者新入职的, 连搭建环境都不会还得手把手教. 研发只是修改一行代码, QA或者测试那边就炸锅了.各种流程足以让研发头发都能掉好几根. 作为参考对比, 再思考下运维. 当年部署个环境跟提交测试很像. 要申请运维的介入, 要申请机器资源, 然后提交部署文档, 还要明确基础环境, 依赖库等各种细节的版本号. 遇到本地行发布环境不行之类的问题还得跟运维撕逼. 当年运维行业还流行着一句, "人"才是最关键的发布保证者. 而现在随着持续交付和devops的流行. 发布都已经做到"丝般柔滑"了, 一键发布,自由选择灰度,平时的发布甚至都不需要运维参与. 尝试了新模式的甜头后, 对测试行业的弊端已经很难忍受了. 所以在优秀的测试工程师和架构师难找的情况下, 已经有越来越多的公司选择直接用研发工程师来顶了. 他们的追求很简单. 单测->接口测试->基础的冒烟测试, 能够做到自动化就可以了. 如果能像运维那样做成测试即服务就更完美了.
搞明白了测试行业的现状,明确了前景,那就要详细说说要学习哪些内容了。
自学软件测试要学习哪些内容?
我根据薪资的不同,划分成以下几个阶段具体说一下:
月薪5-9k:从零基础入门到能够找到工作月薪15-25k:测试在职搞定性能测试和自动化测试年薪30W+:搞定测试开发,进入一线大厂(文末有测试开发岗位简历模板,自己拿)
第一个阶段:月薪5-9k,刚刚入行,先学会功能测试!
可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;测试用例的设计、编写、评审;bug的基本知识以及禅道的使用;测试计划、测试报告的编写;SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;需求评审,学会如何看需求文档,进行需求分析,罗列测试点;整理测试点,编写测试用例,然后进行用例评审;执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux相关技能
操作环境、命令、安装数据库、部署测试环境等
数据库相关技能
各种命令用法、字段、增删改查
接口测试相关技能
接口测试基本理论、http协议、测试方法;接口测试需求分析、用例编写、评审;几种工具的掌握,jmeter、postman、soupUI;
APP测试相关技能
安装/卸载、离线、UI、登录等测试内容;兼容性测试、monkey、fiddler抓包;
OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!
简历不会写?文末帮你解决这个问题!
如果你已经入行了,且能够正常上手业务了,那么你就要思考第二个问题:如何获取更高的薪资?
第二个阶段:月薪15-25k,搞定性能、自动化测试,独当一面!
都说自动化玩好了很牛掰,但是性能测试才是互联网企业的核心痛点!
对于性能测试,业界很多都是在“耍流氓”,举个栗子:
我拿到了一份“流氓”的性能测试报告,上面只写了响应时间、TPS是多少,然后罗列了一下压力机基本配置情况,比如40个并发相应时间是5秒,TPS是260。
那么,我该怎么判断这次性能测试的有效性:
1.场景是否合理?
2.压力是否传递均匀或者传递到指定目标?
3.是否有干扰因素,或者说那些数据是否有效?
4.有没有一些可信的判断方法?
这些问题的出现,其实就是反映出了目前在做性能测试的一些误区:
只测不调,无法给出研发和运维人员执行建议无法定位问题,缺乏清晰的逻辑和数据证明价值性能测试工具≠性能测试性能测试技术体系落后(loadrunner),急需拥抱开源软件如果要搞定这些问题,那么性能测试你得这么去学:
性能测试的概念和流程
常见问题剖析、流行工具、方案设计
性能测试工具
jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
性能监控
性能监控体系与监控数据采集
性能实施
分布式服务压测,场景设计、场景执行测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
性能分析与报告
jvm调试与系统调试性能瓶颈分析
搞定这些,你完全可以很自信的和面试官说自己精通性能测试!
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程脚本编写、标准库、多线程、第三方库,外部数据处理unittest、pytest测试框架、参数化、数据驱动
web端的自动化测试
selenium安装、录制、处理web控件、JavaScript脚本、PO模式
移动端APP自动化测试
appium使用、录制、元素定位方法APP控件定位、交互,参数化用例appium问题定位分析、源码分析、二次封装
服务端接口自动化测试
接口自动化测试框架request接口请求构造、断言json/xml请求、响应断言headcookie处理、认证体系
上面这些说的是性能和自动化测试的学习路线和内容,搞定这些,基本上在这个行业,月薪2万以上是非常轻松的事情了!当然如果你想成为技术专家,或者想带领技术团队进行实施落地,那么请你接着往下看,关于年薪30W+的测试开发需要学习哪些内容:
完善测试技术体系
Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础
web自动化测试
selenium测试框架PageObject设计模式、原则、演练
APP自动化测试
Android自动化测试框架appium高级应用于原理剖析APP自动化测试实战测试框架封装改造ios自动化测试
移动专项测试
健壮性测试、弱网测试、崩溃检测、耗电量分析等移动端性能测试移动端安全测试
接口自动化测试
接口协议与抓包、代理技术与mock接口自动化测试框架、HTTPrunner测试框架dubbo接口自动化测试接口管理工具swagger、接口安全测试
docker容器技术
docker容器、docker镜像
持续集成/持续交付/devops
jenkins持续集成Jenkins持续交付
以上内容绝对不是泛泛而谈!建议收藏或关注,日后去验证。