不断的面试的一个副产品就是对自己过去几年的工作的经验的总结。这是这段时间最大的收获。
这种总结最后体现在两个大的方面:
首先是知道了自己究竟想做什么,和自己过去几年里面究竟做了什么。如果没有这半年不断的回头看看自己的足迹,没有这半年不断的修改自己的履历,我想我不会有今天这样的清晰的认识。我过去六年里面做的实际上是linux system integration test。这种经历在其它的地方很难得,至少也不会如同在这里这么容易和涉面广泛 —- 由此可见,进入对的公司还是很重要的。做了六年的系统整合测试,我发现我其实还是很喜欢这种类型的工作的。所以如果能够到amazon或者apple,从事类似的工作,一方面这是我之所长,另一方面,这也是我的兴趣之所在。我最希望的,就是能够专注于一个系统,好好的研究下去。从这点出发,Amazon也许更好,因为我毕竟能够完整的接触到这个体系的方方面面。我想,我更喜欢开源的社区。
其次是知道了如何测试。我在RH六年多,如果加上AOL的三年,我已经是十年的工作经验了。我不知道别人是否如此迟钝,我只知道我现在好像是刚刚踏入这个领域。我刚刚开始有一个逐步成形的建立在自我思考的基础上的体系。这个体系分成两个部分:首先是面对测试的对象,如何抽丝剥茧,得到一个没有任何遗漏的,全方位的测试单元体系(scenario map)。如何做到“无遗漏”是我思考了很久的问题,也是前两个星期才突然得到一个灵感,还没有着手证明的东西(binary scenario map)。第二部分是如何写自动测试的程序。automation不是简单的程序的罗列。这也是我最近三个星期,在调试手上的程序失败了无数次之后才突然领悟到的。但是究竟应该如何规划测试程序,如何安排测试程序之间的联系,我还没有完整的思路。这一方面是需要我有更多的架构师的知识,另外,我也需要一个专注的环境让我能够实际的实现我的想法。我朦胧中体会到的是,automation和传统的软件设计有很大的不一样,它更应该是“grow”的,而不是堆砌出来的—- 换句话说,搭积木的方式出来的测试程序太脆弱。到最后综合这两点,我能够想到的是“graftals”,但是还没有形成我的体系。我想,如果某一天我的思想成熟了,我应该有两个产品出来:一个是基于触摸的程序,能够自动生成scenario map,另一个是书,能够完整的表达我的思想。
还没有听到任何从apple和amazon传来的消息。继续等吧!磨一磨我的性子也好。