一、测试用例基本要素
1. 测试用例概念:(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。
2. 如何评价测试用例
用例表达清楚,无二义性;
用例可操作性强;
用例的输入输出明确,一条用例只有一个预期结果;
用例的可维护性好;
用例对需求的覆盖率高;
暴露程序Bug的能力强。
3. 用例要素大致包括:标题、用例编号、测试思路、预设条件、步骤、预期结果等。
二、测试用例的设计方法
1. 总体设计方法:基于需求的设计,RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效,因为它使测试专注于质量问题产生的根源,即需求。
原则:
- 验证需求是否正确、完整、无二义性,并且逻辑一致。
- 要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。
注意:有多细致的需求,就有多细致的需求用例。
2. 具体设计方法:等效类、边界值、因果图、正交法、场景设计法、错误猜测法
等效类:针对输入无法全覆盖,需要根据需求把输入分为若干个等价类,从每一个等价类中寻出用友代表性的数据进行测试,如果测试通过,我们就说这个数据代表的等价类测试通过。
- 目的:解决输入无穷的一种测试用例设计方法
- 有效等价类:符合规格书明,对程序来说有意义的数据集合
- 无效等价类:不符合需求规格说明的
边界值:针对输入输出边界的一种测试,属于黑盒测试方法。
- 备注:通常边界值和等价类结合在一起进行测试用例设计
因果图:表示输入和输出关系的一种逻辑图。
- 使用场景:当需要有多个输入的时候,并且需求的输出和输入相关时,我们就用因果图法
因果图法逻辑关系:
- 恒等:输入为真,输出为真;
- 与:当输入有多个条件(大于一个),并且这多个条件都为真时,那么输出为真;
- 或:当输入有多个条件,只要一个条件为真,那么输出为真;
- 非:输入为假,输出为真。
因果图设计测试用例的步骤:
找出可能的输入和输出
找出输入和输出之间的关系
画因果图
根据因果图去画判定表
根据判定表生成测试用例
正交法:利用正交性,画出正交表,寻找出有代表性的点,针对这些数据进行测试用例的设计和测试结果的分析,用以一段整体代码的实验情况。
举例:进行一个系统注册,包括用户名、邮箱、密码、确认密码、验证码。此时,
因素:待考察的变量(C),因素数:5
水平:考察变量(因素)的取值(T),水平数:2
行数:L=N(CT)=(水平数-1)*因素+1
正交表的性质:
- 每一列中数字出现的次数一样多;
- 在任何两列中,各个有序对数出现的次数一样多。
场景设计法:将多个功能点组合在一起形成事件流,根据不同的事件触发,形成不同的场景。
- 基本流:没有异常事件发生的条件下的场景
- 备选流:发生了异常情况的场景
错误猜测法:是经验丰富的测试人员喜欢用的一种方法,其依据是直觉与经验,用户的反馈以及故障库中的Bug
- 备注:其只适用于其他测试用例设计法设计完测试用例后,进行测试用例的补充。