51Testing软件测试论坛

标题: 大道简之——软件测试(二) [打印本页]

作者: binning_001    时间: 2008-3-24 18:55
标题: 大道简之——软件测试(二)
二.测试方法小论
在上面的基础中我们大概已经对测试有了了解,及时感觉有点晕也没关系,慢慢来,学的时间长了就有感觉了。
Ok,咱们开始这一小节吧。这小节主要介绍下测试的方法和思想,一般测试的设计都是遵循这个思想的。

1.等价类划分
等价类划分就是把具有相同或相似性质的事物放在一起。我们分为有效等价类和无效等价类两种。
简单的说有效等价类就是符合要求的,而无效等价类就是不符合要求的。
    一般我们遵循步骤是:
        确定有效等价类和无效等价类,并标识出来
        根据划分的等价类,确定输入数据,覆盖范围,输出结果
下面给出六条确定等价类的原则:(可能大家都看了N遍了,但是一定要理解消化了,否则看的在多都= =没看)
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.
③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.
④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.
⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).
⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.

2.边界值
大家一定要记住,任何时候都要想到边界值,因为边界值常常容易出错。对于边界值的一些规则网上很多,大家百度一下就都有了,我这里就不一一说明了。
寻找边界值的一般原则:
①如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;
②如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;
③根据规格说明的每一个输出条件,使用规则一;
④根据规格说明的每一个输出条件,使用规则二;
⑤如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;
⑥如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;
⑦分析规格说明,找出其他可能的边界条件。

3.因果图
因果分析图是以结果作为特性,以原因作为因素,在它们之间用箭头联系表示因果关系。
    一般我们遵循步骤是:
        根据规格说明书,找出对应的“因”和“果”,并给出标识。
        找出“因”和“果”之间的关系划因果图。
        有的“因”和“果”或“因”和“因”组合不可能出现,所以要加约束或是限制条件。
        将因果图转化为判定表。
        根据判定表的每列,设计测试用例。

4.错误推测法
这个一般是根据自己累积的经验而推断的。所以总是说有经验的测试人员很吃香。呵呵,咱什么时候也能香了啊。

5.决策表
决策表是分析和表达较为复杂逻辑条件下软件状态和行为的有效工具,一般和因果图结合使用。决策表有四部分组成:条件桩,动作桩,条件项,动作项。

6.另外还有些方法如:功能表,正交法等等。

    说了这么几个方法大家可能有点迷惑,什么时候用这些方法啊。我们一般先以等价类划分,同时要结合边界值;对于有多种条件组合的我们一开始就要用因果图。最后用错误推测法进行补充即可。
    大家如果想练习的话,到网上一搜就有许多例子,多看看多写写就有思路了。
    另外,大家不要以为用这种思想或方法才算测试,其实咱们平时点了网页的链接什么的都算是测试了,只不过不科学罢了。
作者: enjoylife    时间: 2008-3-24 19:29
如果能加入实例就好了
嘿嘿
作者: dujun    时间: 2008-3-25 09:06
很好很全面
作者: lncysyj    时间: 2008-3-25 12:12
挺好 支持




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2