本文先对互联网对时代和社会变革进行了论述,而后再由互联网时代对软件工业模式变革进行了介绍,最后引出附属于软件工业的测试行业在新形势下的需求变化,并对趋势进行了分析,并最终给出了相关的从业人员的职业发展建议。前端
本文开题较宏大,但最后仍然会聚集到具体的测试行业的话题上来,为了不被你们误解成“有始无终”,特作以下申明:python
高晓松在一期《晓说》的“大航海主题”节目里面提到,他认为目前为止,他以为 人类历史上最伟大的两项发现是:linux
两样东西都有一个共同特色,就是将这个世界抹平了,让当时的人们可以以全新的视角和思惟认识这个世界。android
大航海时代伴随着地理大发现,让世界的各个地方的独立孤岛融入到一个世界观中,造成了文化大碰撞,物种大交换,人类大移民。git
一些主要的冲击体如今 [1]:github
欧洲人从美洲引进了土豆和玉米,最低产的土豆也是最高产的小麦的18倍,并且不依赖水。,高的能够达到几百倍。极大解决了欧洲人的农业生产力问题,并且这两种做物被引入中国,促使中国在康熙年间人口终于突破了1亿,达到空前繁荣。web
欧洲人给美洲带去了欧洲的疟疾,并从美洲带出了天花。致使两边的人都出现了极大的死亡率。算法
西班牙人在南美洲玻利维亚发现全球最大银矿,产出了40亿俩白银盛产白银,而当时的超级大国中国明朝一年的财政收集才几百万两白银。致使当年西班牙一跃成为世界最富有的国家,可以买下全世界 。购买力极强的十亿白银大量涌入中国,造成了巨大的通货膨胀,间接致使了后面的禁海和闭关锁国,以致于后面远远落后于世界化进程。sql
最先白人集中在欧洲地区。可是大航海时代的地理大发现致使如今 美洲,非洲,大洋洲和东南亚洲处处都是欧洲白人的地盘了。shell
这系列的事件,影响了后面的整个世界的地理,政治和经济格局。
上面谈到的那些事件和现在和互联网时代存在太多的类似性。
每当我向别人宣扬互联网的巨大力量时,总会有人提出质疑:互联网这个东西并不像制造工业那样产生一些实际的东西,可是如今如此的热,确定会出问题的。
我认为,互联网不产生新的实物,它就是增长效率,优化资源配置,抹平信息鸿沟,制造更平等的认知世界的机会。互联网为什么这么热,缘由在于咱们这个社会运行的状态是很低效的,信息很不对称的,因此互联网每进入一个领域,都会带来这个领域的巨变,互联网的动做模式会把传统的动做管理模式的规则所有给颠覆,若是传统模式不作出改变,只能被狂风扫落叶的扫出历史进程了。
关于IT行业的前几十年发展史,有兴趣的能够推荐吴军博士写的《浪潮之巅》,做者以浪漫主义的笔法书写了IT行业的几十年和恩恩怨怨和浮浮沉沉· [2]。
下面本文将主要列举近十年(2005~2015)年来,IT行业的一些重大事件。
[1] | 晓说.大航海系列-黑人奴隶地位高要天价.20140110 |
[2] | 吴军.《浪潮之巅》.2011 |
生长在这个时代的年轻人,要么创造了这些历史,要么见证了这些历史,要么如今正在创造这些历史。
前面陈述了各方面的东西,其实总结为以下几点:
可能不是全部的人都清楚,虽然同叫IT公司,可是IT公司仍是能够分红两大类的:外包项目驱动型公司和自主产品驱动型公司。
在百度百科里面对“外包”进行了以下的介绍:
企业在管理系统实施过程当中,把那些非核心的部门或业务外包给相应的专业公司,这样能大量节省成本,有利于高效管理 [3]。
总体来讲,绝大多数的外包具备以下特色:
这一类的传统IT公司公司目前对外包装都是“提供IT解决方案”的公司,好比:像东软,软通动力等等是比较典型的。这些公司的销售常常会在各类招投标现场看到,或者在华为公司里面有些外公司的人,不少就是这些公司派去驻场开发的,里面的员工每每会有一种“同工不一样酬”的失落感。
这一类的公司,我的认为会面临逐渐被集中到少数的大集团里面,或者分散在一些兼职的个体软件工程师中。由于这项服务确实是一直被社会所须要的,社会的的更改化发展也确定是专人作专事,外包确定不会消亡掉。这个市场会一直存在,可是从业人员的营生类型属于赚一些辛苦钱,拼个体力而已。
[3] | 百度百科.“外包”词条 |
这一类公司,你们比较熟知的主流互联网公司基本上都属于这一类型的。这一类公司具备以下特色:
目前国内这一类的主要公司有:TABLE互联网五巨头。
在传统的软件工业,软件产品以光盘为载体以相似于实物的方式进行生产和出售,软件的产出方式也是严格遵照软件工程的流程。
这样的的生产方式和传统的制造企业是极其相似,并且若是这种模式发展下去,确定会愈来愈照搬传统制造企业的模式,由于都是须要追求流程的标准化,这样才可以保证生产和规模化和有序化。
在传统的项目驱动型的软件企业里面工做过的软件开发人员必定印象深入:
为什么要这么严格的评审流程,为什么要如此多的开会和文档?其实上面提到的那些行为都只是操做手段而不是目的,真正目的在于为了防止如下状况的发生:
从提出需求,到最后完整当初约定的功能软件,周期较长,每每存在至关多的不肯定风险,对软件项目的参与者进行协议上的约束,因此须要和甲方进行沟通和文字记录,同时开发人员
由于周期长,开发人员众多,减小沟通成本,必需要尽可能多的文档。
这些都是创建在一种信息不对称,信息流通不畅的年代所产生的开发过程。后面将提到一种新的软件生产思路。
这是在互联网兴起以前的年代的一种软件生产思路。
主要开发流程以下
主要的特色以下:
这种开发模式的最大特色是:快!
迭代速度快。
新功能发布并呈如今客户面前快。
问题的发现快。
问题的解决速度快。
这实际上是优势,若是是坑,及时可以暴露出来也是好事
前面提到的两种公司和两种模式,目前在中国都存在至关大的市场。从我的的角度来讲,更看好自主产品型的公司及开发模式。
本人第一次创业经历,就是长达两年的时间开发一个大型软件系统,最后都没有成功交付而胎死腹中。此次惨痛的经验教训,让我今后之后对外包型的创业模式深感恐惧和抵触心理。第一次创业里面作的项目,很累很累,很用心很用心,同时结局也很惨很惨。
第一次创业失败以后,又加入了如今的这个创业团队。是一种彻底的互联网经营和生产模式,彻底是一种久旱甘霖的畅快感。做为开发团队的一员,你的代码时刻都在生产服务器上运行着,天天开发的功能都在线上发挥着做用,你敲下的每个字符都发挥着它的做用,并且为后面的开发在铺路。
前面花了很大的篇幅来说大背景和大变革,如今才正式开始进入“软件测试”这个议题。我的认识仍是颇有必要。由于大部分开发人员都是思想和交际圈子相对比较简单的群体,打交道的对象每每是代码或者机器,每每不肯意跳出技术的思惟和习惯,从更高的视角来审视本身作的事情。由于我之前就是这样的一个技术人员,每每把全部的路线选取寄托在别人身上,并且本身缺少独立思考的能力,结果致使本身虽然很努力,可是却老是达不到本身想要的效果。
做为普通一我的,必然没法避免个体命运会随着大时代的背景进行浮沉。具有独立思考的能力至关重要,可以洞察趋势,顺势而为,必然会事半功倍。
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。 换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程[4]。
无论是传统企业仍是IT企业,都会有这样的一岗位,叫QC(QUALITY CONTROL的缩写,中文“质量控制”) [5],专门负责品质控制的。在制造企业里面是对具体的物品进行 相应的质量检测。
无论是实物工业生产仍是软件工业生产,最终的目的都是将产品交付给相应的使用人或者使用场景,使产品稳定的发挥其做用。那么既然存在交接,就必然存在验收。而关于产品的问题的发现,从生产方来讲,最好是在内部就能消化和解决,而不是到投放市场以后由用户来发现,那样会对产品和企业形象都是很大的损害。因此每一个企业都须要这样一个角色,用来作质量审核和把关。
在传统实物生产工业,产品质量控制主要划分为4个阶段 [5]:
一样在软件工业,特别是目前外包或者众包的协做模式逐渐兴起,软件工业也逐渐像实物工业同样造成了所谓的供应链,也同样产生了如传统工业的品质控制岗位。
总之,软件测试是在软件工程里面交付可靠软件的必要步骤。具体有有兴趣的能够查看软件工程相关书藉。可是查看这些的时候,请只看软件测试的定义及在软件工程中所扮演的角色部分,后面的具体操做手段能够忽略,由于随着近些年互联网和移动互联网的掘起,不少传统的软件工程组织方式和理念已经严重落伍,已经逐渐被行业给淘汰,做为软件工程中的一个环节,软件测试的手段也发生了巨大变化,这个在后面会谈到的。
[4] | 百度百科.'软件测试'词条 |
[5] | (1, 2) 百度百科.‘QC’词条 |
关于从业人员的体验,如下论述事实都来自于当下热门社区“知乎”。
如何成为一个优秀的软件测试人员? [6]
QA在中国有前途么? [7]
文章主要观点:
[6] | http://www.zhihu.com/question/20254092 |
[7] | http://www.zhihu.com/question/19666055 |
多看一些相关话题及相关人员的回复,能够明显感觉到测试岗位正在朝着”自动化,专业化和技术长线化“的方向在发展了。
若是说知乎上的我的的回答可能会带有浓厚的主观色彩,或者说是我的认知的局限性。那么来自人才市场的需求应该可以成为比较客观的风向标依据了吧。毕竟,规划本身的职业方向的主要目的无非是以下两点:
本文经过对2015年5月份来自互联网的垂直招聘网站 拉勾网 的测试相关岗位的招聘要求和薪资待遇进行了研究。
关于测试岗位,工资差别很大,要求的差别也很大。
以”测试“为关键字进行职位搜索,发现出来的岗位待遇差别巨大,下面将针对不一样的薪资结果来举例对比。
10K~20K
15K~30K
20K以上
数据结构
算法
数据库
进程通信
网络协议TCP/IP
性能测试/性能优化/安全/容灾
软件工程理论和测试理论
10K~20K
3K~5K
4k-6k
4k-7k
经过对更多的高端测试岗位的技能要求作总结,绘制出以下的一个技能和事务树,供你们参考:
自从离开校园以后,好久没有沉下以来认真地写点东西了。主要是本身在刚跨入社会的时候,犯了一个很严重的错误,老是想用”战术的勤快来掩盖本身战略的懒惰“,一直忙低头作事,而不多停下来冷静地独立思考。还好,如今开始有这个意识,也不算太晚。
以上的内容一方面是对本身这三年思想转变和职业规划转变的总结,同时写出来,也但愿可以对走在相同道路上,一样有过困惑的同行们多一点借鉴参考吧。
以上全部的结论都源于:
虽说尽可能让依据来源丰富化,可是在在选材过程当中确定不免带有一些我的主观色彩,并且做者的经历也不能表明你们的经历,因此分享此文出来,还但愿此观点可以传播出去让更多的人看到,正如前端的互联网产品的开发思路”让产品尽早上线,尽早接受更多的用户考验,好坏天然分明“,因此欢迎你们来 点赞或者拍砖。
这是后续的软件测试系列的第一篇,先以概述来定基调和方向。后面将分享此基调和方向下的相关技术和手段。