不知不觉做测试已经快3年了,记得刚毕业那会,自己已经拿了一封开发的offer,在医院体检的时候,现公司的HR打电话给我,问我有没有兴趣做测试,我就说,"已经拿到offer了,就不去贵公司面试了"。不过那个HR的GG并没有放弃,而是建议我,“就算给自己增加经验了”后来想想也行,就去了。
记得当时是下午1:00到的公司,做了一份C语言的题,然后就是测试经理(现在我们老大)过来面试,主要问了一些测试方面的东西,如:知不知道什么是测试?测试的目的,测试方法等;当时虽然学校有软件测试的课程,不过由于是选修课,没有认真去听。感觉答的不怎么样。后来老大又问了我一个a=a^b;b=a^b;a=a^b;(^代表异或)实现的是一个什么功能,自己当时也就举了10,01来做,虽然计算出来了结果可是没能答出该题的功能(功能:a,b互换);再后来老大又问了一些问题,自己都不清楚,以至于自己当时直接说了句,“不要再问了,我什么都不会”(现在想起来那个汗...)。后来老大走了,HR主管和我谈了待遇问题,由于比我当时做开发还要高点,就接受了这份工作。(后来才知道老大当时招我进来,主要是觉得我机灵,有悟性,现在和老大谈起,她也说当时的决定没错*_*)
由于公司产品的性质,自己主要从事嵌入式软件方面的测试。在工作的3年中,纯黑盒测试做了3个月,后来一直就做多媒体库的接口测试(灰盒),从09年6月份开始担任小组的leader,期间也做了一些测试工具和测试框架的开发。个人觉得嵌入式软件测试难点在于:①PCB板上代码的覆盖率;②性能方面的测试(由于测试环境的特殊性,不像web测试,有LR可用);③功能自动化测试(如测试一台MP4机的音频播放,不能像Web测试可以使用QTP来录制自动化脚本,而只能需要测试人员手动操作)。这③个测试点在PC上由于有相应的测试工具比较简单,而对于嵌入式系统来说就得自己去开发相应的测试工具来进行。
作为一个测试人员,一定要具备一定的coding能力,否则测试的职业生涯会很短暂(总不可能一直做黑盒测试吧)。只有自己懂得coding,能够看懂coding,才可以在发现BUG后自己先试着去定位BUG产生的原因甚至出错的代码行,并在最后将结果告诉研发人员。只有这样,研发才会真正的认可测试,不会觉得测试只是敲敲键盘,动动鼠标,没有一点技术含量。也只有这样,自己才可以在工作中更好的与研发人员沟通,自己在职业发展上才可以选择管理 or 技术 路线。
注:文笔不好,请大家见谅,只是想分享自己的测试经验,也希望大家能email给我。推荐书籍《赢在测试:中国软件测试先行者之道》,《步步为赢--软件测试管理全程实践》