首页 > 代码库 > 以后再也不愁怎么写测试用例了
以后再也不愁怎么写测试用例了
-
1、什么是测试用例?
测试用例是执行测试前由测试人员编写的指导测试的文档。测试用例主要解决测什么、怎么测、如何衡量的问题。
-
2、测试用例的组成包括:
用例编号
用例描述:记录测试的步骤,用到的数据
预期结果:按照用例步骤操作,应该出现什么结果
测试目的:说明为什么要设计这条用例,测试点是什么
-
3、编写用例参考什么内容?
文档:需求文档、开发文档、用户手册
对着相应的软件编写
讨论
-
4、编写测试用例的方法:
1)等价类划分、边界值
2)因果图、判定表
3)正交排列方法、场景法
4)状态转换图方法
5)测试大纲方法
一、文本框为字符型
必填项非空校验:
1、必填项未输入--程序应提示错误;
2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;
字段唯一性校验:(不是所有字段都作此项校验,视实际项目情况而定)
1、新增时输入重复的字段值--必须提示友好信息;
2、修改时输入重复的字段值--必须提示友好信息;
字段长度校验:
输入[最小字符数-1]--程序应提示错误;
输入[最小字符数]--OK;
3、输入[最小字符数+1]--程序应提示错误;
4、输入[最大字符数-1]--OK;
5、输入[最大字符数]--OK;
输入[最大字符数+1]--程序应提示错误;
?字段为特殊字符校验:
1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;
2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合 ;
3、所有特殊字符都必须进行测试
?字段为特殊代码校验:
输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。
2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=http://www.mamicode.com/“320”>;--必须以文本的形式将代码显示出来。
多行文本框输入:
1、是否允许回车换行 ;
2、保存后再显示能够保持输入时的格式 ;
3、仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 ;
4、仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 。
二、文本框为数值型
边界值:
1、输入[最小值-1]--程序应提示错误;
2、输入[最小值]--OK;
3、输入[最大值]--OK;
4、输入[最大值+1]--程序应提示错误;
位数:
1、输入[限制位数]--OK;
2、输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数,还是提示信息;
3、输入[限制位数-1]--OK;
?异常值、特殊值:
1、输入非数值型数据:汉字、字母、字符--程序应提示错误;
2、输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;
3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;
4、全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;
5、首位为零的数值:如01=1--视实际项目情况而定;
三、文本框为日期型
合法性检查:
1、日输入[0日]--程序应提示错误;
2、日输入[1日]--OK;
3、日输入[32日]--程序应提示错误;
4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;
5、月输入[4、6、9、11月]、日输入[30日]--OK;
6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;
7、输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;
8、输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误
9、(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;
10、(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;
11、月输入[0月]--程序应提示错误;
12、月输入[1月]--OK;
13、月输入[12月]--OK;
14、月输入[13月] --程序应提示错误;
格式检查:
1、不合法格式:2009-09、 2009-09 -、200-2-2;
2、视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;
异常值、特殊值:
1、输入汉字、字母、字符--程序应提示错误;
四、文本框为时间型
合法性检查:
1、时输入[24时] --程序应提示错误;
2、时输入[00时] --OK;
3、分输入[60分] --程序应提示错误;
4、分输入[59分] --OK;
5、分输入[00分] --OK;
6、秒输入[60秒] --程序应提示错误;
7、秒输入[59秒] --OK;
8、秒输入[00秒] --OK;
格式检查:
不合法格式:12:30:、 123000;
2、视具体项目而定是否合法:12:30、 1:3:0;
异常值、特殊值:
1、输入汉字、字母、字符--程序应提示错误;
2、系统中所涉及时间是否取服务器时间;
页功能我们常碰到的一般有以下几个功能:
1、首页、上一页、下一页、尾页。
2、总页数,当前页数
3、指定跳转页
4、指定每页显示条数
当然,有一些是少于多少页,全部以数字的形式显示,多于多少页后,才出现下一页的控件。本文暂且用以上四点来做为通用的用例来设计吧。
对于“首页、上一页、下一页、尾页”。翻页链接或按钮的测试,主要要检查的测试点有:
1、有无数据时控件的显示情况
2、在首页时,首页和上一页是否能点击
3、在尾页时,下一页和尾页是否能点击
4、在非首页和非尾页时,四个按钮功能是否正确
5、翻页后,列表中的记录是否仍按照指定的排序列进行了排序
对于“总页数,当前页数总页数,当前页数”,主要要检查的测试点有:
1、总页数是否等于总的记录数/指定每页条数
2、当前页数是否正确
针对以上测试用例如下:
step 1: 列表无记录
expect: 1、四个翻页控件变灰不可点击
2、列表有相应的无数据信息提示
3、不可指定页数
4、不可指定跳转页
5、总页数显示为0
6、当前页数显示为0
step 2: 列表的记录数<=指定的每页显示条数
expect: 1、四个翻页控件变灰不可点击
2、总页数显示为1
3、当前页数显示为1
step 3: 列表的记录数>指定的每页显示条数
expect: 1、默认在首页,当前页数为1
2、列表的数据按照指定的排序列正确排序
3、记录数与数据库相符
4、总页数=记录数/指定的每页显示条数
step 4: 列表的记录数>指定的每页显示条数,在首页
expect: 1、首页变灰不可点击
2、上一页变灰不可点击
3、下一页可点击,从(每页指定条数+1)条记录开始显示,当前页数+1
4、尾页可点击,显示最后页的记录
step 5: 列表的记录数>指定的每页显示条数,在中间的某页
expect: 1、首页可点击,显示1到每页指定条数的记录
2、上一页可点击,显示上一页的记录
3、下一页可点击,从后一页的记录
4、尾页可点击,显示最后页的记录
5、列表的数据按照指定的排序列正确排序
6、当前页数为所在页
step 6:列表的记录数>指定的每页显示条数,在尾页
expect: 1、首页可点击,显示1到每页指定条数的记录
2、上一页可点击,显示上一页的记录
3、下一页变灰不可点击
4、尾页变灰不可点击
5、列表的数据按照指定的排序列正确排序
6、当前页数为最后一页的页数
对于“指定跳转页”,主要要检查的测试点有:
1、是否能正常跳转到指定的页数
2、输入的跳转页数非法时的处理
对于“指定每页显示条数”,主要要检查的测试点有:
1、是否有默认的指定每页显示条数
2、指定每页的条数后,列表显示的记录数,页数是否正确
3、输入的每页条数非法时的处理
针对以上测试用例如下:
step 7:输入每页显示条数为小于总记录的正整数
expect: 1、每页显示条数更新成指定的条数
2、超过指定的条数的记录分页显示
3、总页数更新成列表的记录数/每页显示条数
step 8:输入每页显示条数为0、负数、小数
expect: 1、提示“每页显示条数必须为大于1的整数”
2、提示后每页显示条数恢复为上次生效的条数
step 9:输入每页显示条数大于或等于总记录数的正整数时
expect: 1、四个翻页按钮变灰不可点击
2、总页数显示为1
3、当前页数显示为1
step 10:输入每页显示条数长度超过数据库指定的长度<<<maxlen>>>
expect: 1、提示每页显示条数不能超过<<<maxlen>>>位
2、提示后每页显示条数恢复为上次生效的条数
step 11:输入每页显示条数为非数值、非法值时
2、提示后每页显示条数恢复为上次生效的条数
step 12:输入跳转的页数为存在的页数
expect: 1、正确跳转到指定的页数
step 13:输入跳转的页数不存在或非法值
expect: 1、跳转的页数值置为1,显示第一页的数据
1:易用性:
按钮名称应该易懂,用词准确,屏弃没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。
易用性细则:
1):完成相同或相近功能的按钮用Frame框起来,常用按钮要支持快捷方式。
2):完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
3):按功能将界面划分局域块,用Frame框括起来,并要有功能说明或标题。
4):界面要支持键盘自动浏览按钮功能,即按Tab键的自动切换功能。
5):界面上首先应输入的和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口上较醒目的位置。
6):同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
7):分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
8):默认按钮要支持Enter及选操作,即按Enter后自动执行默认按钮对应操作。
9):可写控件检测到非法输入后应给出说明并能自动获得焦点。
10):Tab键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
11):复选框和选项框按选择几率的高底而先后排列。
12):复选框和选项框要有默认选项,并支持Tab选择。
13):选项数相同时多用选项框而不用下拉列表框。
14):界面空间较小时使用下拉框而不用选项框。
15):选项数叫少时使用选项框,相反使用下拉列表框。
16):专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
2: 规范性:
通常界面设计都按Windows界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。小型软件一般不提供工具厢。
规范性细则:
1):常用菜单要有命令快捷方式。
2):完成相同或相近功能的菜单用横线隔开放在同一位置。
3):菜单前的图标能直观的代表要完成的操作。
4):菜单深度一般要求最多控制在三层以内。
5):工具栏要求可以根据用户的要求自己选择定制。
6):相同或相近功能的工具栏放在一起。
7):工具栏中的每一个按钮要有及时提示信息。
8):一条工具栏的长度最长不能超出屏幕宽度。
9): 工具栏的图标能直观的代表要完成的操作。
10):系统常用的工具栏设置默认放置位置。
11):工具栏太多时可以考虑使用工具厢。
12):工具厢要具有可增减性,由用户自己根据需求定制。
13):工具厢的默认总宽度不要超过屏幕宽度的1/5。
14): 状态条要能显示用户切实需要的信息,常用的有:
目前的操作、系统状态、用户位置、用户信息、提示信息、错误信息等,如果某一操作需要的时间较长,还应该显示进度条和进程提示。
15):滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分比。
16):状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。
17):菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。
18):菜单和状态条中通常使用5号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不协调。
19):右键快捷菜单采用与菜单相同的准则。
3:帮助设施:
系统应该提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。
帮助设施细则:
1):帮助文档中的性能介绍与说明要与系统性能配套一致。(我们的系统帮助文档都是系统的祖先时期的说明,让人困惑)。
2):打包新系统时,对作了修改的地方在帮助文档中要做相应的修改。
3):操作时要提供及时调用系统帮助的功能。常用F1。
4):在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。也就是说帮助要有即时针对性。
5):最好提供目前流行的联机帮助格式或HTML帮助格式。
6):用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。
7):如果没有提供书面的帮助文档的话,最好有打印帮助的功能。
8 ):在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。
4:合理性:
屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗体时要注意利用这两个位置。
合理性细则:
1):父窗体或主窗体的中心位置应该在对角线焦点附近。
2):子窗体位置应该在主窗体的左上角或正中。
3):多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。
4):重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。
5):错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点位置。
6):与正在进行的操作无关的按钮应该加以屏蔽(Windows中用灰色显示,没法使用该按钮)。
7):对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。
8):非法的输入或操作应有足够的提示说明。
9): 对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。
10):提示、警告、或错误说明应该清楚、明了、恰当。
5:美观与协调性:
界面应该大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。
美观与协调性细则:
1): 长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。
2): 布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。
3): 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。
4): 按钮的大小要与界面的大小和空间要协调。
5): 避免空旷的界面上放置很大的按钮。
6):放置完控件后界面不应有很大的空缺位置。
7): 字体的大小要与界面的大小比例协调, 通常使用的字体中宋体9-12较为美观,很少使用超过12号的字体。
8): 前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用Windows界面色调。
9): 如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。
10): 大型系统常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。
11): 界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。
12): 如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。
13):对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。
14): 通常父窗体支持缩放时,子窗体没有必要缩放。
15):如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。
6:菜单位置:
菜单是界面上最重要的元素,菜单位置按照按功能来组织。
菜单设测试细则:
1):菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows风格。
2):常用的有“文件”、“编辑”,“查看”等,几乎每个系统都有这些选项,当然要根据不同的系统有所取舍。
3):下拉菜单要根据菜单选项的含义进行分组,并切按照一定的规则进行排列,用横线隔开。
4): 一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。
5): 没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的放在开头,次要的放在后边。
6): 如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。
7): 菜单深度一般要求最多控制在三层以内。
8): 对常用的菜单要有快捷命令方式,组合原则见8。
9):对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式——即只有需要的菜单才显示——最好。
10):菜单前的图标不宜太大,与字高保持一直最好。
11):主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。
12):主菜单数目不应太多,最好为单排布置。
7:独特性:
如果一味的遵循业界的界面标准,则会丧失自己的个性.在框架符合以上规范的情况下,设计具有自己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。
1):安装界面上应有单位介绍或产品介绍,并有自己的图标。
2):主界面,最好是大多数界面上要有公司图标。
3):登录界面上要有本产品的标志,同时包含公司图标。
4):帮助菜单的“关于”中应有版权和产品信息。
5):公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮用语等应该大体一致。
8:快捷方式的组合
在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些 在西文Windows及其应用软件中快捷键的使用大多是一致的。
菜单中:
1):面向事务的组合有:
Ctrl-D 删除 ;Ctrl-F 寻找 ;Ctrl –H替换;Ctrl-I 插入 ;Ctrl-N 新记录 ;Ctrl-S 保存 Ctrl-O 打开。
2):列表:
Ctrl-R ,Ctrl-G定位;Ctrl-Tab下一分页窗口或反序浏览同一页面控件;。
3):编辑:
Ctrl-A全选;Ctrl-C 拷贝;Ctrl-V 粘贴;Ctrl-X 剪切;Ctrl-Z撤消操作;Ctrl-Y恢复操作。
4)文件操作:
Ctrl-P 打印;Ctrl-W 关闭。
5):系统菜单
Alt-A文件;Alt-E编辑;Alt-T工具;Alt-W窗口;Alt-H帮助。
6):MS Windows保留键:
Ctrl-Esc 任务列表 ;Ctrl-F4 关闭窗口; Alt-F4 结束应用;Alt-Tab 下一应用 ;Enter 缺省按钮/确认操作 ;Esc 取消按钮/取消操作 ;Shift-F1 上下文相关帮助 。
按钮中:
可以根据系统需要而调节,以下只是常用的组合。
Alt-Y确定(是);Alt-C取消;Alt-N 否;Alt-D删除;Alt-Q退出;Alt-A添加;Alt-E编辑;Alt-B浏览;Alt-R读;Alt-W写。
这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。
9:安全性考虑:
在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。如应用出现保护性错误而退出系统,这种错误最容易使用户对软件失去信心。因为这意味着用户要中断思路,并费时费力地重新登录,而且已进行的操作也会因没有存盘而全部丢失。
安全性细则:
1):最重要的是排除可能会使应用非正常中止的错误。
2):应当注意尽可能避免用户无意录入无效的数据。
3):采用相关控件限制用户输入值的种类。
4):当用户作出选择的可能性只有两个时,可以采用单选框。
5):当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无效的选择。
6):当选项特别多时,可以采用列表框,下拉式列表框。
7):在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。
8):对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。
9):对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。
10):对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。
11):对错误操作最好支持可逆性处理,如取消系列操作。
12):在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。
13):对可能造成等待时间较长的操作应该提供取消功能。
14):特殊字符常有;;’”><,`‘:“[”{、/|}]+=)-(_*&&^%$#@!~,.。?/还有空格。
15):与系统采用的保留字符冲突的要加以限制。
16):在读入用户所输入的信息时,根据需要选择是否去掉前后空格。
17):有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以处理。
10:多窗口的应用与系统资源:
设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。
1): 在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至最小化其他窗口来显示该窗口。
2):在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS系统资源。
3):关闭所有窗体,系统退出后要释放所占的所有系统资源 ,除非是需要后台运行的系统。
4):尽量防止对系统的独占使用。
翻页操作测试用例(FY) 针对翻页操作
1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确
2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确
3.检查按钮的功能是否正确:如增、删、改、查等功能是否正确
4.重复提交表单:一条已经成功提交的记录,用IE回退后再提交,看看系统是否做了处理
5.多次IE回退:检查多次使用IE回退的情况,在有回退的地方,回退,回到原来页面,再回退,重复多次,看是否出错
6.快捷键检查:是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选人、选日期对快捷方式是否也做了限制
7.回车键检查:在输入结束后直接回车键,看系统处理如何,能否报错
8.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开,对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能否做到
9.其他验证:在页面上图片的大小不宜太大,需要第三方软件支持时,应该给出必要的信息,比如需要jre的支持,但用户机器还没有安装jre,那么此时在页面上应该有显著的标志来提醒用户进行安装
1.当数据量很大的时候,需要进行分页显示,每页显示的行数最好不要超过20行,每页列表上最好有序号标识,行与行之间颜色要有一定区分,这样有利于用户的查找
2.翻页按钮应该包括:首页、前一页、后一页、尾页、当前X页、共X页,这些常用按钮和显示,并且按钮都能正常翻页
3.翻页按钮的每页显示的数据要准确,确保没有查不出来的数据,最好的做法就是和数据库结合起来验证
4.页面太多,翻页数据不能全部显示时,系统应该有完善的应对机制,比如值显示当前页的前三页和该页的后三页的页数码 5.当翻到某页时,系统应该有明显的标识,标出该页面所处的页码
5.当系统遇到致命错误时,不能将服务器的调试信息出现在页面上,因为这样做会带来不安全,应该给出一个合适的提示信息
6.由于系统繁忙,无法及时给出正确信息时,系统可以给出友好的错误页面,如:“请用户稍后再试”等提示信息
以后再也不愁怎么写测试用例了