QA需要了解大量的专业知识,除了要让自己了解公司所有的规格标准技术资料外,更应该让自己成为一个博学者。每个人能力有限,博学不代表要精通,但至少要知晓相关知识的大概。QA的分析能力与经验有相当大的关连。QA需要长时间来积累自己的经验,积累经验也有要领的。每次出现一个问题,都要去问为什么,为什么问的越多,经验就越多,你会在为什么中不知不觉的成长。一般五年是QA的一个阶段,五年内,QA需要默默的学习,积累扎实的基本功和经验,如果你做到了,五年后,你将发现,你成了奇缺人材。
最后一点要说的是管理。QA需要管理自己内部的资料,也需要管理整个研发团队的。首先要做到的是,QA需要有正直的人品,不要因为任何的外界的因素而改变自己对公司产品的严格要求,要勇敢地说不,对不合格产品严格地打回去重新做。其次,QA需要有完善的体系来管理工作。每家公司各不相同,但我认为需要以下几个方面体系:
工作记录。此测试是何人完成的,何人申请的,进度如何,完成时间,要严格控制记录,如果出了问题方便找到相关的人,不是为了让谁去担这个责任,是为了能更快的解决问题。当然也有对测试者的约束力,要让每一个QA知道,要对公司负责。我通常采用一个工作记录表格,个人认为还有一个好处是给QA和其他部门的同事看。当QA全部在忙,研发工程师们可以内部自己调整case的重要性,暂时pause或者delay某个任务,调整工作,让QA的工作更有效率。
Test Case管理系统。这个需要一个小型数据库,将每一个测试项目详细记录下来,测试者可以将自己的经验变成文字写在里面,让后来者可以为之所用,提高QA团队的整体力量。每一个Test Case都必须根据公司的设计规格书和行业标准来编写,通过此,测试者也可以更了解公司产品的标准。
Bug管理系统。这个系统可以便于QA上报bug,研发工程师能很快的去解决,也可以帮QA控制产品的研发进度,push研发工程师按进度解决问题。也可以根据此来制定每一个版本的release时间表。
Code mangerment. 一般的公司都有这种工具,就不需要我来特别说明了,通常用的是Perforce和CVS。说明一点的是,有些公司对code管理比较乱,客户打个电话code就release出去了。不成熟的产品出去了,会让客户觉得这家公司的产品为什么如此差劲。所以如果要对公司好,就一