|
本帖最后由 愚人 于 2012-2-2 11:14 编辑
成为一名职业的软件测试工程师来看,主要的知识结构包括如下几个方面,
第一是计算机相关的基础知识(计算机相关专业的人在大学就已经学过了)。
第二部分是软件测试核心技术,学习软件测试核心技术,好比学习武术,不是非得体育专业的人来学习,关键是你对武术感不感兴趣,是不是一块练武的材料。从核心技术的分类来看,可以分为三大类:第一类是软件测试工具,工具好比兵器,目前比较流行的商业工具有LoadRunner(需要懂C等编程语言),QTP(需要懂VBScript)等,除了商业的测试工具外,在一些大企业里面可能会开发自己的测试工具,这类工作叫做软件测试开发职位(这个可能是未来会火起来的一类测试职位之一),学习好测试工具,好的学习方式和老师的指导能帮助在一定程度上降低学习的难度。当然,最好还是懂点编程会更好。测试工具是测试技术领域里面需要计算机基础的一类技术。第二类是软件测试方法,方法好比武功秘籍,软件测试方法帮助解决复杂软件的测试需求分析与测试设计的问题,也就是我们所说的what与how的问题,学习软件测试方法对计算机知识几乎没有特别的要求,关键是基本的学习能力,我曾经给金蝶做过软件测试需求分析和测试用例设计方法的培训,当时金蝶也有很大一部分人是学财务、会计等非计算机领域的。所以从这个影响软件质量最关键的技术来看,能否学好软件测试方法与计算机知识没有太多的关系。第三类是软件测试流程,流程好比武术套路,是规范的软件测试和非规范的软件测试比较关键的要素,流程本身是把生产线上的流水线的方式引入到软件工程界后的一项工程实践。流程包括活动、角色、输入、输出、入口准则、出口准则、检查表等组织。所以,流程属于工程领域技术,从学习的角度来看,与计算机基础关系不大。实际上,也有不少编程能力相对薄弱的测试工程师通过关注软件测试流程进入软件测试更深的领域,如流程改进,软件测试管理和质量管理等领域。
第三部分是行业知识,软件测试是一门对行业知识要求比较高的一类IT职业,即便是像金蝶这样在某一个领域非常出色的软件企业,他们也把软件测试工程师分成了几类,其中有一类是对行业知识要求高过计算机基础知识的,所以在里面也有很多非计算机专业的,比如财务、金融等专业的软件测试工程师。这类人最需要提高的是软件测试的核心技能。这个在前面有提到过。实际上每个行业都由相关的行业知识,而从学校学习的角度来看,过去在大学里面学到的相关的行业知识对于今后要从事的软件测试工作,也是有非常大的帮助。从这个行业分类上来看,软件测试目前最好的行业主要有金融证券、保险、互联网、电子商务、电信移动、通信、3G应用、大型门户网站、游戏、军工、财务等生活中关键的领域。 |
|