《软件测试的艺术》读书笔记(二)

1.测试方法   

     测试方法的分类如下:

黑盒测试 白盒测试
等价类划分 语句覆盖
边界值分析 判定覆盖
因果图 条件覆盖
错误测试 判定/条件覆盖
  多重条件覆盖

2.黑盒测试

等价类划分

    将程序的输入数据划分为有限数量的等价类,等价类中的任一数据等价于该类中的其他任一数据。

    等价类中的用例必须体现尽可能多的输入情况,以减少用例的数量。

    等价划分包括两个步骤:

    (1)确定等价类

            将输入条件划分为两个或更多的组。

    (2)生成测试用例

            每个等价类设置编号;

            编写测试用例,覆盖所有的有效等价类;

            编写测试用例,覆盖所有的无效等价类。

边界分析

    边界条件是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。

    (1)如果输入条件规定了输入值范围,那么应针对范围的边界和刚刚越界的情况设计测试用例。

    (2)如果输入条件规定了输入值的数量,那么应针对最小数量输入值、最大数量输入值,以及比最小数量少一个、比最大数量多一个的情况设计测试用例。

    (3)对每个输出条件应用(1)(2)。

    (4)如果程序的输入或输出是一个有序序列,则应特别注意该序列的第一个和最后一个元素。

因果图

    生成测试用例的过程如下:

(1)将规格说明分解为可执行的片段;

(2)确定规格说明中的因果关系,“因”是指一个明确的输入条件或输入条件的等价类,“果”是指一个输出条件或系统转换;

(3)分析规格说明的语义内容,并将其转换为连接因果关系的布尔图;

(4)给图加上注解符号,说明由于语法或环境的限制,而不能联系起来的“因”和“果”;

(5)通过仔细地跟踪图中的状态变化情况,将因果图转换成一个有限项的判定表,表中的每一列代表一个测试用例;

(6)将判定表中的列转换成测试用例。

3.白盒测试

    白盒测试关注的是测试用例执行的程度或覆盖程序逻辑结构(源代码) 的程度。

语句覆盖

    将程序中的每条语句至少执行一次。

    这是测试中较弱的准则。

判定覆盖

    将判断的每个可能结果都至少执行一次,以及将程序或子程序的每个入口点都至少执行一次。

    这是一种比语句覆盖更强的准则。

条件覆盖

    将判断中的每个条件的所有可能的结果至少执行一次,对程序或子程序的每一个入口点都至少调用一次。

    这是比判定覆盖更强一些的准则。

判定/条件覆盖

    将判断的每个条件的所有可能的结果至少执行一次,将判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次。

多重条件覆盖准则

    将判断的所有可能的条件结果的组合,以及所有的入口点都至少执行一次。

4.总结

合理的测试策略如下:

(1)如果规格说明中包含输入条件组合的情况,应首先使用因果图分析方法;

(2)在任何情况下都应使用边界值分析方法;

(3)应为输入和输出确定有效和无效等价类,在必要情况下对上面确认的测试用例进行补充;

(4)使用错误猜测技术增加更多的测试用例;

(5)使用判定覆盖、条件覆盖、判定/条件覆盖或多重条件覆盖准则等测试程序的逻辑结构。

发布了539 篇原创文章 · 获赞 172 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/liyazhen2011/article/details/104215652