种瓜得瓜,种豆得豆的时代已经过去了,如今种瓜能结豆,种豆也能结瓜,好比学法律的能当翻译,学英语的能做IT。可是要在自己的非专业中脱颖而出,需要付出比专业人更多的努力。下面是微软测试工程师郑洪流,以自己的故事为您讲述如何“在测试中学习测试”:我是作为软件测试工程师(Software Test Engineer)的头衔被招进微软的,工作的主要任务是软件测试。但在进入微软之前,我是既无软件开发,也无软件测试的经历。为应付面谈,突击看了一些测试的书。但如何去做测试工作,可以说是两眼一抹黑,纯粹是赶着鸭子上架。在这种情况下,微软提供的许多帮助新员工的措施,对我非常有用了。

  首先,技能指导手把手地教给我们如何写测试案例、测试计划、机器设置、软件安装、发现和输入缺陷等。这一过程其实很短,也是两三天。但是,帮助确实很大,大大地缩短了我们新人进入工作状态的时间。我印象深的是我的第一个测试项目。那是一个微软为网络公司提供的网络组合软件MCIS,该软件包括操作系统(NT 4.0)、数据库(SQL Server 6.5)、网页服务器(IIS)、电子邮件服务器(Exchange)、电子邮件用户界面(Web Mail)以及专门为管理这些软件开发的管理系统(MCIS)。我的任务是每天新版本一出来,将整个系统重新安装,设置一次,然后测试诸如发/收电子邮件;网页设置及访问;会员账户产生,管理等基本功能。这些对于一个刚接触网络的人是很大的挑战。但技能指导将整个过程的上百步过程一一列出,共长达满满五、六页纸,我们只要按照步骤一步一步地去实现。这样我及其他几个新职工在很快的时间内即投入了日常测试工作。

  其次,微软许多网络上的材料,给新职工提供了非常方便的学习条件。这些材料包括各种过去的培训材料、各种工作需要的范本、各种职工撰写的理论或体会文章,以及各项目的网站等。有的组还专门组织有经验的职工为新职工编写新人须知,这些须知常包括如何设置测试机器,如何安装常用诸如缺陷跟踪、测试案例管理等软件、如何设置软件开发环境,在哪里找到常用的信息等。包括我自己在内,很多员工的第一个缺陷报告、第一份测试计划等,都是从别人的范例、范本或介绍材料中学来的。在我进入微软不久,即被安排测试一个组合软件的局部化测试。当时主要是测试该组合软件在德语、日语和朝鲜语上的工作性能。我所撰写的测试计划、测试案例等都是根据公司内部的局部化网站的有关资料完成的。许多诸如哪些是需要重点测试的字串,如何测试快捷键(shortcut),适合局部化的用户界面的基本要求等,都可以直接从网站上抄录下来。所以,只要自己多注意学习,多注意其他人是如何工作的,你能利用这些材料一步一步走入正轨。

  经理及同事的帮助,是快和有效的学习途径。员工每周都要和经理至少汇报一次工作,这种汇报一般是书面和面谈相结合。员工将一周的工作进度及下一步的计划一一列出,逐一和经理讨论汇报。这通常也是员工将自己遇到的问题和经理讨论的时间。一般经理都是经验丰富、能力出众的职员,帮助手下员工是他们分内应尽的义务。所以,这是一个很好的学习机会。员工所要做的即是将自己的问题诚实地提出来,寻求帮助。当然,一旦你得到合理的建议,应立刻付诸实施,并让经理知道你的进程。如果建议确实帮助你解决了问题,应该及时感谢经理。这样容易建立一个帮助、被帮助的良性循环。经理的帮助,由于他的时间的限制,往往只是方法、方向性的。更多的帮助是来自许多职员,他们的优势是及时,你可以随时和他们商讨;贴切,他们往往处理过和你一样的问题, 因为他们也在做和你一样的工作。我刚开始测试工作时曾经遇到过一个问题:用户界面始终和数据库联不上。自己当时没有经验,不知道是否是测试错误还是软件缺陷。后请一位测试人员帮助,他很快发现到问题的症结:我使用了一组数字作为机器名,而SQL Server 6.5在寻找该机器时,自动以为这是IP地址,所以不可能找到。

  各种形式的培训是进修的佳途径。微软的培训种类包括:公司内部的课堂式的培训、公司外部的课堂式的培训、网上培训、录像或磁带式的培训等。在刚进入微软时,我重点选择参加了一系列的关于测试的培训。在不到半年的时间里,通过各种培训途径,学习了测试计划、案例的撰写、全局化测试、局部化测试、API测试、性能测试等。也通过网上材料和公司图书馆的测试书籍,系统地学习了有关测试的一些基本理念。在工作的同时学习的优势是,学到的东西可以直接在实践中应用。从而大大地增加了对所学内容的理解和记忆。