初级测试用例设计思路
注:下述内容仅为鄙人拙见,欢迎更正指导!!!
测试用例(Test Case)是为了实施测试而向被测试的系统产品提供的一组集合要素表,这组集合要素表内包含:测试环境、操作步骤、测试数据、预期结果等要素。
一份好的测试用例即使是一个不熟悉业务的人也能依据用例来很快的进行测试!!!
一份优秀测试用例的标准:
- 用例表达清晰,测试人员能清楚知道自己在测试什么模块,什么功能。
- 用例操作性强,测试人员能清晰知道自己该如何操作。
- 用例的输入输出明确,一条用例只有一个预期结果。
- 用例的可维护性好,复用性高,可长期进行修改跟进。
- 用例覆盖率高,用最少的操作做最全的测试。
设计一份测试用例可以采取以下几个方面来进行设计
- 功能测试:产品自带的操作功能是否能全部实现
- 界面测试:产品呈现给用户的界面是否符合设计
- 性能测试:产品的性能表现是否符合设计要求,市场需求
- 兼容性测试:产品是否能兼容不同的系统版本、数据
- 易用性测试:产品的操作是否简便,容易上手
- 安全测试:产品自身是否会出现安全隐患,国家标准
测试用例的设计是费时费力的工作,往往设计测试用例所花费的时间比执行所花费的时间还多
泛用的测试用例可参照网上最常见的水杯测试用例加以理解
具体的测试用例如下图所示(刚工作时接的项目)
1. 等价类划分法
等价类是分块/分区的概念。将需求的输入划分若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为这整个等价类就通过。
通过等价类可以用较少的测试用例就可以尽可能多的覆盖功能,可以解决穷举法解决不了的问题。
有效等价类:针对需求文档是合理的、有意义的集合。
无效等价类:针对需求文档是不符的,没有意义的集合。
假设需求:判断某一类的QQ号是有效还是无效:
2. 边界值分析法
可以认为是等价类的补充,在等价类的基础上添加边界值和次边界值的测试用例。一般来讲,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值。
假设需求:判断是否输入6~200位的字符。
则边界值:输入6位的字符,输入200位的字符;
次边界值:输入5位的字符&输入7位的字符&输入199位字符&输入201位字符。
3. 判定表法
通过输入条件和输出动作之间的关系,设定判定表,再根据判定表编写测试用例。
设计步骤:
1. 确定输入条件和输出结果;
2. 找出输入条件和输出结果之间的关系;
3. 画判定表;
4. 根据判定表编写测试用例
假设需求:从银行取钱时,有银行卡,输入正确密码,余额大于取钱数时可以取出
1. 输入条件:有银行卡、密码正确、余额大于取钱数;
输出结果:可以取钱、无法取钱
2. 当输入条件均满足时,可以取钱:不然就无法取出
3. 画判定表
4. 根据判定表编写测试用例
(1)有银行卡,密码不正确,余额大于取款,则不可以取钱;
(2)没有银行卡,密码正确,余额大于取款,则不可以取钱;
(3)有银行卡,密码正确,余额大于取款,则可以取钱;
(4)有银行卡,密码不正确,余额小于取款,则不可以取钱;
(5)没有银行卡,密码正确,余额小于取款,则不可以取钱;
(6)没有银行卡,密码不正确,余额大于取款,则不可以取钱;
(7)有银行卡,密码正确,余额小于取款,则不可以取钱;
(8)没有银行卡,密码不正确,余额小于取款,则不可以取钱
4. 正交实验法
使用:正交表,从大量的实验数据中找到合适的实验数据组合,涉及数学原理:《概率论》《线性代数》《数理统计》。需要数学工具来完成!!!
与判定表法的区别是:判定表法是人工对全排列进行组合,正交试验法是借助数学工具从全排列组合中选出组合组成正交表,测试的时候查看正交表编写测试用例。
原理比较抽象,强烈建议上网搜索相关视频内容学习!!!
5. 场景设计法
根据模拟实际使用场景编写测试用例
6. 错误猜测法
通过资深的测试员提出可能某一类产品可能会出现的错误,来编写一部分的测试用例,算是一种补充。