软测(三)测试用例基本介绍

前言

本章主要讲述测试用例的概念及基本使用介绍
ps:现在真有点头昏脑涨.虽然这么晚了,但肯定要把今天所学的总结完才睡觉



一、概念

测试用例(Test Case):是为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据。

  • 简单来说,测试预期是否等于实际结果,是则通过,否则有bug
  • 而测试用例主要解决的问题是要测什么?怎么测?

例:买手机,按开机键(相当于输入了一组数据来测试),执行条件指的是开机的前提条件,比如是否有电;预期结果就是能顺利打开手机,那么测试完毕后,是否达到了想要的需求(顺利开机)


二、测试用例方法

1.等价类划分法

1)概念

  • 它是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

例如:计算器的测试,由于一个一个测试效率低下,你不可能每一个数都加一遍,所以一定要分类测试.将输入数字划分为:
1、整数(在范围内的整数-99到99)取最大、最小、中间
2、小数(在范围内的整数-99到99)
3、符号(±/,。、!@#¥%……&())
5、汉字
6、空格
7、不输入

2)等价类划分

  • 有效等价类:指符合《需求规格说明书》,输入合理的数据集合
  • 无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合

3)等价类思考步骤

  • 1、先确定有效和无效等价类
  • 2、有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
  • 3、无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、符号、空格、空)

4)例题展示

例:计算 1—100的整数之和(包括1和100)

  • 分析:先根据题意列出有效和无效等价条件
    有效等价条件:[1,100]的整数(一般要测临界值及中间任意一个值)
    无效等价条件:
    1)<1 or >100的数
    2)小数
    3)中英文字母
    4)特殊符号(¥%&…)
    5)空格,及空

采用列表展示
软测(三)测试用例基本介绍
一般是一个框输入正确的值,一个框输入错误的值,没有两个框都输入错误的值,因为更容易确定到底是哪个框出现错误的值。

5)总结

  • 当我们在测试文本框的程序可以考虑如下的情况:

1、考虑输入长度
2、考虑输入类型
3、组成规则
4、是否为空
5、是否区分大小写
6、是否重复
7、是否去除空格

2.边界值分析法

1)概念

  • 边界是指对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。边界值分析法也是一种常用的黑盒测试方法(它与等价类分析法是相辅相成的)

例如:程序员将输入的参数值必须大于0同时小于100的整数的语句,边界条件设置错误:把>写成了>=,把<写成了<=.

其中有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,所以也是测试人员重点测试的内容。

2)如何解决这类问题

  • 具体测试用例书写思路:找到边界值和它两端的值,分别进行测试;

例如(计算器测试0-100间的整数):一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试

3)注意:边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到。(闭两边、开中间
软测(三)测试用例基本介绍

4)例题展示

练习:修改手机银行登录密码:密码必须由字母与数字组合,密码长度在8~24之间(包含8和24)

  • 分析:8边界7,9;24边界23,25;

软测(三)测试用例基本介绍

5)边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件

3.因果图(了解即可)

1)概念

因:输入条件
果:输出条件、出结果
适用于输入条件之间有相互制约、相互依赖的情况;

2)特点

考虑输入条件的相互制约及组合关系
考虑输出条件对输入条件的依赖关系

3)因果图中的符号
软测(三)测试用例基本介绍
1、恒等(-) :有因就有果,没有因就没有果
2、非(~) :有因没有果,没有因有果
3、或(^) :条件有一个是真,结果就是真,条件都是假,结果才是假
4、且(V):条件都为真,结果才是真,一个条件为假,结果就是假

4.判定表

1)组成部分:

  • 1、条件桩:所有条件
  • 2、动作桩:所有结果
  • 3、条件项:针对条件桩的取值
  • 4、动作项:针对动作桩的取值

2)书写步骤:

  • 1、列出所有条件和动作桩
    2、填写条件和动作桩中的项目
    3、简化判定表

注意:如果出现“-“代表此选项不影响最终结果。

3)例题展示

练习:交通一卡通自动充值软件系统需求如下:

系统只接收50或100元纸币,一次只能使用一张纸币,一次充值金额只能为50元或100元。
若输入50元纸币,并选择充值50元,完成充值后退卡,提示充值成功;
若输入50元纸币,并选择充值100元,提示输入金额不足,并退回50元;
若输入100元纸币,并选择充值50元,完成充值后退卡,提示充值成功,找零50元;
若输入100元纸币,并选择充值100元,完成充值后退卡,提示充值成功;
若输入纸币后在规定时间内不选择充值按钮,退回输入的纸币,并提示错误;
若选择充值按钮后不输入纸币,提示错误
软测(三)测试用例基本介绍

  • 分析:
    1、找到所有输入条件编号
    2、找到所有输出条件编号
    3、找出所有输入、输出的制约关系

  • 输入:
    1.输入50元
    2.输入100元
    3.选择充值50元
    4.选择充值100元

  • 输出:
    1.完成充值、退卡
    2.提示充值成功
    3.找零
    4.提示错误

  • 分析输入输出的制约关系即可,划表如下所示:1代表操作
    软测(三)测试用例基本介绍

5.场景法
  • 主要用来测试业务流程;
  • 分为基本流(正确流程)和备选流(错误流程)
    基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
    备选流 :导致程序出现错误的操作流程(模拟错误的操作流程)

在冒烟测试中主要采用场景法来测试;

6.流程分析法

适用于有先后顺序的测试(常用于业务流程、安装流程);
每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法进行完善;

7.错误推测法
  • 凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的;
8.正交排列法
  • 是一种全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比)高效率、快速、经济的方法。当由于组合量太大,不可能为每一种组合都创建测试用例。如何采用最少的测试用例集合获得最大的测试覆盖率——采用正交排列法

1)正交表的概念

  • 一种特制的表,一般的正交表记为:Ln(m^k)

n是表的行数,也就是需要测试组合的次数
K是表的列数,表示控件的个数(因素的个数,或因子个数)
m是每个控件包含的取值个数(各因素的水平数,即各因素的状态数)
如:L9(3^4):叫4因素3水平,代表有4个控件,每个控件有3个取值,9为需要测试的组合个数

2)例题展示

案例:字符属性设置程序:窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值
字体:仿宋、楷体、华文彩云
字符样式:粗体、斜体、下划线
颜色:红色、绿色、蓝色
字号:20号、30号、40号

  • 分析:

步骤一:根据所测程序中控件的个数以及每个控件的取值个数,选取一个合适的正交排列表4个控件(因素)字体、字符样式、颜色、字号,每个控件有3个取值(水平),所以选择L9(3^4) 正交排列表.

步骤二:把控件及其取值列举出来,并对取值进行编号
软测(三)测试用例基本介绍
步骤三:把控件及其取值映射到正交排列表中
1、把正交排列表中的A、B、C、D(因子)分别替换成4个控件
软测(三)测试用例基本介绍
软测(三)测试用例基本介绍

3)混合正交表

  • 水平数不同:因素(变量)的水平数(变量的取值)不相同

例:
软测(三)测试用例基本介绍
找不到现成的正交表,就只能使用正交表生成工具allpairs来生成

  • 使用步骤:

1、制作取值表(只列出数据即可,不用编号)
2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt )
3、把文本文档放在allpairs文件夹中
4、win+r后输入cmd进入控制台
5、使用控制台代码进入allpairs文件夹
6、在控制台中输入allpairs.exe Test2.txt>success.txt ( success是自己起的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)



三、测试方法的选择

  • 通常在确定测试方法时,有以下几条参考原则(1/2):

1、如果测试功能和流程,要使用场景法

2、需要输入数据的地方,我们要使用等价类划分法,要注意配合边界值法来做详细测试

3、如果有条件组合的情况,我们要使用因果图制作出判定表

4、配置类软件,组合比较多的,我们要使用正交表来科学的选择测试用例

5、如果没有达到覆盖标准,就要增加一些测试用例

6、依靠经验追加一些测试用例(错误推断法)