软件测试基础知识三(浅谈测试用例)

一个人学习不如和大家一起学习,群里有学习资料,欢迎你加入软件测试交流群,群号:1062843742。 什么是测试用例 测试用例是为某个特殊目标而编制的一组测试

一个人学习不如和大家一起学习,群里有学习资料,欢迎你加入软件测试交流群,群号:1062843742。

什么是测试用例

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

通俗的讲:就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来

测试用例的必要性

  • 理清思路,避免遗漏(把测试项目按功能细分,根据每个功能来编写测试用例,避免漏掉功能点)
  • 引导测试,测试规范(测试工作不是只测试一次的,用例可以让我们每次都是都有一个规范)
  • 跟踪进展(通过执行用例可以很清楚的指导测试的进度)

用例评审的必要性

  • 保证设计的用例能覆盖完全
  • 保证测试人员与开发人员的一致性
  • 确保提交给客户高质量的成功
  • 评估工作量

用例的要素

  八大要素:用例ID、用例名称、测试项目/模块、优先级别、预制条件、测试输入、操作步骤、预期结果

  其他:测试结果、作者、创建时间、修改时间

设计测试用例的方法

 等价类

等价类划分,就是将测试的范围划分成几个互不相交的子集,从每个子集选出若干个有代表性的值作为测试用例。

例如,我们需要参数一个用户名是否合法,用户名定义为:8位数字组成的字符

我们可以先划分子集:空用户名1-7位数字8位数字9位及以上数字非数字

然后从每个子集中选出若干个又代表性的值:

空用户名:""(无效等价类)

1-7位数字:"12345"(无效等价类)

9位及以上数字:"000000000"(无效等价类)

非数字:"!@#¥"(无效等价类)

8位数字:"12312312"(有效等价类)

其实非数字还可以划分的更细比如字母、字符串。那么怎么划分才合适呢,我们可以根据我们的时间和资源来决定,还有对结果产生的意义。

边界值

边界是很容易出错的地方,所以设置边界值的用例是必要的。

设计边界值的用例,若区间是min-max应选取:min- min 中位数 max max+

例如:x为整数,10 <= x >= 20,那么x的边界值为 9、10、15、20、21

错误推断法

错误推断法是指:在测试程序时,人们根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地比编写检查这些错误的测试用例方法。

判定表法

  • 又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会的到一个判断清晰的策略表
  • 基本概念
    • 条件桩:输入条件
    • 动作桩:结果
    • 条件项:输入条件取值的全部组合
    • 动作项:条件项对应的所有的结果
    • 规  则:一组条件与动作的组合,一条规则对应一条测试用例

实例

问题描述:“对于功率大于50马力的机器并且维修记录不全,或已运行10年以上的机器,应给予优先的维修处理”

条件桩:

C1:功率大于50马力

C2:维修记录不全

C3:运行超过10年

动作桩:

A1:优先处理

A2:非优先处理

生成判定表

合并判定表:

从编号1、2可以看出功率大于50马力并且维修记录不全的机器不管是否超过10年都设为优先

从编号5、7可以看出只要超过10年的机器设置为优先

从编号6、8可以看出只满足功率大于50或者维修记录不全,设为非优先处理

和并之后的表如下

这样,我们就可以得到更清晰的逻辑判断,也可以更好的协助我们编写测试用例。而决策表,对于开发人员来说一样有用。

正交实验法

目的

是以少数的替代全面的用例(也就是以较少的用例覆盖尽可能多的可能性)

例子

某所大学通信系共两个班级,刚考完一门课程,想通过“班级”、“性别”、“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询。

如果进行穷举来编写测试用例,组合个数是2*2*2 = 8。如下表

当组合条件少的时候,穷举暂时没有问题,但是一旦多了就要用到正交表了,通过有代表性的测试实例,达到以少数代替全面的效果。

正交表的基本概念

因素K:被测的元素称为因素,例如上面的性别、班级、成绩均为因素。所以上述例子中K=3

水平M:因素的可能值称为水平,例如上面性别的可能性男和女此处正好每个因素的水平都为2,所以M=2

正交表行数N:N的计算公式为N = K*(M-1)+1,带入上面的KM, N = 3 *(2-1)+1 = 4

我们通常用L表示正交表,完成的表示为LN(MK)

如果每个因素的水平相等我们成为单一水平正交表,例如本例子就是,L4(23)

各列水平数不完全相同的正交表成为混合水平正交表。如L8(4124)表示:有一个因素的水平为4,有4个因素的水平为2

有个这个表达式,我们可以在http://support.sas.com/techsup/technote/ts723_Designs.txt查到,其正交表的格式为:

23     n=4
000
011
101
110
此处0,1是对可能值的编号,例如,我们可以将(0,1)分别映射为(女,男)(1班,2班)(及格,不及格)
  按照上面的格式,
  000:女  1班  及格
  011:女  2班  不及格
  101:男  1班  不及格
  110:男  2班  及格
这就是我们所得到的正交表。

 

标签: 软件测试 穷举