一、测试用例的概念
测试用例是为特定目标而开发测一组测试输入、执行条件和预期结果,其目标可以是测试某个程序路径或核实是否满足某个特定的需求。
二、测试用例的编写
1、测试用例文档的编写
编写测试用例文档应有文档模板,需符合内部规范要求。测试用例文档又分为简介和测试用例两部分。
简介包括:测试目的、测试范围、定义术语、参考文档、概述等;
测试用例:测试用例编号、用例名称、测试等级、入口准则、验证步骤、期望结果、出口准则。
三、测试方法
1、等价类划分法
软件测试中,不可能穷举法把所有可能输入结果输入进去验证一遍,这时为了找到每一个缺陷,就要用到等价类划分法。
(1)、有效等价类
对程序的规格说明是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明所规定的功能和性能。
(2)、无效等价类
对程序规格说明来说是不合理的、或者无意义的数据构成的集合。软件不仅要接受合理数据,也要接受不合理数据的考验,这样的测试才能保证软件具有更高的可靠性。
(3)、等价类划分的标准
(一)、完备测试、避免冗余
(二)、集合的划分,划分避免子集相交
(4)、设计测试用例的步骤
步骤一:形成等价类表,为每个等价类规定一个唯一的编号,如Y1、Y2
步骤二:设计一个新的测试用例,尽可能多的 覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类
步骤三:设计一个姓的测试用例,竟可能多的覆盖尚未被覆盖的无效等价类,重复这一步,直到测试用例覆盖里所有的无效等价类
2、边界值分析法
边界值分析法就是对输入或输出的边界进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,在这种情况下,其测试用例来自等价类的边界。
使用边界值分析方法,通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
3、决策表分析法
决策表又称为判定表,是是多种逻辑条件下执行不同操做的技术。
(1)决策表的组成
条件桩:列出所有条件,通常认定条件的次序无关紧要
动作桩:列出问题可能采取的操做,这些操做的排序顺序没有约束
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
动作项:列出在条件项的各种取值情况下应该采取的动作。
规则:任何一个条件组合的特定取值及其相应要执行的操作。在决策表中贯穿条件项和动作项的一列就是一条规则。显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。
(2)、测试用例的设计
步骤一、列出所有条件桩和动作桩
步骤二、确定规则的个数。假设有n个条件,每一个条件有m个取值,则共有mn种规则
步骤三、填入所有条件项和动作项,得到初始决策表
步骤四、对初始决策表不断简化,直至无法简化
步骤五、根绝决策表设计测试用例
eg、问题描述:“.....对于功率大于50马力的机器,并且维修记录不全或运行10年以上的机器, 应给予优先维修”
1、列出所有条件桩或动作桩
条件桩:C1:功率大于50马力吗?
C2:维修记录不全吗?
C3:运行超过10年吗?
动作桩:A1:进行优先处理
A2:做其他处理
2、确定规则数
规则数=2的条件个数方=8
3、填入条件项和动作项
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
条件项 | C1:功率大于50马力了吗? | Y | Y | Y | Y | N | N | N | N |
C2:维修记录不全吗? | Y | Y | N | N | Y | Y | N | N | |
C3:运行超过10年吗? | Y | N | Y | N | Y | N | Y | N | |
动作项 | A1:进行处理 | √ | √ | √ | √ | √ | |||
A2:其他处理 | √ | √ |