原文出处: 肖佳 软件测试人员应该居安思危 每当经济不好,公司业绩不好的时候,公司都可能进行裁员。 首先裁的就是测试人员。 因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易。 公司往往先拿测试人员开刀。 身为测试人员,虽然我们平常的工作大部分都比较安逸。 但是千万不能温水煮青蛙。 应该自强不息, 要像开发人员一样, 不断学习,提高自己的编程水平。这样就算被裁也能很快找到新的工作。 测试人员应该比开发人员更熟悉业务需求 测试人员的水平主要体现在测试用例的设计上。 要设计出全面,覆盖广的测试用例,需要测试人员对自己所测试的项目的业务需求非常熟悉,甚至要比开发人员还要熟悉。 如果是测试银行系统,通信行业,或者ERP软件。 这些业务知识非常有用的,学习起来比较有激情。 要做到精通业务需求谈何容易。 1. 要熟读功能需求文档, 任何有疑问的地方都要去和PM确认。 2. 把自己当成最终用户, 经常使用自己所测试的软件。模拟用户的行为。 3. 熟记软件的每个功能。 假如倒霉碰到一些又没用,又繁琐的软件, 真的是不想去学习它的业务(出了这个公司就再也用不到的业务) 学会如何跟开发人员相处 测试人员必须跟开发人员密切合作, 所以跟开发人员搞好关系是相当重要的。 1. 和开发人员成为朋友。 熟悉了干啥都方便 2. 不要打扰开发人员 看到开发在聚精会神写代码的时候,千万不要去打扰人家。 写代码需要集中精力,如果被打扰,就会中断思考。 3. 集中问问题。 把需要问的问题都总结起来, 集中起来问开发,这样能节省大量的时间。 4. 写好Bug,不被开发人员烦。 如果开发人员看到一个Bug 描述不清楚,还无法重现,他肯定会骂测试人员。 所以测试人员一定要写好Bug,描述精确,简洁,没有歧义,详细简洁的重现步骤,加截图。 测试人员应该懂一些基本的编程 你的产品是用C# 开发的,那测试人员应该有C#的入门知识。 你测试web程序,你起码要了解HTML,CSS, Javascript, Jquery吧,否则你测了一两年web程序,都不知道这东西是怎么做的,悲剧了吧。 只有懂代码你才能和开发人员交流,不被开发鄙视。 测试人员搭建开发环境 产品的代码是最好的学习资料了,我们不能总跟在开发屁股后面做测试,不能老是等开发build一个版本后,我们就测试这个版本,开发check in了什么代码,测试人员一点都不知道。偶尔我们应该了解下产品代码是怎么设计的,了解下开发人员是如何修复bug的。说不定编程水平高了,还能帮开发做code review. 使用源代码工具把产品代码check out到本机。 经常看看代码,经常看看开发修复bug时候提交的代码. 写文档是测试人员的核心能力 我记得我以前的test lead说,之所以她能当lead, 是因为她很会写文档发邮件。 写文档需要总结归纳的能力,还要逻辑清晰。 她非常擅长分析几十页的Spec,写出几十页的测试计划。 她还非常擅长汇总测试报告。 每天将完整,清晰,漂亮的测试报告发给各个组, 让公司所有的人都能清晰的看到测试组的工作。 在她的带领下,我们总结出很多文档,比如,”New hire checklist”, “on boarding traning”, 测试工具使用的文档,等等。 写多了博客后我发现我写文档能力提高了很多。 测试后期应该做两天交叉测试 交叉测试,就是指两个测试工程师,互相交换下测试的项目。 这样做有很多好处。 1. 有利于找出bug, 测试工程师测久了自己的项目,容易形成眼盲。会对一些Bug熟视无睹。 2. 有利于知识和业务共享,避免人员离职,请假,造成无人测试的情况。 3. 测试思想不一样,可以互相找出很多问题 测试人员的瓶颈 手动测试工作做个两三年,基本上就能掌握测试需要的大部分知识,如果没有爬到test lead的位置, 很多人就感觉到发展瓶颈了,每天重复测试,学不到东西,很快就会对测试工作失去激情。 学不到东西,技术水平低下,是测试这个行业最大的毛病。 如何突破瓶颈? 我也不知道。 尽量实现自动化 一点要抽时间尽量把自己的测试工作实现自动化,可以节省测试的时间,提高自己的技术水平,也可以避免老是重复测试。
|