一位测试工程师成长过程中的困惑
作者:管理员 发布时间:[ 2010/2/9 15:24:40 ] 推荐标签:
粗略算来,从事测试工作也有3年了,其实自己对测试确实没一点兴趣,开始也只是因为白盒测试部能够熟悉服务器代码才决定进入测试部的,这三年来也看着公司的白盒测试部从初创建到后来一步步的成长,包括公司的测试部门从开始的凌乱到逐步规范到现在完全的过程管理,整个测试部都是朝着一个比较好的方向发展的。《软件测试的艺术》自己都不知道读过多少遍了,测试的理论、流程已经烂熟于心了,但是理论和实践之间差距确实很遥远。
初期白盒刚成立,花了半年的时间熟悉代码写注释,真是把那些代码当书看,从一开始的毫无头绪到逐渐学习到如何阅读代码,发现能够看懂代码也是一种能力啊,后面看MySQL代码也不是很费劲了,这期间只是分析了一些存在比较大的性能问题的功能如何改进之类的问题,另外是熟悉工具,老大从网上不断的搜集着资料,什么样的工具可能有用,然后研究,看看是否适用与我们的产品,Devepartner、Thread Profile、Performance Analyzer、Insure C++……一大堆的工具,一大堆的英文文档,熟悉一个写个文档做个报告,那时候感觉这个很强大,那个不错,这个蛮合适,那个也可以用,后面真正用起来才发现各有个的优点,功能强大的不一定是适合你这个产品的。终适用Devepartner来做覆盖率测试,当把所有测试用例跑了一遍之后,惊讶的发现,覆盖率居然50%都不到,也是说50%的代码测试部门都是没有测试过的,拿去给用户使用了,这也反应出了黑盒测试用例的不充分,之后固定有一名同事专门用来提升覆盖率,根据没覆盖到的代码编写测试用例,花了差不多一年多时间,终才把覆盖率提升到80%多点,期间确实发现了很多的bug,但是毕竟目前只能做到语句覆盖而已,这样来提升覆盖率,即使达到95%,难道能说明测试用例很充分了么?从而开始思索怎样写测试用例才能尽可能的保证其充分性?后面公司推行CMMI,开始对测试有了过程控制,需求完成后开始编写测试方案,测试方案尽可能的挖掘出需求中的需求项,子需求项,给后面测试用例的编写提供大方向上的指导,并通过多人评审来保证方案的完备性,这样的措施确实对后面测试用例的完备性有很大的帮助,单个模块的覆盖率也有了很大程度的提升,不需要特别的针对没覆盖到的代码来大规模的编写测试用例,覆盖率也只是一个指导而已,但是现在开始发现Devepartner只能测所有的覆盖率,没办法统计某几个文件的某些函数所组成的模块的覆盖率,于是提取需求,编写工具……
系统中有时候还会出现线程之间的死锁问题,这时候想到Intel的线程检测工具,这个工具确实很强大,能够给出每个线程执行的函数调用图,每个函数消耗的时间,也能够检测线程之间资源竞争和死锁,但是前提是你的用例要能够跑出死锁情况来,死锁发生经常是偶然性的,并不是每次都那么容易重现出来,试验了很多次都无功而返,终采用笨的手段,人工检测,找出所有的竞争资源,分析使用情况,但是代码确实太庞大了,这样的工作人工进行不仅耗时,而且经常分析几天没个结果,怎么才能静态的自动化检测死锁?操作系统课上说,如果资源的分配都按照优先级顺序来分配释放的话,则可以避免死锁,那么写个工具把程序里面的所有竞争资源列出来,按照目前调用方式分配一个优先级,然后把所有使用到这些资源的函数子函数调用流程记录下来,分析申请资源优先级是否一致应该可以把潜在的死锁问题的地方都找出来吧?于是提取需求,编写工具……
当程序变得越来越庞大,内存泄漏总是躲在某个角落里面偷着笑,有很多的工具都可以检测系统的内存泄漏,Devepartner的Error Detection组件可以,开源的vld也可以,但是我们的内存管理都是自己的,一次申请的一大块内存堆来自己调度,而那些工具都只能检测操作系统的内存分配函数,没办法,又是提取需求,看了vld的源代码,自己动手写工具……
仔细回忆起来,这三年其实还是做了不少的测试工作哦,还有很多的东西没有写进来,如果有兴趣还是可以和同行交流一下:)但是内心却有个想法却一直在骚扰我:要是这些都做完了怎么办?如果这些都形成了流程,随便找个人培训一下都可以做了,那我接下来再做什么呢?做模块测试,根据接口写测试用例?除了对外提供的接口,对内的模块之间一般都很难实施。做代码走查?代码逻辑总是没开发人员熟悉,每次也只能发现一些编码问题而已。自己都不知道做什么了,经验太少了,国外的跨国公司到底怎么测试的呢?不知道,相信是了解一点也只是皮毛。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11