大致划分为三个阶段:
第一阶段:也是入门阶段,即具备最基本的测试人员应有的能力。
该阶段主要进行一些手工测试,设计和编写测试用例,执行测试用例,记录bug,并进行回归测试等工作。在这个阶段中我们要熟悉测试生存周期和测试技术。这个阶段的时间周期较短,也很快能跨过。
第二阶段:提高阶段,需要具备丰富的行业业务知识,并储备一定系统分析能力。
该阶段可以帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。在该阶段中需要拓展编程语言、操作系统、网络与数据库方面的技能 。
第三阶段:深化阶段,这也是软测人员需要一定的努力才能达到的阶段。
自己思考了一下,把进阶到第三阶段分为三条路:白盒测试、自动化测试、性能测试。
白盒测试:在我们大多测试员看来,这是个非常高级的工作,好多人视其为测试工作的终极目标。其实,它并没有想象的高级与神秘,只是我们一般的“初级”测试员不懂开发,自认为开发很难。其实要达到白盒测试所需的开发能力远没有那么高,学会基本的东西后,工作中遇到不会的函数会查文档,慢慢找答案即可。 当然这也需要一个长期的学习各积累的过程。
接下来我们了解一下白盒测试需要掌握哪些技能:首先,懂得一门开发语言是必须的,代码都不懂,如何写测试代码。是吧!不过,你是否疑虑开发人员写了个100行的代码,你可能可要写200行代码来验证这100行代码是否正确。不用担心,有测试来框架来帮你呢?像python的测试框架有doctest、unittest等。所以,在熟悉了一门语言之后,你需要精通一门测试框架。
白盒测试,需要我们做的不仅仅是单元测试,只对开发人员的每段代码进行测试,而且还需要做集成测试。多个单元代码放到一起之后,你需要对这个集成小模块进行测试。你还需要进行接口测试。现在的系统相当复杂,各种子系统或模块之间需要相互调用彼此的接口相关。
自动化测试:这里的自动化测试主要指的功能自动化测试, 下面来看想做自动测试的人员需要哪些技能。
我们一般借助一定的工具进行自动化测试,selenium就是一个比较有名的工具,他支持多种语言,java、php、C# 等等。就我自己而言,现在的项目都是基于web端 的。身为web端的功能自动化测试人员,因为要用自动化捕捉这些组件的属性,所以也都要会前端的技术,前端技术发展的很快,各种绚丽的新组件。故将要面临的问题会很多,道路会很曲折。
性能测试:因为我们所要测试的一个系统是一个整体,所以,你要对一个系统的整体都非常了解。就好比你要给一个人看病,你只会看头痛,可病人是肚子痛,你死盯着病人的头研究,就找不到病人问题的所在。当然,你可以找看肚子的医生来协助,但看肚子的医生可能会误导你对病人问题的判断。所以,作为性能测试人员我们要学以下很多内容。
(1) 服务系统:不仅仅要会windows,也要学习linux/unix,对linux系统不说精通,但至少也要熟练。而且要会安装各种服务,查看监控系统性能,对系统机制也要有所了解。
(2) 数据库:至少要熟悉一种大型数据库,对数据库使用,调优!性能出了问题,不能死盯程序,也许是数据库设计不合理或出现有性能问题引起了,所以我们要会分析数据库。
(3)系统架构:为什么要学习架构的东西,同样是几块木板,可以做成坚固的大楼,也可能做成风一吹就倒的鸡窝。不了解系统架构可能就无法进行测试,无法进行性能分析。
(4)其它:网络知识,因为网络环境也是测试中很重要的一部分协议,常有人遇到自己用loadrunner录制了半天没录到东西或无法回放的问题,这八成就是协议选错了。
上面讲的三个方向,只要能做其种一项工作,那么你突破到第三阶段就毫无压力。在写完这篇文章的时候,我就给自己定下了目标。有了目标总是好的,你呢?