前面花了很大的篇幅来讲大背景和大变革,现在才正式开始进入“软件测试”这个议题。个人认识还是很有必要。因为大部分开发人员都是思想和交际圈子相对比较简单的群体,打交道的对象往往是代码或者机器,往往不愿意跳出技术的思维和习惯,从更高的视角来审视自己做的事情。因为我以前就是这样的一个技术人员,往往把所有的路线选取寄托在别人身上,而且自己缺乏独立思考的能力,结果导致自己虽然很努力,但是却总是达不到自己想要的效果。 作为普通一个人,必然无法避免个体命运会随着大时代的背景进行浮沉。具备独立思考的能力相当重要,能够洞察趋势,顺势而为,必然会事半功倍。 4.1 软件测试的概述 软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。 换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 不管是传统企业还是IT企业,都会有这样的一岗位,叫QC(QUALITY CONTROL的缩写,中文“质量控制”) ,专门负责品质控制的。在制造企业里面是对具体的物品进行 相应的质量检测。 不管是实物工业生产还是软件工业生产,最终的目的都是将产品交付给相应的使用人或者使用场景,使产品稳定的发挥其作用。那么既然存在交接,就必然存在验收。而关于产品的问题的发现,从生产方来说,最好是在内部就能消化和解决,而不是到投放市场之后由用户来发现,那样会对产品和企业形象都是很大的损害。所以每个企业都需要这样一个角色,用来做质量审核和把关。 在传统实物生产工业,产品质量控制主要划分为4个阶段 : 进料控制(Incoming Quality Control缩写为IQC) 过程质量控制(In Process Quality Control缩写为IPQC) 最终检查验证(Final Quality Control缩写为FQC) 出货质量控制(Outgoing Quality Control缩写为OQC) 同样在软件工业,特别是目前外包或者众包的协作模式逐渐兴起,软件工业也逐渐像实物工业一样形成了所谓的供应链,也一样产生了如传统工业的品质控制岗位。 作为甲包的验收测试 本公司软件流程优化,和小版本迭代测试 本公司阶段发布版测试 交付下游企业的交付测试 总之,软件测试是在软件工程里面交付可靠软件的必要步骤。具体有有兴趣的可以查看软件工程相关书藉。但是查看这些的时候,请只看软件测试的定义及在软件工程中所扮演的角色部分,后面的具体操作手段可以忽略,因为随着近些年互联网和移动互联网的掘起,很多传统的软件工程组织方式和理念已经严重落伍,已经逐渐被行业给淘汰,作为软件工程中的一个环节,软件测试的手段也发生了巨大变化,这个在后面会谈到的。 百度百科.'软件测试'词条[5] (, ) 百度百科.‘QC’词条 4.2 当前从业体验 关于从业人员的体验,以下论述事实都来自于当下热门社区“知乎”。 如何成为一个优秀的软件测试人员? 软件测试的基本原理,我称之为 测试 1.0 时代, 如 软件测试 (豆瓣); 与敏捷开发结合,我称之为 测试 2.0 时代 , 如 敏捷软件测试 (豆瓣); Test is Dead , 测试已“死”,适应互联网新时代的要求(比如 精益创业 (豆瓣)),“不管黑猫白猫,捉到老鼠就是好猫”,当你跳出了“测试”这个圈圈,思考测试的价值了,我称之为 测试 2.5 时代 如 Google软件测试之道 (豆瓣), 持续交付 (豆瓣), 将测试和复杂 (豆瓣)相结合,我称之为 测试 3.0 时代,但是现在的实践还比较少 QA在中国有前途么? 文章主要观点: QA是个比较有前途工作 黑盒手工测试工作将逐渐被白盒和自动化代替。 使用第三方自动化测试工具如QTP的测试人员,处境将比较尴尬。因为本质上只是黑盒自动化。 测试工程师的趋势是和开发越来越接近。 拥有代码开发能力或者数据分析能力的测试工程师才有光明前景。 多看一些相关话题及相关人员的回复,可以明显感受到测试岗位正在朝着”自动化,专业化和技术长线化“的方向在发展了。 4.3 人才市场需求 (责任编辑:晨鸿) |