从微软的今天看软件测试的明天[2] 软件测试工程师
对于微软亚洲工程院的软件测试工程师新手来说,工作既充满挑战又非常充实。不过,首先要改变的是“心态”。一方面,不能仅仅满足于完成自己的工作。陈天表示,“如果让一个新人进行浏览器的测试,他可以写很多测试用例,比如测试各种按钮是否可用等等;但对于软件来说,是不是只要经过了这些测试,就立刻可以上市销售了?不能仅仅满足于找到BUG, 要真正做到质量保证。 时常问自己,是不是这样的质量软件明天就能上市?很多新来的员工没有这样的意识,也就是对整个产品质量负责的意识。我经常给我们的工程师讲,尽管微软有几万名工程师,但测试某一个功能点的人就你一个,如果漏过了任何一个bug,等到上市之后,受到影响的可能是数以千万计的微软用户。所以我们要求责任感对一个测试工程师甚至比他的测试技能更加重要。”
当然,对于新人来说,有一套学习的途径可以让他们实现快速地成长——除了陈天等资深测试经理和Test Lead的指导外,微软内部还积累了一整套测试流程、工具和模板。首先,软件测试工程师要对负责的产品非常了解,要看PM和开发人员的文档,然后根据模板进行工作,而Test Lead也会审查他们的工作。“每个产品的测试都包含了基本的测试,如功能测试、压力测试、代码覆盖率校验、插入测试、与其他产品交互的测试,还有全球化和本地化测试。”在测试用例上,几乎永远是越多越全面越好。在陈天测试Windows XP操作系统某项目时,仅对几个Dll文件的测试就写了两千多个测试用例。陈天说:“微软的测试工具基本上都是自己开发的,虽然商业性比较差,但对产品的针对性很强。除了常用的十种左右的测试工具外,往往需要软件测试人员针对项目开发很多测试工具。”软件测试
谈及未来的发展,陈天对自己的软件测试团队充满了信心。从院长张宏江到技术总监林斌,微软亚洲工程院阖院上下都对测试工作非常重视。陈天希望将他的团队变成“微软最好的测试组之一”。他说:“虽然目前还不是,但对此我非常有信心,我们的员工技术水平还可以提高,我们的测试流程还可以更适合开发的需求,员工们的软件测试理念也还应不断增强, 最后,,我们也正在形成自己的软件测试文化并用次来推动ATC的进一步高速发展。”