1、要添加的数据项均合理,检查数据库中是否添加了相应的数据;
2、按照边界值等价类设计测试用例的原则设计其他输入项的测试用例,有效等价类应能成功保存,无效等价类应有相应提示;
3、不符合要求的地方要有错误提示;
留出一个必填数据为空,是否有提示信息;
唯一性数据的增加,如果添加重复数据,是否有相应提示;
字符数校验,是否都超长文本做了字符数限制校验,并有相应的提示信息;
日期类型是否有校验,输入错误格式或不合理的时间范围内取值,是否有相应提示信息;
数字型校验,主要根据整数、正整数、负整数、小数、正小数、负小数等,根据实际需求情况进行测试校验,不符合要求应有相应提示信息;
特殊格式,如手机号码、电子邮件、网址等,不正确格式应有提示。
4、是否支持table键切换光标在输入字段之间进行切换;
5、按enter是否能保存;
6、点击重置按钮是否能清空已输入的数据;
7、若提示不能保存,也要察看数据库里是否多了一条数据;
8、查看最新数据是否在列表首行,一般需求情况都会要求最新数据靠前显示;
9、Textarea输入区域是否满足限定个数的字符显示,如若不能显示,是否会自动调整textarea显示区域大小。如若显示区域自动变大,对整个增加页面的显示是否有影响;如若显示区域不能自动变大,字符超过显示区域是否会出现滚动条;
10、增加完成后应有相应提示信息,并能跳转回到列表页面。
1、删除数据时应有确认\取消操作。确认则删除成功,取消则放弃删除;
2、删除一个数据库中存在的数据,然后查看数据库中是否删除;
3、复选数据,点击删除,删除成功,并且没有漏删或错删;
4、不选择数据,点击删除,是否有相应提示。
修改与增加的约束条件较为类似
1、要修改的数据项均合理,检查数据库中是否更新了相应的数据;
2、按照边界值等价类设计测试用例的原则设计其他输入项的测试用例,有效等价类应能成功修改数据并保存,无效等价类不能修改并应有相应提示;
3、不符合要求的地方要有错误提示;
留出一个必填数据为空,是否有提示信息;
唯一性数据的增加,如果修改为重复数据,是否有相应提示;
字符数校验,是否都超长文本做了字符数限制校验,并有相应的提示信息;
日期类型是否有校验,输入错误格式或不合理的时间范围内取值,是否有相应提示信息;
数字型校验,主要根据整数、正整数、负整数、小数、正小数、负小数、零值等,根据实际需求的取值范围情况分别取值max+\max\max-\mid\min-\min\min+等多个值进行测试校验,不符合要求应有相应提示信息;
特殊格式,如手机号码、电子邮件、网址等,不正确格式应有提示。
4、是否支持table键切换光标在输入字段之间进行切换;
5、按enter是否能保存;
6、点击重置按钮是否能还原为最处的数据;
7、若提示不能修改,也要察看数据库里对应的数据是否被修改;
8、Textarea输入区域是否满足限定个数的字符显示,如若不能显示,是否会自动调整textarea显示区域大小。如若显示区域自动变大,对整个增加页面的显示是否有影响;如若显示区域不能自动变大,字符超过显示区域是否会出现滚动条;
9、修改完成后应有相应提示信息,并能跳转回到列表页面。
1、输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据;
2、输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据;
3、输入格式或范围不符合要求的数据,看是否有错误提示;
4、输入数据库中不存在的数据;
5、不输入任何数据,查看返回全部数据还是空列表;
6、是否支持模糊查询,需采用三段数据,头、尾、中部的三类数据测试;
7、是否支持table键;
8、是否支持enter键查询。
1、分页是否正常;
2、处于第一页,首页、后退按钮不可用;
3、处于最后一页,尾页、前进按钮不可用;
4、多页情况下,中间页的首页、尾页、前进、后退按钮可用;
5、是否存在数据量刚好足够整数倍页面,最后一页为空页面。例如:每页显示10条数据,共50条数据,会不会存在第六页,并为空页面;
6、输入符合条件的页码,跳转到指定页数是否正常;
7、输入不符合条件的页码,跳转到不存在的页数是否有提示;
8、跳转到指定页时,输入非正确格式数据是否有提示;
9、分页数据数选择,是否能正常控制每页显示的数据量;
10、查看是否有数据在两页或多页重复显示;
11、分页排序是否正常;
12、是否会出现数据无限重复,分页也出现无限页;
13、查询后点击分页按钮,是否会影响查询结果;
14、进行增加、删除操作时,分页能不能动态变化。
注册
只从用户名和密码角度写了几个要考虑的测试点,如果需求中明确规定了安全问题,Email,出生日期,地址,性别等等一系列的格式和字符要求,那就都要写用例测了~
1、填写符合要求的数据注册: 用户名和密码都为最大长度 (边界值分析,取上点);
2、填写符合要求的数据注册: 用户名和密码都为最小长度 (边界值分析,取上点);
3、填写符合要求的数据注册: 用户名和密码都是非最大和最小长度的数据(边界值分析,取内点);
4、必填项分别为空注册;
5、用户名长度大于要求注册1位(边界值分析,取离点);
6、用户名长度小于要求注册1位(边界值分析,取离点);
7、密码长度大于要求注册1位(边界值分析,取离点);
8、密码长度小于要求注册1位(边界值分析,取离点);
9、用户名是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许吧~);
10、密码是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了);
11、两次输入密码不一致(如果注册时候要输入两次密码,那么这个是必须的);
12、注册存在的用户;
13、改变存在的用户的用户名和密码的大小写,来注册。(有的需求是区分大小写,有的不区分);
14、看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示;
15、生僻字测试,曾经遇到过公司新来的同事,由于名字中有生僻字无法正确录入到公司OA系统里;
16、删除用户,然后再重建同名用户,查看该名称用户的数据是否显示出来。一般情况下应是以唯一ID确认,但也有例外,曾经有个项目使用SIM卡号作为操作级别的唯一标识(非数据库数据唯一标识),一个客户试用系统后,该SIM卡号又被别的客户试用,历史数据暴露给了新客户。
实际测试中可能只用到其中几条而已,比如银行卡密码的修改,就不用考虑英文和非法字符,更不用考虑那些TAP之类的快捷键。
而有的需要根据需求具体分析了,比如连续出错多少次出现的提示,和一些软件修改密码要求一定时间内有一定的修改次数限制等等。
1、不输入旧密码,直接改密码;
2、输入错误旧密码;
3、不输入确认新密码;
4、不输入新密码;
5、新密码和确认新密码不一致;
6、新密码中有空格;
7、新密码为符合要求的最多字符;
8、新密码为符合要求的最少字符;
9、新密码为符合要求的非最多和最少字符;
10、新密码为最多字符-1;
11、新密码为最少字符+1;
12、新密码为最多字符+1;
13、新密码为最少字符-1;
14、新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等);
15、看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号;
16、看密码是否区分大小写,新密码中英文小写,确认密码中英文大写;
17、新密码与旧密码一样能否修改成功。
登录
1、用户名和密码都符合要求(格式上的要求);
2、用户名和密码都不符合要求(格式上的要求);
3、用户名符合要求,密码不符合要求(格式上的要求);
4、密码符合要求,用户名不符合要求(格式上的要求);
5、用户名或密码为空;
6、数据库中不存在的用户名,不存在的密码;
7、数据库中存在的用户名,错误的密码;
8、数据库中不存在的用户名,存在的密码;
9、输入的数据前存在空格;
10、输入正确的用户名密码以后按[enter]是否能登陆。
注销
1、点击注销按钮,返回到登录页面或系统首页;
2、复制页面URL地址,注销后,通过该地址再尝试访问;
3、注销后,点击后退按钮,是否能继续操作。
权限
1、建立不同权限级的用户进入系统,查看菜单、操作命令有效。
草稿
1.保存为草稿时,常规下不会生成一条有效标示符的记录;
2.是否有对草稿的保留期;
3.对同一个草稿的多次保留或更新时,将不产生新的草稿。
1、如无特殊说明,表头的排序应对所有页的数据有效,不单只对当前页;
2、点击一列的表头,一般默认为单一条件排序;
3、在非第一页的页面再次排序后,页面返回第一页。
上传
1、确认没有上传资料,点上传按钮是否有提示;
2、确认是否支持图片上传;
3、确认是否支持压缩包上;
4、所支持上传文件的类型,是图片,压缩包,音频,视频还是其它的文件(.doc,.xls,.等);
5、若是图片,是否支持所有的格式(.jpeg,.jpg,.gif,.png等);
6、音频文件的格式是否支持(mp3,wav,mid,等);
7、各种格式的视频文件是否支持;
8、上传文件的大小有无限制,上传时间用户是否可接受?如有大小限制需测试边界值,超过设定值应有相应提示;
9、大小为0字节或者Okb的文件是否可上传;
10、在选择文件栏内,手动输入一个存在的文件上传,查看是否可上传成功;
11、在选择文件栏内,手动输入一个不存在的文件上传,是否有相应提示;
12、正在使用的文件是否可上传(即正在打开的文件);
13、若没有选择文件时,点击“上传”按钮,是否给用户提示信息;
14、是否支持批量上传;
15、若在传输过程中,网络中断时,页面显示什么;
16、选择文件后,想取消上传功能,是否有删除按钮;
17、文件上传结束后,是否能回到原来界面;
18、如果只支持指定格式的附件,是否会对非指定类型的附件,进行提示;
19、查看上传文件的目录不存在时,是否出现异常错误,能否创建;
20、查看上传文件的目录权限问题,如果为只读权限,能否上传成功;
21、查看上传文件加密,上传成功后。文件名称是否做加密处理;
22、查看上传同名文件是否覆盖;
23、查看上传文件名称的长度。Window操作系统文件名称本身长度为225,注意边界值的测试;
24、文件名称的特殊符号,出Windows操作系统本身不允许的”\”,”/”,”:”,”?”,”””,”<”,”>”,”|”这几个符号外。其它符号上传后能否下载;
25、上传文件为空时,是否能上传;
26、上传文件后下载名称是否能保持原来的名称。
下载
1、点击下载,能弹出下载页面;
2、下载页面对所选下载文件的名称应正确显示;
3、下载后应保证文件名与目标文件相同;
4、使用下载工具也可下载。
导入
1、导入成功后数据是否正确插入数据库;
2、导入失败后数据是否插入数据库;
3、如果其中有若干条数据不符合格式,是否有相应提示;
4、重复导入相同文件,是否会覆盖数据。
导出
1、导出成功后,文件内是否存在所选导出数据;
2、验证导出文件名长度,比如为251字符的情况;
3、验证导出文件名为空的情况;
4、验证导出文件名为特殊字符的情况,比如为~!@#$%^&*()_+{}|:"?><,./;'[]\=-`;
5、验证导出全部资料的情况,导出的信息是否正确;
6、验证导出部分资料的情况,导出的信息是否正确;
7、验证导出大量数据时的时间是否在合理时间范围内;
8、验证导出目的磁盘空间已满的情况下,导出时是否有相应的提示信息;
9、验证导出目的文件夹为只读的情况下,导出时是否有相应的提示信息。
TextBox
数值型
边界值 | 输入[最小值-1] | 程序应提示错误 |
输入[最小值] | OK | |
输入[最大值] | OK | |
输入[最大值+1] | 程序应提示错误 | |
位数 | 输入[最小位数-1] | 程序应提示错误 |
输入[最小位数] | OK | |
输入[最大位数] | OK | |
输入[最大位数+1] | 程序应提示错误 | |
允许输入小数位的控件,小数位的长度做以上同样测试 | 同上 | |
异常值、特殊值 | 输入[空白(NULL)]、空格或‘“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符 | 程序应提示错误 |
禁止直接输入特殊字符时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存。 | 只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 | |
word 中的特殊功能,通过剪贴板拷贝到输入框:分页符,分节符,类似公式的上下标等 | 程序应提示错误 | |
输入[负值] | 根据设计书要求判定 | |
输入设计书中明确指出禁止输入的数字 | 根据设计书要求判定 | |
输入[英文字母] | 程序应提示错误 | |
数值输入的长度:整型----32位 最大值 65535,最小值-65535;16位 最大值 32767,最小值-32767 | 根据设计书要求判定 | |
带符号的数值:带正号的正数,带负号的负数 | 根据设计书要求判定 | |
小数:小数点后的位数,小数的四舍五入问题,小数点前零舍去的情况,如 .12;多个小数点的情况;0值:0.0,0.,.0 | 根据设计书要求判定 | |
分数:如 2/3 | 根据设计书要求判定 | |
首位为零的数值:如01=1 | 根据设计书要求判定 | |
科学技术法是否支持:如 1.0E2 | 根据设计书要求判定 | |
指数是否支持 | 根据设计书要求判定 | |
全角数字和半角数字的情况 | 根据设计书要求判定 | |
数字与字母的混合:16进制数值,8进制数值 | 根据设计书要求判定 | |
货币型输入项:允许小数点后几位 | 根据设计书要求判定 |
字符型
字符种类 | 输入[全角字符] | 根据设计书要求判定 |
输入[半角字符] | 根据设计书要求判定 | |
数字字符 | 根据设计书要求判定 | |
邮政编码输入项的输入限制,如只能输入半角数字字符或某几个指定字符 | 根据设计书要求判定 | |
电话号码和传真输入限制,如只能输入半角数字字符和半角括号“()”及半角减号“-”;电话或传真只能输入数字和减号。 | 根据设计书要求判定 | |
E-mail地址的格式检查,如输入字符串中必须包含“@”和半角“.”字符。 | 根据设计书要求判定 | |
年龄的输入限制检查,一般<=200即可。 | 根据设计书要求判定 | |
输入设计书中明确指出禁止输入的字符 | 程序应提示错误 | |
输入[空白(NULL)]或“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符 | 程序应提示错误 | |
密码输入项的特殊处理 | 登录验证时大、小写是否区分 | 根据设计书要求判定 |
登录只能输入半角字符 | 根据设计书要求判定 | |
是否允许输入特殊字符 | 根据设计书要求判定 | |
多行文本框输入 | 允许回车换行 | 根据设计书要求判定 |
保存后再显示能够保持输入时的格式 | 根据设计书要求判定 | |
仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 | 根据设计书要求判定 | |
仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 | 根据设计书要求判定 | |
长度检查 | 输入[最小字符数-1] | 程序应提示错误 |
输入[最小字符数] | OK | |
输入[最大字符数] | OK | |
输入[最小字符数+1] | 程序应提示错误 | |
文件名输入项的测试 | 输入不存在的文件名 | 程序应提示错误 |
输入文件名称超长(256个字符) | 程序应提示错误 | |
输入带路径的文件名和不带路径的文件名 | 根据设计书要求判定 | |
手工输入后缀名称 | 根据设计书要求判定 | |
对于文件大小的限制,需要采用边界值法测试系统的处理方式是否符合需求;考虑磁盘空间不足/满的情况 | 程序应提示错误 | |
文件名的非法字符集:/\:*?"<>| | 程序应提示错误 | |
不输入文件名和输入空格 | 程序应提示错误 | |
输入中间有空格的路径名和文件名 | 根据设计书要求判定 | |
输入合法字符,但影响系统判断文件名有效性的情况,如输入a;b-20003.5.8 | 根据设计书要求判定 |
日期型
合法性检查 | 日输入[0日] | 程序应提示错误 |
日输入[1日] | OK | |
日输入[32日] | 程序应提示错误 | |
月输入[1、3、5、7、8、10、12月]、日输入[31日] | OK | |
月输入[4、6、9、11月]、日输入[30日] | OK | |
月输入[4、6、9、11月]、日输入[31日] | 程序应提示错误 | |
输入闰年,月输入[2月]、日输入[28日] | OK | |
输入非闰年,月输入[2月]、日输入[29日] | 程序应提示错误 | |
(闰年)月输入[2月]、日输入[29日] | OK | |
(闰年)月输入[2月]、日输入[30日] | 程序应提示错误 | |
月输入[0月] | 程序应提示错误 | |
月输入[1月] | OK | |
月输入[12月] | OK | |
月输入[13月] | 程序应提示错误 | |
异常值、特殊值 | 输入[空白(NULL)]或“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符 |
时间型
合法性检查 | 时输入[30时] | 允许输入30时制的项目“OK"; 不允许输入30时制的项目程序应提示错误 |
时输入[31时] | 程序应提示错误 | |
时输入[00时] | 程序应提示错误 | |
30时制是否允许存在1点~5点 | ?? | |
分输入[59分] | OK | |
分输入[60分] | 程序应提示错误 | |
分输入[00分] | OK | |
秒输入[59秒] | OK | |
秒输入[60秒] | 程序应提示错误 | |
秒输入[00秒] | OK | |
异常值、特殊值 | 输入[空白(NULL)]或“~!@#$%^&*()_+-={}[]|\:;”’<>,./?;”等可能导致系统错误的字符 | 程序应提示错误 |
Checkbox(复选框)
复选 | 连续选择 | 连续选择相邻的checkbox | OK |
跳跃选择 | 跳跃选择不连续的checkbox | OK |
Combobox(组合框)
单选 | 选择某一个列表项 | 被选中项目高亮或底色显示 |
复选 | 使用ctrl选择多个列表项 | 根据设计书要求判定 允许多选时,所有被选中项目高亮或底色显示; 不允许多选时,只有第一次被选中的项目高亮或底色显示,再点击其他项目应无反应; |
NumUpDown(控件文本框)
鼠标操作 | 上键头 | 鼠标点击按件的“上箭头” | text框中数量自动+1 | 该控件相当于两个控件,左侧的textbox和右侧的上下箭头控制,所以需要做两种控件类型的测试 |
下键头 | 鼠标点击按件的“下箭头” | text框中数量自动-1 | ||
键盘操作 | 上键头 | 按下键盘的“上箭头” | text框中数量自动+1 | |
下键头 | 按下键盘的“下箭头” | text框中数量自动-1 | ||
箭头控制输入值 | 边界值 | 输入[最小值-1] | 程序应提示错误 | |
输入[最小值] | OK | |||
输入[最大值] | OK | |||
输入[最大值+1] | 程序应提示错误 | |||
text框输入值 | 同TextBox输入测试 |
1、横向比较。各控件操作方式统一。比如复选框,有的可能只需一次就能选中或取消,有的可能需要选中一行数据后,再次点击该复选按钮,才可选中;
2、内容根据窗口大小自适应;
3、所有的窗口、标签、文字、图片、输入框、按钮、提示信息、表格的检测;
4、是否有错别字;
5、页面标签风格是否统一;
6、页面是否美观;
7、提示信息是否为中文显示;
8、输入框说明文字的内容与系统功能是否一致。
1、邮件标题、内容、地址为空是否有提示并发送失败;
2、输入错误的邮件地址是否有提示并发送失败;
3、邮件上传附件是否有限制,发送附件对象是否能准确查看和下载;
4、发送内容过大时间较长时是否有进度条提示;
5、是否限制在发送的过程中点击‘取消发送’并发送失败;
6、是否支持保存邮件在草稿箱;
7、保存在草稿箱的邮件是否支持编辑和发送;
8、是否支持删除已发送和已接收的邮件;
9、对方接收到的邮件是否能正常回复;
10、对方接收到的邮件是否准确显示内容和发件人;
11、未读邮件和已读邮件是否有区别;
12、发送的过程中突然断网是否有保存邮件到草稿箱的功能;
13、草稿箱的邮件发送成功后是否从草稿箱转移到已发送中邮件中。
1、不登录直接使用URL地址访问,查看是否能操作成功;
2、SQL注入式攻击。
1、同一数据,在不同模块中的使用是否是唯一值;
2、修改一数据时,各相应模块调用的地方是否同步修改。
1、流程能完全走通;
2、指定流转目标,查看是否对应的目标接收到数据;
3、流程回退,能否回退到发送方人员;
4、基于各种可能场景的测试。
1、各链接指向目标正确;
2、各链接之间切换正确;
3、导航已经删除,是否用URL地址仍可访问。假定程序第一版已经对外运营,客户收藏了某个页面,在第二版中,相应功能作出了调整,且更换了新的URL。新版本发布时只对导航的指向做了修改,而对旧链接未作处理。则会造成用户可能访问到老版本页面。
1、IE内核与非IE内核浏览器测试;
2、各内核多种浏览器测试;
3、多操作系统下测试。
1、操作符合大众习惯;
2、如若是工作流等系统,是否任一模块在三个操作步骤以内找到目标;
3、在选值时就加以控制,最大化避免错误。例如:选择日期如果只能选择当天以前的,则可以将日期控件之后的日期设定为灰色不可选择的标记等等。
1、如果数据之间有相互关联,删除被引用的数据时是否有提示信息。
安装
1、软件在不同操作系统下安装的过程;
2、软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里;
3、软件安装各个选项的组合是否符合概要设计说明;
4、软件安装向导的UI测试;
5、软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理;
6、软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电);
7、安装过程是否是可以回溯的(即是否可以点上一步重新选择);
8、软件安装过程中是否支持快捷键,快捷键的设置是否符合用户要求;
9、对某些软件要考虑客户端的安装、服务器端的安装、数据库的安装及单机版和网络版的安装;
10、安装空间不足时是否有相应提示;
11、安装后没有生成多余的目录结构和文件;
12、对于需要通过网络验证之类的安装,在断网情况下尝试一下;
13、此外还需要对安装手册进行测试,依照安装手册是否能顺利安装。
卸载
1、直接删除安装文件夹卸载的提示是否与概要设计说明一致;
2、测试使用系统自带的添加删除(以WIDOWSXP为例)程序卸载的情况;
3、测试软件自带的卸载程序;
4、测试卸载后文件是否全部删除包括安装文件夹、注册表、系统环境变量;
5、卸载过程中出现的意外情况的测试(如死机、断电、重启);
6、卸载是否支持取消功能,单击取消后软件卸载的情况;
7、软件自带卸载程序的UI测试;
8、如果软件有调用系统文件,当卸载文件时,是否有相应的提示。
升级
1、测试升级后的功能是否与需求说明一样;
2、测试与升级模块相关的模块的功能是否与需求一致;
3、升级安装意外情况的测试(如死机、断电、重启) ;
4、升级界面的UI测试 ;
5、不同系统间的升级测试。
1、对提交按钮快速多次点击提交,看看会不会在数据库中形成多条记录.网速或响应快时,这点容易被遗漏,但用户的网络可能慢,很容易多次点击提交.如果前端做了处理,试试捕获在提交时生成的URL,绕过页面,再次对服务器发起请求,会有什么结果;
2、执行操作后,光标是否停留在合适的位置.如邮箱登录,输完用户名回车后,光标应该跳转到密码框内.细节问题,但是影响用户感受;
3、利用一些工具,如http watch,可以记录和捕获向服务器发起的URL请求,然后修改其中的参数向服务器发起请求.该功能点可以和安全测试结合起来;
4、提交表单一条已经成功提交的记录,back后再提交,看系统会如何处理。检查多次使用back健的情况在有back的地方,back,回到原来的页面,再back,重复几次,看是否会报错;
5、有输入项时,要考虑全/半角字条的输入,及GBK字符。
作者:佚名