软件测试

臧艳辉

目录

  • 1 走近软件测试
    • 1.1 走近软件测试
    • 1.2 一个软件测试工程师必备的专业技能和素质
    • 1.3 章节测验
  • 2 软件测试技术
    • 2.1 正确认识软件测试
    • 2.2 软件测试遵循的基本原则
    • 2.3 软件测试的分类
    • 2.4 软件测试的过程模型
    • 2.5 章节测验
  • 3 测试中缺陷的识别与描述
    • 3.1 初识软件缺陷
    • 3.2 全面解析软件缺陷
    • 3.3 有效的记录缺陷
    • 3.4 缺陷报告实例
    • 3.5 缺陷报告模板
  • 4 项目测试计划的制定
    • 4.1 一个项目完整的测试流程
    • 4.2 初识测试计划
    • 4.3 测试计划的基本机构和内容
    • 4.4 测试计划模板和案例
  • 5 初识软件测试用例
    • 5.1 什么是测试用例
    • 5.2 项目测试中设计测试用例的作用
    • 5.3 如何设计一个项目的测试用例
    • 5.4 在测试过程中测试用例怎样进行更新和维护
  • 6 使用等价类划分方法设计测试用例
    • 6.1 等价类划分法的基本思想
    • 6.2 进行等价类划分法的原则
    • 6.3 使用等价类划分法设计测试用例实例
  • 7 使用边界值分析法设计测试用例
    • 7.1 边界值分析法的基本思想
    • 7.2 如何确定边界
    • 7.3 测试知识储备
    • 7.4 使用边界值分析法设计测试用例实例
    • 7.5 项目中如何进行健壮性边界值测试
    • 7.6 等价类+边界值
    • 7.7 章节测试
  • 8 使用大纲法设计测试用例
    • 8.1 什么是大纲法
    • 8.2 项目中如何使用大纲法设计测试用例
  • 9 使用场景法设计测试用例
    • 9.1 什么是场景法
    • 9.2 项目中如何使用场景法设计测试用例
  • 10 因果图和决策表结合设计测试用例
    • 10.1 因果图法的介绍
    • 10.2 决策表的介绍
    • 10.3 项目中选用因果图法和决策表设计测试用例需考虑的问题
    • 10.4 使用因果图法和决策表设计测试用例
  • 11 功能测试
    • 11.1 什么是功能测试
    • 11.2 功能测试的主要内容及测试策略
    • 11.3 功能测试的方法汇总
    • 11.4 功能测试的经验及注意事项
  • 12 界面测试
    • 12.1 界面检查的通用原则
    • 12.2 具体的界面检查的举例
    • 12.3 设计界面测试用例
    • 12.4 界面测试标准总结
  • 13 软件的安装卸载测试
    • 13.1 软件的安装卸载测试
    • 13.2 软件的安装测试
    • 13.3 软件的运行测试
    • 13.4 软件的卸载的测试
  • 14 项目中如何使用进行有效的缺陷管理
    • 14.1 进行缺陷管理的目标是什么
    • 14.2 项目中缺陷管理的流程是怎样的
    • 14.3 缺陷的跟踪方法有哪些
  • 15 测试报告该如何撰写
    • 15.1 软件质量评估
    • 15.2 如何撰写测试报告
    • 15.3 如何写项目总结
    • 15.4 如何写个人测试总结
  • 16 集成测试
    • 16.1 初识集成测试
    • 16.2 集成测试方法
  • 17 白盒测试
    • 17.1 初识白盒测试
    • 17.2 白盒测试技术——逻辑驱动测试
    • 17.3 白盒测试技术——循环覆盖测试
    • 17.4 白盒测试技术——基本路径测
  • 18 软件测试技术及岗位需求介绍
    • 18.1 软件测试岗位需求
    • 18.2 软件测试技术介绍
    • 18.3 软件测试比赛内容
    • 18.4 软件测试岗位应聘简历撰写
进行等价类划分法的原则
  • 1 电子教材
  • 2 PPT

6.2  进行等价类划分的原则

6.2.1  等价类的特点

通过上面的例子可以看出称为等价类数据的共同特点有以下几点:

Ø  测试的内容相同。

Ø  如果等价类中的一个测试能够捕获一个缺陷,那么选择该等价类中的其他测试也能捕获该缺陷。

Ø  如果等价类中的一个测试不能捕获缺陷,那么选择该等价类中的其他测试也不会捕获缺陷。

正确地划分等价类,可以大大减少测试用例的数量,测试会准确有效。如果错误地将两个不同的等价类当作一个等价类,就会遗漏一种测试情况。相反,如果把同一个等价类看作了两个不同的等价类,那么测试就会是冗余的。

6.2.2  等价类划分中的核心要点

为了避免测试用例的冗余或遗漏,如何确定等价类是使用等价类划分方法中的一个重要问题。我们必须在分析需求规格说明书的基础上划分等价类,列出等价类表,从而确定测试用例。下面给出进行等价类划分的几个参考依据:

Ø  若某个输入条件说明了一个必须成立的情况,则可划分一个有效等价类和一个无效等价类。例如在上面的例子中,输入数据除了在-9999之间,还隐含了输入数据必须是数字的条件,这样还可以设置无效等价类为输入字母(或数据中包含字母),有效等价类为输入数字数据。

Ø  若某个输入条件对取值范围或值的个数进行了规定,则可确定一个有效等价类和两个无效等价类。例如,每个输入数据值是从100200,则可划分一个有效等价类,大于等于100且小于等于200;两个无效等价类,小于100的数值和大于200的数值。

Ø  如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。

Ø  若在某个输入条件中对输入数据的一组可能值进行了规定,并且程序是用不同的方式处理每一种值的,则可为每一种值划分一个有效等价类,并针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。例如,在彩票兑奖方案中规定对显示图案为梅花、黑桃、方块和红桃的彩票分别计算中奖金额。因此可以确定4个有效等价类梅花、黑桃、方块和红桃,以及一个无效等价类,它是所有不符合以上花色的彩票的集合。

Ø  如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,C语言规定语句必须以“;”结束,这时就可以确定一个有效等价类以“;”结束,若干个无效等价类以“:”或“,”结束等。

Ø  若已划分的某等价类中的各元素在程序中的处理方式不同,则应当将此等价类进一步划分成更小的等价类。例如把两位数加法的输入划分为输入数字为有效,输入字母为无效,因为当数值大于99和小于-99的时候的处理方式又是不同的,所以要继续把它划分成更小的等价类。

6.2.3  基于等价类进行测试用例设计的一般原则

1)一对多原则

对于有效等价类,测试用例的设计原则是越多越好,即每设计一个新的测试用例,该测试用例应尽可能多地覆盖到尚未覆盖到的那些有效等价类。换句话说,在所有输入条件中,每次应选择必须满足的最小输入集,该集合中每个输入条件覆盖一个关于该条件的有效等价类。

2)一一对应原则

对于无效等价类,每设计一个新的测试用例,该测试用例应仅覆盖一个无效等价类。

一般来说,对于每个等价类,测试数据的选择是从该等价类所包含的所有数据中抽取一个正常值,即该取值范围内的一个较接近中值的数据即可。若输入条件是布尔型条件或逻辑型条件,则不存在典型数据的抽取问题。