展望2011
2008年度工作经验总结之其他
上一篇 /
下一篇 2009-04-01 11:32:14
/ 不允许评论
/ 个人分类:测试经验
2008年度工作经验总结之其他51Testing软件测试网-\1e(d5fDq][
1.白盒测试和黑盒测试51Testing软件测试网1S)VFo:Po&s
以往只用黑盒方法测试的时候,总是对测试结果不放心,万一有些情况没考虑到而且出问题的话就不好了。但是如果经过白盒分析后,对测试结果更有信心了,因为确认测试用例和测试数据基本上已经覆盖到了程序主要语句和边界。对整个内部的处理过程了解之后,所有测试数据所检测到的地方信心更充足,而不仅仅是依赖测试方法理论。51Testing软件测试网}v's
@
K
白盒和黑盒的另一个重要区别是,白盒测试人员了解代码设计后,能推断出这个设计本身存在什么逻辑上的漏洞,如果什么情况发生,可能会出现BUG,然后进一步进行确认,但是黑盒就无法从这个角度去发现了。所以静态白盒测试要比动态黑盒测试可能要更容易或更早发现同一个BUG,特别是设计思想正确,而在代码实现上出现了问题这种情况,如果是检查代码很容易发现的。
6y9I$@p,f9\u%x*~4}7xN0关于不同的等价类,在程序中的体现在if…else、switch之类的会产生分支的语句,因为不是同一等价类,所以需要进行逻辑处理的语句也就不一样,反之亦可。其实黑盒的等价类划分基本上就等于白盒测试的语句覆盖,有的时候,黑盒的角度看不是同一等价类,也许程序中是视作同一类型,所以处理的语句也是一样的;有的时候,黑盒的角度看是同一等价类,但是程序中是需要区别处理的。所以,黑盒+白盒进行测试用例和测试数据的设计,才是最优的测试方法。51Testing软件测试网L"z3B+U$O5x
2.阅读代码
#~(r \C
j0C文件的阅读,在具体阅读代码之前先画出这个源文件的函数调用关系图。首先找到这个源文件所在的最上层的函数(比如说main),然后找到这个函数里面又调用了哪些函数,以此类推,最后画出函数的相互调用关系图,那么其中的每个函数都是一个单元模块,然后根据这个函数关系图,逐步的去了解每个函数的作用(一般都有函数的注释),这个时候就能知道这个功能内部处理的顺序是什么(细节方面的实现没有了解),这个时候就可以做灰盒测试了,如果还想了解的更深入,则去了解每个函数的具体实现是什么样的,细节到每一个语句,这个时候就可以进行白盒测试了。总之,先画出函数调用关系图,再仔细阅读代码时会更快、更有效率。
o\{GTJ*t]:@({7g2l I0系统函数调用和程序逻辑结构可以自己摸索,但至于为什么逻辑要设计成这样,就得去理解程序人员的算法了。比如说程序中创建一个子进程,子进程实现的每一步骤都能理解,但创建子进程的目的到底是什么,如果无法从子进程代码实现中了解到,只能去问程序人员了。