一 测试用例原则
- 测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等.
- 测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果.
- 测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。
二 需求覆盖要求
- 边界值分析法:
- 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越 这个范围边界的值作为测试输入数据。
- 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最 大个数多一的数作为测试数据。
- 根据规格说明的每个输出条件,使用前面的原则1。
- 根据规格说明的每个输出条件,应用前面的原则2。
- 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元 素和最后一个元素作为测试用例。
- 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值 作为测试用例。
- 等价类划分法:
- 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
- 在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可以确立一个有效等价类和一个无效等价类。
- 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
- 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
- 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
- 因果图法:
在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法。(因果图/判定表法比较适合测试组合数量较少的情况,一般少于20种)
- 功能图法
功能图是描述程序状态变化、转移的过程,因为软件运行或操作的过程可以看作是其状态不断发生变化的过程。测试用例的设计就是如何覆盖所有软件表现出来的状态,即在满足输入/输出的一组条件下,软件运行是一系列有次序的、受控制的状态变化过程。
- 错误推测法
推测法主要依赖经验、直觉来作出简单的判断甚至是猜测,给出可能存在缺陷的条件、场景等,在找到缺陷后,设计出相应的测试用例。
- 正交实验设计方法
主要步骤:
- 对软件需求规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。
- 根据基本功能的质量需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。
- 确定待测试软件中所有因素及其权值,这是测试用例设计的关键,确保全面、准确。权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。
- 加权筛选,生成因素分析表。
- 利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。 利用正交实验设计方法设计测试用例,可控制生成的测试用例数量,覆盖率高且测试效率高。
- 接口间测试
测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。
- 数据库测试
依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据调用关系进行测试。
- 可理解(操作)性
理解和使用该系统的难易程度(界面友好性)。
- 可移植性
在不同操作系统及硬件配置情况下的运行