作者:qiubole 来自http://www.cnblogs.com/qiubole
此文旨在以检查单的形式,对于一些没有设计测试用例,而进行快速功能测试提供指导。
一、刚进窗口时的测试
1、 每次打开窗体,都要先关闭,再打开一次。对一个窗体测试完了之后,也要关闭后再进入一次。
2、 进入窗体后,要先检查一下窗体的各种情况,很多程序员,喜欢在创建或显示的时候写代码。
3、 先检查一下界面上的布局是否合理。一般公司都有检查单,就按检查单的内容来进行检查一次。如果是界面布局不合好的,在提交问题的时候请尽量客气点,程序员就那点怪脾气,整个一审美盲,做得不好,还不太愿意别人提。
4、 进入之后,先别急着按照说明书去操作,先把能点的,能录的,能拖的都试试,如果涉及到一些可以双击操作的,也没事多双击试试。一般建议,将窗体上所有的按钮都点点,多点几次,花不了多少时间。
二、针对各种控件的测试。
在程序中,有各种各样的控件,特别是在我们的CS程序中,用到很多系统标准的控件,对于标准控件的测试,在此列出,如果自定义的控件,后面再详细列一份,比如我们自己的录入控件。
1、 按钮:一般使用按钮,主要是为了执行一系列的事件,在按钮上,大部分只用到了它的单击(CLICK)方法,我们要注意到这么几点。
a) 如果按钮用来管理状态的,比如,点击按钮,打开,再点击,则关闭这类的,请多点击几次。
b) 如果按钮是用来执行一系列的较长的事件的,则请连续点击,很多程序员不会注意到这一点,快速点击几次,可能就会出问题。
c) 删除按钮,如果按钮是用来删除数据的,请确认点击时,是否有提示,而且提示是否明确,很多时候,程序员为了懒一下,提示往往不明确,比如‘您确认要删除它吗?’之类的,其实是不标准的,标准的应该是‘你确认要删除[0001]号单据吗?’这样一类的。其它的提示请参考检查单。
d) 保存按钮,一般保存按钮,建议是用普通的按钮或可以获得焦点的按钮,如果你发现用的是不能获得焦点的按钮,比如平滑按钮,这就要注意了,很多时候,刚录入一条数据,如果焦点未离开输入框,点击保存时,该录入框的内容是不会被存上的。
e) 退出按钮,通常退出按钮是要用求无焦点的按钮,否则,你录入一条不合法的数据,想退出时,很有可能会被拒绝,要求你输入正确的数据,这就很郁闷了。
f) 其它,正常情况下,每点一个按钮,界面上都需要进行响应,如果你点击一个按钮,界面没有任何反应,这就要提醒开发者了。当然,有些公司规定默认是不响应的,其实这是不太合理的。
2、 单选框:一般情况下,在一组相关的单选框中,一定要有一个默认值,很多程序员会在这里面加上一系列的状态,比如选择第一个单选框,则改变状态,普通情况下出错的可能性不大。
3、 复选框:复选框的作用是可以重复选择,如果复选框选择之后,将其它的复选框清除了,这时候就要注意向开发人员确认了,因为正常情况下,复选框是不允许这样操作,要这样操作,需要用到单选和复选的结合。
4、 标签:对于标签的测试,是比较简单的,主要把握这两个方面。
a) 一是标签的位置,是否与之相关的项目对齐。在一个页面上,如果标签和输入框比较多的情况下,经常会出现位置相差1个象素的情况。
b) 二是标签的焦点,有些标签上,会有加速键列表,比如(员工(A)),你要确认一下,按了Alt+A之后,它对应的焦点是否落在它之后的可获得焦点的控件上。
5、 日期和时间控件:日期选择控件本身是不会出什么问题,但是,与之作用相关的地方,比如根据日期条件进行查询,默认日期时间等会出问题,从以下几个方面考虑。
a) 短日期格式,有一些人在写程序的时候,经常会将日期转换为字符串进行比较,如果经验少的人,会把1990-1-1日变成‘1990-1-1’,这在进行比较的时候可能会出问题,尽量要求开发人员在系统启动的时候,改变系统的短日期格式,使之在日期选择的时候,为‘1990-01-01’这种。
b) 很多语言,用的日期控件,和时间控件是同一个控件,比如(DELPHI),如果开发人员没留意,在进行日期比较的时候,可能就存上了时间了。这样就会导致数据出问题,测试的时候,要把握边界值的方式,比如查询2号到10号的数据,你要想办法,试一下1,2,3,9,10,11这几个值了。
c) 如果日期控件显示的是1899-1-1号,这就要注意了,这表明这个日期没有赋初始值,如果这是一个数据敏感控件,则很可能没有给相应的数据集赋上值。
d) 当然,我们可以强烈建议,程序员给日期控件赋上默认值,当前日期,当前月份的第一天之类的。
e) 成组的日期,比如开始日期和结束日期,这里我们要注意,开发人员是否控制了结束日期必须大于开始日期。
6、 编辑框:很多时间,这是出问题的主要来源,对于编辑框,我们可以从以下方面考虑,其中一些可以对开发人员进行建议。
a) 录入的类型:根据录入的类型不同,测试方法也有所不同,这里给出常见的几种。
i. 纯字符录入
1. 长度,比如名称,要注意,该名称的长度,如果是敏感控件,这一点可以不用考虑,因为控件本身就管理了,如果是非敏感控件,则要注意这一点,否则很有可能就会出现字符被截断的问题。
2. 非法字符,这主要是指一些特定语言的一些转义符,比如\001,之类的,在delphi中,要注意’号,在VB中,要注意”号。同时,如果系统有特殊要求的话,则有时,空格也是不允许的。
ii. 整型的录入,有一些要求必须输入整型的地方,要注意以下几个方面。
1. 非数据和-号,是否能录入字母,其它符号之类的。
2. 最大值和最小值的控制
3. 0和非0值,在很多业务逻辑中,必须要输入大于0的数,看是否控制到位了。
4. 是否能用Ctrl+V键进行粘贴,很多人写代码的时候,会根据敲的键来将非法字符过滤(这可以不用管,很多时候,可以不考虑这点)。
5. 退格键,方向键,删除键是否能用。
6. 是否能输入小数。
iii. 浮点型,和整型前面五点相似,另要补充几点。
1. 是否能输入多个小数。
2. 小数的位数
iv. 日期和时间:看是否能录入正确的日期和时间,离开后应该要判断,其它同上面的日期和时间控件。
b) 取值范围:这就是我们运用黑盒测试中,等价类划分和边界值的最好时机了。详细的就不在这里列了。
c) 系统判断的时机:一般一讲,我们会要求开发人员,在该控件离开时,判断输入的值是否合法。但有很多程序员,只是在按回车键的时候提示,这样就有问题了。
d) 与回车键的关系问题:这也是经常出问题的地方,很多程序员要求在输入值后,按回车,然后会取出另一些相关的值,如果我们敲回车之后,系统取出值,我们再回过头来改这个输入框的值,最后保存时,就会有逻辑问题了。
7、 下拉框。下拉框作为一种录入或选择手段,在很多情况下,它的取值范围,判断时机和回车键的关系与上面的编辑框类似,在此不复述。另要注意几点。
a) 是否允许手工录入的问题,很多下拉框是不允许手工录入的。如果允许手工录入了,看系统是否控制了该录入值的取值范围。
b) 如果之前你测试的时候,是允许手工录入的,程序员改了一次之后,它是不允许手工录入的,你就要注意了,特别是面对DELPHI程序,要特别注意,赋值和取值是否正确。
8、 列表框。要注意以下几方面。
a) 是否允许编辑,大部分列表框应该是禁止编辑数据的。对一个节点,点一次鼠标,稍停一会,再点一次鼠标,就会能看到是否可以编辑。
b) 是否可以复选。
c) 拖动,很多列表框有拖动方面的功能,这时要注意,它拖动的目标,有时候把它拖动到本身,就会出错。
9、 树。在有层次结构的情况下,经常会用到树,我们要注意以下几个方面。
a) 是否允许编辑,大部分树应该是禁止编辑数据的。对一个节点,点一次鼠标,稍停一会,再点一次鼠标,就会能看到是否可以编辑。
b) 拖动,很多列表框有拖动方面的功能,这时要注意,它拖动的目标,有时候把它拖动到本身,就会出错。同时,将上一个节点拖放到它的子节点应该也是不允许的。
c) 不选择树的节点:如果程序中用到了树的节点,这时候你不选择节点,有时候也会是报错的来源。
d) 选择非子节点,如果程序中要求你选择子节点,而你未选择。
e) 树的刷新,有时候,一个树是与当前录入的数据有关的,这时候要查看一下,新增了数据,树是否正常刷新了,删除了数据,更新了数据也同理。
10、 多行文本框,注意以下情况。
a) 回车是否被转移焦点了
b) 如果这是一个SQL语句查询录入框,还要注意,是否能录入DELETE, UPDATE, DROP之类的DCL语句。也就是安全问题。
c) 最大字符数问题。
11、 数据表格,很多程序中,用到了大量的表格,在表格中我们要注意这么几点。
a) 如果只是显示查询结果的表格,要注意,该表格是否是只读,是否可以用Ctrl+delete之类的删除数据。
b) 如果是可编辑的,那么请查看,如果能够点击表头排序,还是否能正常录入数据。
c) 是否能录入重复的数据。
12、 打开和保存对话框:主要是查看是否有扩展名过滤,默认路径。
13、 图表:无限放大和无限缩小。