软件测试-进阶篇:测试技术-等价类划分和边界值划分

测试技术是指导测试人员对被测软件来设计测试用例所使用的技术。 基于规格说明书的测试技术的分类如下:

                

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第1张图片

                    

1. 等价类划分

这是一种典型的黑盒测试方法,把程序的输入域分为若干部分,然后从中部分选取少数代表性的数据作为测试用例。

等价类分为有效等价类和无效等价类,如图所示:

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第2张图片

有效等价类:
指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。
有效等价类可以是一个,也可以是多个。

无效等价类:
和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第3张图片

1.1 有效等价类的划分

  • 终端用户输入的命令
  • 与最终用户交互的系统提示
  • 接受相关的用户文件的名称
  • 提供初始化值和边界等
  • 提供格式化输出数据的命令
  • 在图形模式(比如鼠标点击时)提供的数据
  • 失败时显示的回应消息

1.2 无效等价类划分

  • 在一个不正确的地方提供适当的值。
  • 验证边界值
  • 验证外部边界的值
  • 用户输入的命令
  • 最终用户与系统交互的提示
  • 验证与边界和外部边界值的数值数据

1.3 等价类划分的原则

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第4张图片

1.3.1 等价划分原则1

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第5张图片

1.3.2 等价划分原则2

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第6张图片

1.3.3 等价划分原则3

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第7张图片

1.3.4 等价划分原则4

  

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第8张图片

1.3.5 等价划分原则5

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第9张图片

 1.3.6 等价划分原则6

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第10张图片

1.4 建立等价类表

要求输入变量 month和 year 均为整数值,并且满足下列条件:①1≤month≤12    ②1920≤year≤2012

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第11张图片

1.5 确定测试用例

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第12张图片

2. 边界值法

就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界

软件测试-进阶篇:测试技术-等价类划分和边界值划分_第13张图片

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据 。

2.1 常见的边界值

  • 对16-bit的整数而言,32767和-32768是边界
  • 屏幕上光标在最左上和最右下的位置
  • 报表的第一行和最后一行
  • 数组元素的第一个和最后一个
  • 循环的第0次,第1次和倒数第二次,最后一次

2.2 示例

用边界值分析法,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取()边界值 ?

A、X=9,X=10,X=50,X=100
B、X=10,X=11,X=99,X=100
C、X=9,X=10,X=100,X=101
D、X=10,X=100

边界值分析法设计测试用例时,应选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据.根据题意,选X=10,X=11,X=99,X=100

完整的测试用例应该还考虑无效值,根据实际需求,可以再选X=9,X=101这两种情况。 

3. 题外话 :测试人员的素质培养法则

  • 应对软件测试感兴趣和对自己有自信
  • 善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的
  • 打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。
  • 保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来。
  • 做测试时要细心,不是所有的bug都能很容易的找出。
  • 不要让程序员,以这种情况不可能发生这句话来说服你,相反,你应该去说服他,告诉他在客户心理,并不是这样的。

你可能感兴趣的:(软件测试知识,测试用例)