测试这个领域,入门浅,真正进入之后才会发现其博大精深,涉足6年余,才仅有点感觉,在此稍做总结,与涉入测试领域的兄弟共勉:

  阶段一:入门 1、软件工程:软件开发模式首先了解软件研发的过程,才能采取不同的测试策略。如传统的瀑布模型,可以按V模型的方式进行测试的计划、设计和执行工作;如果是RUP方式,则测试过程要按照历次迭代进行分阶段的测试,每次迭代的测试方法和重点会有所不同。还有很多开发模式,测试工作都需要根据不同情况进行适当调整。 2、测试理论:基本过程与方法系统测试、集成测试、单元测试以及BETA测试、验收测试等的测试依据不同,所使用的方法也不同,边界值法、等效类划分、错误推测、因果图以及条件覆盖、判定覆盖等等,方法非常多,在各阶段测试设计过程中都会用到,所以作为基础课程必须掌握。

  二、进阶 了解了上面两条,相当于刚学会什么叫编程语言、C语言的语法是什么,能编写HELLOWORLD小程序了,会编码不等于能编好代码,测试也是一样。掌握上面两条已经可以拿着一个产品说明书开始用产品了,进行初级的系统功能测试(勉强算测试吧:),真正要深入,还需要再学习以下内容 3、软件特性:软件产品的基本特性 首先知道一个软件必须要具有的基本特性,即一个好的软件是什么样子的,才可能去有目的的设计测试用例。ISO的一些标准中定义了软件的质量模型,functionality、reliability、usability、efficiency、maintainability、portability等,这些在真正进行测试设计前必须能够详细了解,没有这些基础,拿着简单的几份需求、设计文档进行测试是远远不够的。 4、测试设计:测试的精髓所在 要进行测试,必须要提前知道测试什么、怎么测,这时候需要进行测试策略、方案、用例的设计了。这种设计的基础除上面提到的3个大的内容都要用到外,还要对被测对象进行重复的了解,同时要考虑是否需要驱动/桩模块/模拟环境的支持、如何来设计这些模块与环境、需要什么样的工具、用什么样的方法、用户真正使用的环境是什么等等,测试设计的能力需要在不断的实际项目操作经验中积累。

  5、测试工具-提高测试效率的手段 个人认为测试工具在测试知识领域内的重要性并不是很强,属于辅助性的一种手段,可以用来提高效率,但不能依靠它来保证产品质量。测试工具现在已是林林总总,见过的、用过的已有几十种之多,这部分的学习先从面上入手,从功能测试、性能测试、代码测试等几个领域找出几个典型工具,先了解它们能做什么、不能做什么,在测试设计时可以根据情况具体选择,在测试实施过程中再熟练掌握。 掌握上面这些内容,已经可以参与一些项目的测试了,经过一、二年的实践经验,可以说骄傲地说自己已经是个测试工程师了。

  三、高级-更全面、更系统主要经验更丰富 测试这个领域,所谓高级是无法确定的,所以在此也不敢指导如何成为高级测试工程师,只能说前5条都很熟了以后,可以在其它一些领域进行深入探索: 6、测试流程 方法、工具是回事,真正能把这些东西连贯使用,很好的执行,还需要测试流程来保证,业界有现成的流程可参考,但也只能做参考,团队的规模、产品的领域不同流程肯定不同,制定一套完整、顺畅的流程才是让测试工作有效执行的保证。 7、系统分析 具有系统分析能力的测试工程师才能在产品早期即需求、设计阶段发现产品的问题,盲目地跟着开发需求、设计文档走地测试只能保证产品问题不多,产品没问题并不代表产品能用、好用。 8、技术创新 测试领域没有固定的、一成不便的理论和方法,在经验积累之后,可以针对产品、环境的不同摸索出不同的流程、方法,可以设计自己的测试文档体系,也建立自己的测试工具平台,向上的空间是永无止境的。