其实我们处在测试领域中,都如处在“温水中的青蛙一样”

  近很长一段时间都很忙,突然对自己近的学习方法做个简单的总结,以及个人对测试发展的整个过程的一个分析,希望对大家有帮助。

  一、测试发展过程

  我认为一般的测试过程发展:测试执行->测试用例撰写->自动化测试实现->测试流程与平台实现。

  《1》测试执行阶段要求:1、会看文档(即会看测试用例)。2、有一定的业务知识。3、有一定的工作操作和仪器仪表使用技巧。 而在此过程中也许你对自动化测试有一定的认识,觉得自动化测试是依靠简单的脚本代替人的一部分手工测试。

  《2》测试用例撰写阶段要求:1、对产品的认识和业务知识掌握到了一定深度。2、对测试理念和各种测试知识学习到了一定程度,至少对软件测试或者系统测试等原则和方法有了深刻认识(例如:黑盒测试中的各种方法、执行测试用例需能恢复到干净环境的原则等)。 也许在此过程如果你没有特别专研自动化测试的话,那么当然你还是停留在脚本执行的理念中,当然按照此路线向QA和管理发展也是不错的选择。但是如果你有想提高技术的想法,那么得对自动化开始进一步进攻了。说句自己的理解:测试管理有点虚,如果你不是测试专家或者在管理确实有独特想法,那么你何以服众,技术为王吧。

  《3》自动化测试阶段实现:整个测试流程,从单元测试->集成测试->系统测试->(回归测试)各对应有各自的自动化测试方法和工具。单元测试过程中,依靠的是TDD思想(测试驱动开发)。系统测试过程中包括:功能测试(B/S测试与C/S测试),性能测试等。

  自动化测试也有自己的一个过程:工具使用->工具实现(脚本开发)->框架搭建->平台与流程的建立。各有各的思想和理念,得好好学习,这里不深究了,有兴趣的可以一起探讨。

  《4》流程流程与平台实现阶段:测试的作用是质量监控和保障,如果不建立一个良好的测试流程与平台实现,平台中包括手工测试执行与自动化测试实现,两者并行,手工测试执行负责发现问题,自动化测试负责保障质量。到了这一部,则需要对整个测试流程有很深刻的认识,可以考虑去学习一个测试管理工具的流程思想,将其的理念变为自己的理念。

  二、测试技能学习方法

  因为测试本身是一个涉及很广的领域,它的本质是质量保障,所以它的要求不是要求你去专研某一个知识,而是去专研其实用性,如何更可能的节省测试成本、如何更可能的保证测试质量。所以其需要的技能是多方面的,因此我个人总结了一套学习方法,从自动化测试这个领域来说吧

  自动化测试涉及太广,真的想做好自动化测试,它不仅要求你对系统业务、编程、系统框架搭建有所专研,更是需要在测试流程与平台建设方面有所认识,而我觉得更行的学习方法为:

  首先将学习当做一个流程,为学习建一个基本框架,明确自己要达到的目标,分别根据以下三部门进行列出。

  1、实践精通式学习:这部分是你需要重点掌握的,像自动化测试过程中,需要重点掌握的有:编程技巧(脚本语言,例如:javascript、tcl、perl、ruby等,一种即可;面向对象语言,例如:JAVA、.net等,一种即可;WEB编程技巧:客户端与服务器端);HTML与XML(XML一定要学会)

  自动化测试工具学习(单元测试工具:xUNIT等;WEB自动化测试工具:selenium、QTP、Watir等;GUI自动化测试工具:RFT、winrunner等;性能测试工具:loadrunner等)

  数据库知识(SQL查询语言;一些数据库的使用)

  操作系统知识(Windows:DLL、COM组件、环境变量等知识一定要是掌握的,不然很多东西都很难了解本质)

  业务知识(电信业务中的各种协议知识等)

  流程知识(软件测试的艺术等)