测试是什么?它如同医学、教学一样是个独立的、专业的行业。测试人员之于软件系统犹如医生之于患者,教师之于学生。医生的职责是治病救人,教师的职责是教书育人。
测试这个行业的从业人员是保证软件实现的完整性和正确性。当然:虽然患者的身体健康与否取决于患者自己,但一个优秀的医生除了有精湛的医术外,也会用各种方法渠道让患者明白如何预防疾病发生。虽然学生的成长也是取决于学生自己,但一个优秀的教师除了有精湛的教书能力外,也会用各种方法渠道让学生明白做人的道理。所以,虽然软件质量的好坏取决于实现软件的人,但是一个优秀的测试人员除了优精湛的测试技能外,还会用各种方法渠道让实现者明白如何做出一个高质量的软件产品。
现在言归正传,一个测试人员之路是什么?前面说了,测试是一个行业,所谓行行出状元,测试行业的状元是什么样的呢?继续细分,如同医疗行业有内科、外科、脑科、心血管科等等各种专业领域;测试行业本身也有各种专业领域:功能、性能、安全、可用性等等。每个专业领域的状元一定是在这个专业领域上有精湛造诣的人。
到这里,大家一定会有疑问,做到什么样才叫有精湛造诣呢?现在讲个大家耳熟能详的故事: 魏文王问名医扁鹊说:“你们家兄弟三人,都精于医术,到底哪一位最好呢?” 扁鹊答说:“长兄最好,中兄次之,我最差。” 文王再问:“那么为什么你最出名呢? 扁鹊答说:“我长兄治病,是治病于病情发作之前。由于一般人不知道他事先能铲除病因,所以他的名气无法传出去,只有我们家的人才知道。我中兄治病,是治病于病情初起之时。一般人以为他只能治轻微的小病,所以他的名气只及于本乡里。而我扁鹊治病,是治病于病情严重之时。一般人都看到我在经脉上穿针管来放血、在皮肤上敷药等大手术,所以以为我的医术高明,名气因此响遍全国。”
首先:若想成为某个测试领域的专家,个人认为应具备如扁鹊之力,除了要精通于自身领域内的知识,对系统也了如指掌,快速看到问题现象,同时也能够快速通过现象找到问题本质,最后用最简单最有效的解决方案来根治问题。比如在经脉上针灸、在皮肤上敷药。如果要大动干戈、开肠破肚解决问题,那是普通水平。如果是头痛医头脚痛医脚,那是庸医;呵呵。
其次:小隐隐于野。若想成为某个测试领域的大师的话,则需具备扁鹊二哥的能力,当系统还在设计的时候,就能够找到致病因素,用简单高效的手段铲除病因。也就是要具备系统分析师的能力,对设计的功能、性能、易用性、可靠性、可维护性、可移植性、安全性、可测性等各方面能够起到指导作用。知易行难,要做到如此很考验人的毅力。
最后:大隐隐于市。若想成为测试领域的隐士的话,则需具备扁鹊大哥的能力,能够在软件系统创造前期,就将问题防范于未然。要做到这样,除了需要有精湛的技术外,还需具备的是对这个行业的热爱,具备帮助他人成功的心态。并且要有甘于寂寞、淡泊名利的心境,因为几乎没有人知道你的存在,更少人懂你。
接下来我们再讲讲TL(Techlead),
TL如同主任医生或者硕士生导师,他不仅在某个领域内有很深的造诣同时也非常有热情继续在这个领域中深入,并且也愿意带领小部分人一起来探索、研究、创新。套用前面的故事,即如同扁鹊三兄弟的父亲。据说他将自己的行医之道总结了2本秘籍,一本是《医道》、一本是《防道》,根据扁鹊三兄弟的天资,分别传授了给他们。扁鹊三兄弟的功力也是长年跟着医术高明的父亲看病实践及理论教导而日益增长的。所以TL不仅自己能够独立做战,也能够带领人共同做战的leader。
以上是对P路线的阐释
—————————————————————————————————————–
以下是对M路线的阐释
前面说了测试工作本身是为了保证软件产品的正确性完整性。但在研发体系运作中,测试团队或者测试部门的建立则是为了提升研发效率。
先阐释下,如何来理解它是个效率部门。这里做一个简单的模型,模型的前提是:1、先把需求设计阶段抛开,单从开发和测试来说;2、产量和质量是相当的。假设一个场景:如果1个人做1个产品需要15天, 2个人做的话,就能将原先串行的工作变成并行,这样能够缩短系统上线工期。变化如下图1所示。
图1
前提假设都不变的情况下,如果变成如图2的话,那么这个研发体系实在不咋地。
图2
前提假设都不变的情况下,如果变成图3的话,那么这个研发体系则比较优秀,因为不仅开发和测试本身的工期都得到了缩短,总工期也得到了大大缩短,并且还降低了总人力成本。
图3
以上几种体系的建立实施都离不开管理者,即是我们所说的M。下面我们就来说说作为测试部门的M应该做哪些事。
一、 M得具备如上面模型中谈到的测试体系建设及研发体系建设的能力。要有系分或者架构师的视角来优化测试体系和研发体系。
二、 M得有Loadbalance的功能。测试部门作为研发部门中的公共资源部门,需要起到削峰填谷的作用,合理得分配和调度测试资源是M的基本职责。
三、 M得是个优秀的HR。招聘策略、培训体系、员工关怀、员工成长体系乃至离职管理都得搞定。这也是基本职责。
四、 M得是个指挥家。需要指挥协调团队中各种专家为同一首交响曲而合作共同演奏。
五、 M得是个司令官。战略可大可小,时刻得记得给团队一个方向和目标。