6个方面 一、设计测试用例的万能思路( 三 )


判定表法的优势
适用优势:需要考虑输入输出之间的组合关系,不同的组合对应的输出结果不一致 。
因果图&判定表
因果图画判定表法比较多余,而且因果图实际在设计测试用例的时候并没有多大的意义 。
判定表当中根据输入、输出结果已经得出了测试用例了 。
⑤正交法 下面有一个需求是:
用户注册信息填写:姓名、电子邮箱、密码、确认密码、验证码 。
那么,可以认为:
因素数(输入条件):
姓名、电子邮箱、密码、确认密码、验证码 。
水平数(输入条件的可选项):
对于因素数当中的内容,选择填写/不填写 。
下面,需要借助一个工具:来生成正交表 。
下载的步骤:
下载官网: - , Inc.
然后点击下载:
下载到本地磁盘当中的时候,需要进行解压缩,变成一个普通的文件夹 。
然后,在pairs文件夹当中,写一个excel表格 。接下来,可以在excel表格当中填写因素数&水平数
填写完成之后,在pairs目录下面,新建一个文件夹,命名为:革凡成圣.txt
然后,打开cmd,切换到pairs所在的目录:
接着,继续在cmd当中输入以下内容:
.exe 革凡成圣.txt>hello.txt
那么,这样的话,就可以生成正交表了 。
4、补充其他测试用例
使用生成的内容,不一定完整 。于是,还需要新增一些其他的测试用例 。
然后,根据这些测试用例进行测试 。
⑥场景设计法(了解)
主要分为基本事件流和多个备用事件流 。
基本事件流:
对于一个场景的最基本的事件流 。
备用事件流:
对于一个业务可能发生异常情况的场景进行测试 。
三、如何针对代码进行测试用例设计?
面试的时候,有时候面试官会让我们手写一段代码,例如(冒泡排序),那么对于这一类题型,我们应该怎样测试呢?例如下面的冒泡排序:
private static void bubble(int[] array) {//设计的思路:第一个:从参数上面进行设计for(int i=0;iarray[j+1]){int tmp=array[j];array[j]=array[j+1];array[j+1]=tmp;}}}}
步骤1:从参数上面进行测试
也就是此处传入的参数
有效等价类:
int类型、数组
无效等价类:
比如:
数组类型:类型的数组、float类型数组,byte类型的数组等等;
其他对象类型:或者字符串类型,数字类型,集合类型等等;
长度:过大?过小等等;
步骤2:从代码逻辑上面来讲
对于循环语句、if条件判断等语句进行测试:
在上图的代码当中,对于最外层的循环进行标号:a,
第二层的for循环进行标号:b;
第三层的if语句进行标号:c
进行如下代码可能执行到的组合:ab,abc、ab否c进行测试;
需要注意的是,不可以从不
步骤3:从代码性能上面进行测试
考虑数组如果长度过大,时间是否超时?空间复杂度会不会超
步骤4:考虑运行的异常情况
【6个方面一、设计测试用例的万能思路】传入的参数是否会导致代码运行异常