“三步骤法”数据限定测试中输入控件的测试方法归总
GUI软件“层单元”测试“三步骤法”以专栏形式作了探讨,其中包括了“篇一~篇四”和“实验设计方法正交表在GUI软件测试中的实际应用”。可是,“三步骤法”中对GUI软件输入控件的“数据限定测试”并没有进行详细说明,这里我们用专题作一作具体分析和讨论。
在“三步骤法”中,“数据限定测试”是首先执行的步骤,主要作用是提前测试包括数据边界在内的最有可能出现的数据问题和差错,尽早发现Bug避免问题累积和以后的返工,以此提升测试效率并保证软件测试活动更加顺利。因此,在GUI软件的“三步骤法”实施中,输入控件的“数据限定测试”也是实施的重点。
不同于过去的软件测试主要以函数和子程序为基本框架,GUI软件的测试有了新的内容和形式,输入控件的“数据限定测试”就是其中一个重点。这里以微软的IDE为主要参考,讨论输入控件的“数据限定测试”,其他的大家可以类推。
在微软可视化的IDE中,Checkbox控件、单选Button控件都是两值选择控件,它们的输入只有“选取/选用”和“不选取/不选用”两个值。因此,Checkbox控件、单选Button控件“数据限定测试”可以通过“点击选取”和“取消点击选取”完成,在此不予更详细说明了。大家可以注意的是,GUI软件的Hotkey控件、工具栏的按键、菜单项及其快捷键要作为功能测试的内容,其中包括Ribbon控件中的工具栏及菜单栏。以下就编辑框控件、组合框控件、控件组拼以及Ribbon控件作具体讨论。
1 EditBox/RichEdit(编辑框)控件
一般地,编辑框控件的“数据限定测试”要按输入数据的不同类型分别进行测试。具体可分为字符型数据、整型数据、浮点型数据、布尔型数据和字节型数据五类,以下分别讨论。
1.1 字符型数据
对输入数据为字符型数据的编辑框,可用键盘输入大写“T”-Testing首字母的方式进行测试。具体测试方式是:软件实际运行后不要执行数据/参数输入,仅选中编辑框控件,键盘转换至大写方式,在编辑框控件中不间断键入大写“T”并记下敲击次数,当听见计算机有发声之时停止。累计敲击次数,若小于规格说明书和编程时设定的上限,则给出通过测试的结论。否则,给出不通过的测试结论。
1.2 整型数据 - 其中有无符号整型、短整型/WORD、长整型/DWORD等
采用实际运行程序且执行数据/参数输入的方式进行,并测试上下限两种情况。(1)测试上限 - 实际运行的输入数据的数值要比规格说明书和编程时设定的上限再加1个单位,运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。(2)测试下限 - 实际运行的输入数据数值要比规格说明书和编程时设定的上限再减1个单位,运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。
1.3 浮点型数据 - 其中有一般浮点型、双精度型等
采用实际运行程序且执行数据/参数输入的方式进行,注意依据精度并测试上下限两种情况。(1)测试上限 - 实际运行的输入数据的数值要比规格说明书和编程时设定的上限再加1个单位(例如若精度0.1,则0.1为1个单位),运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。(2)测试下限 - 实际运行的输入数据的数值要比规格说明书和编程时设定的上限再减1个单位(例如若精度0.1,则0.1为1个单位),运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。
1.4 布尔型数据
采用编辑框输入布尔型数据的情况很少,可仿照1.1字符型数据以“真/TRUE/1”和“假/FALSE/0”形式进行测试便可。
1.5 字节型数据
实际上,字节型数据就是整型数据,只是规定取值范围是-128~127。因此,可仿照1.2整型数据进行测试便可。
2 ComBoBox/ComBoBoxEx (组合框)控件
相似地,组合框控件的“数据限定测试”要按五类输入数据 - 字符型数据、整型数据、浮点型数据、布尔型数据和字节型数据分别进行测试。
2.1 字符型数据
对输入数据为字符型数据的组合框,可用键盘不间断键入大写“T”的方式进行测试。此时和编辑框不同的是,还要依据编程给出的组合框宽度进行分别测试,分两种情况:(1)编程给出的组合框宽度小于规格说明书和编程时设定的上限;(2)编程给出的组合框宽度大于规格说明书和编程时设定的上限。具体测试方式是:
2.1.1 组合框宽度小于规格说明书和编程时设定的上限 - 可首先目测观察
选中组合框控件,键盘转换至大写方式,在组合框控件中不间断键入大写“T”并记下敲击次数,当听见计算机发声出现之时停止。累计敲击次数,若小于规格说明书和编程时设定的上限,则给出通过测试的结论。否则,给出不通过的测试结论。
2.1.2 组合框宽度大于规格说明书和编程时设定的上限 - 敲击次数超出设定的上限
采用实际运行程序且执行数据/参数输入的方式进行。实际运行的输入数据个数要比规格说明书和编程时设定的上限多1个数值(例如若原给定字符数为“TTT”,此时增加至“TTTT”),运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。
2.2 整型数据 - 其中有无符号整型、短整型/WORD、长整型/DWORD等
组合框输入数据为整型数据,一般采用实际运行程序且执行数据/参数输入的方式进行,并测试上下限两种情况。(1)测试上限 - 实际运行时从组合框输入数据的数值要比规格说明书和编程时设定的上限再加1个单位,运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。(2)测试下限 - 实际运行时从组合框输入数据的数值要比规格说明书和编程时设定的上限再减1个单位,运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。
2.3 浮点型数据 - 其中有一般浮点型、双精度型等
组合框输入数据为浮点型数据,必须采用实际运行程序且执行数据/参数输入的方式进行,注意依据精度并测试上下限两种情况。(1)测试上限 - 实际运行时从组合框输入数据的数值要比规格说明书和编程时设定的上限再加1个单位(例如若精度0.1,则0.1为1个单位),运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。(2)测试下限 - 实际运行时从组合框输入数据的数值要比规格说明书和编程时设定的上限再减1个单位(例如若精度0.1,则0.1为1个单位),运行后给出错误提示,则给出通过测试的结论。否则,给出不通过的测试结论。
2.4 布尔型数据
采用组合框输入布尔型数据的情况也是很少的,可仿照2.1组合框输入字符型数据相似地以“真/TRUE/1”和“假/FALSE/0”形式进行测试便可。
2.5 字节型数据
因字节型数据实际上就是整型数据,只是规定取值范围是-128~127。因此,仍可相似地仿照2.2组合框输入整型数据进行测试便可。
3 Span(微调)控件组拼
一般地,Span(微调)控件可和EditBox(编辑框)控件进行组拼,以实现整型数值数据的上下限控制。此时,“数据限定测试”要按输入数据为整型数据类型进行上下限测试。
(1)测试上限 - 程序实际运行时,持续点击右边Span(微调)控件向上的箭头,将EditBox(编辑框)控件中的数值上调至最大值。若此最大值和规格说明书和编程时给定的值相等,则给出通过测试的结论。否则,给出不通过的测试结论。
(2)测试下限 - 实际运行时,持续点击右边Span(微调)控件向下的箭头,将EditBox(编辑框)控件中的数值下调至最小值。若此最小值和规格说明书和编程时给定的值相等,则给出通过测试的结论。否则,给出不通过的测试结论。
4 ListControl(列表视图)控件组拼
ListControl(列表视图)控件常为不可编辑输入的控件,将其和EditBox(编辑框)控件进行组拼便可实现编辑输入。一般有两种方式:(a)在单元格直接添加EditBox(编辑框)控件;(b)通过编程将EditBox(编辑框)控件添加至单元格。因采用的方式不同而应采用不一样方式的“数据限定测试”,以下分别讨论。
(1)在单元格直接添加
此种形式的添加,影响布局且不甚灵活,其“数据限定测试”一般不必运行程序作数据/参数输入,可直接依据本篇1中编辑框的测试方法进行测试。
(2)通过编程添加至单元格
此种形式的添加,必须运行程序作数据/参数输入。通过比较规格说明书和编程时设定的上下限,如果超出设定值,要求运行程序时给出错误提示。具体测试方法,也可依据本篇1中编辑框的测试方法进行测试。注意,此时在列表视图控件中仅测试此类中一个编辑框便可。
5 TreeControl(树形)控件
TreeControl(树形)控件可作为输入控件,但要在编程时进行特别处理。一般,初始的各节点字符串通过初始编程或通过执行其他输入控件(编辑框控件、组合框控件等)进行输入,此时的“数据限定测试”按此篇1中编辑框和2中组合框的测试方法进行测试。树形控件自身的“数据限定测试”有两种情况:(1)通过设置完成树形控件节点的可编辑输入后,各节点的编辑输入要作独立的“数据限定测试”,具体办法是 - 选中一个节点进入可修改编辑状态,不间断键入大写“T”并记下敲击次数,当听见计算机发声之时停止。累计次数若小于规格说明书和编程时设定的上限,则给出通过测试的结论。否则,给出不通过的测试结论。(2)编程时在树形控件的节点添加了Checkbox复选框等控件,则按所添加控件类型的测试方法进行“数据限定测试”。
6 Ribbon控件
Microsoft为改进GUI易用性和效果,发明了新Ribbon型控件。Ribbon控件按功能对传统的各种类型控件组件进行了分类合并,其中包括了数据/参数输入控件和纯功能触发控件。因此,Ribbon控件的“数据限定测试”仅测试数据/参数输入控件便可。Ribbon控件中的数据/参数输入控件按各自类别进行“数据限定测试”,其中的编辑框控件和组合框控件分别按此篇1中编辑框和2中组合框的测试方法进行测试。