该部分主要适用于web端测试,对于移动端,部分也是支持的,尤其是功能测试。
一、根据功能使用测试:功能逻辑是否正确,有没有实现;
二、根据控件来设计测试用例;
三、在控件之间的逻辑正确测试;
一、《功能性测试》
1.注册用户信息:
(1)在某个必填项(用户名、密码等)留空,检查系统是否对必填项为空的情况做了处理;
(2)在某个必填项(用户名、密码等)仅输入空格键,检查系统是否进行了处理;
(3)检查系统对特殊字符(?#$)是否进行了处理;
(4)重名校验:如输入已存在的用户名,检查系统是否进行了处理;
(5)大小写校验(用户名、密码):如若有已注册用户“abc”,输入用户名“ABC”和正确的密码也可以成功登录;若以用户名“Abc”注册用户信息,则系统提示用户名重名,用户已存在;
(6)字符长度校验:输入字符长度等于域允许的最大字符数-1、等于域允许的最大字符数、等于域允许的最大字符数+1,检查系统是否正确保存了该信息以及对于超出字符做出合理的处理;
(7)输入密码与确认密码不一致,是否做了密码校验;
输入密码与确认密码输入框里均未显示明文;
(8)在注册信息中删除已输入的信息,检查是否可以注册成功;
注册时,设置密码为特殊版本号,检查登录时是否会报错;
注册成功后,页面应该以登陆状态跳转到首页或指定页面;
(9)单击[Enter],检查是否相当于单击了[注册]按钮,将注册信息提交到系统中;
(10)按[Tab]键,光标是否能够按照从左到右,由上到下的顺序在输入域间切换;
(11)过期处理:在注册页面填写所有的注册信息,之后停留30分钟,再单击[注册]按钮,系统提示网页已过期;
(12)页面切换校验:在用户注册界面输入所有所需的用户信息,单击浏览器工具栏上的[后退]按钮,然后再单击[前进]按钮,系统进入到“用户注册”页面,密码和确认密码输入域应该被清空,其它输入域的信息仍然被保留。
2.用户登录
(1)输入正确的用户名和正确的密码
(2)输入正确的用户名和错误的密码
(3)输入错误的用户名和正确的密码
(4)输入错误的用户名和错误的密码
(5)不输入用户名和密码(均为空格)
(6)只输入用户名,密码为空
(7)用户名为空,只输入密码
(8)输入正确的用户名和密码,但是不区分大小写
(8)用户名和密码包括特殊字符
(9)用户名和密码输入超长值
(10)已删除的用户名和密码
(11)登录时,当页面刷新或重新输入数据时,验证码是否更新;
2.1 管理员登录:
(1)用已锁定的用户登录,系统应该提示锁定用户无法登录;
(2)注入式登录:利用sql漏洞,使用不存在的用户登录。如用户名输入为admin’OR’1’=‘1,密码输入为x’OR’1’='1,此时系统应该报告用户名或密码不正确;
(3)权限验证:管理员帐号正确登录后,可以访问所有被授权的页面;
(4)登录次数验证:多次输入错误的管理员账号和密码,验证超过系统允许的错误次数,则帐户被锁定;
(5)回车验证:填入管理员账号和密码,直接按enter健,相当于点击了「登录」健;
(6)Tab验证:按[Tab]键光标应该能够按照从左到右,由上到下的顺序在输入域间切换。
2.2 普通用户登录:
(1)和管理员登录一样;
(2)检查用户名与登录密码中包含空格、登录密码不区分大小写、用户名与密码的字符长度的情况,系统是否都做了相应的验证工作;
(3)新注册的用户登录;
3.输入框:
3.1 字符型输入框:
(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@# ¥%……&*?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。
(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。
(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
(4)多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常 提示)
(5)安全性检查:输入特殊字符串 (null,NULL,javascript,)、 doucment.write(“abc”)、hello);
3.2 数值型输入框:
(1)边界值:最大值、最小值、最大值+1、最小值-1
(2)位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数
(3)异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]:"<>?;’,./?;:’-= 等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位)、
(4)安全性检查:不能直接输入就copy;
3.3 日期型输入框:
(1)合法性检查:(输入0日、1日、32日)、月输入[1、3、5、7、8、10、12]、日输入[31]、月输入[4、6、9、11]、日输入[30][31]、输入非闰年,月输入[2],日期输入[28、29]、输入闰年,月输入[2]、日期输入[29、30]、月输入[0、1、12、13]
(2)异常值、特殊字符:输入空白或NULL、输入~!@#¥%……&*(){}[]等可能导致系统错误的字符
(3)安全性检查:不能直接输入,就copy
4.搜索功能:
若查询条件为输入框,则参考输入框对应类型的测试方法
4.1 功能实现:
(1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到
(2)比较长的名称是否能查到
(3)输入系统中不存在的与之匹配的条件
(4)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。
4.2 组合测试:
(1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错)
(2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。
5.添加、修改功能:
5.1 特殊键:
(1)是否支持Tab键
(2)是否支持回车键
5.2 提示信息:
(1)不符合要求的地方是否有错误提示
5.3 唯一性:
(1)字段唯一的:是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性)
5.4 数据正确性:
(1)对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新;
(2)进行必填项检查(即是否给出提示以及提 示后是否依然把数据存到数据库中;是否提示后出现页码错乱等);
(3)是否能够连续添加(针对特殊情况);
(4)在编辑的时候,注意编辑项的长度限制,有时在添加的时候有,在编辑的时候却没有(注意要添加和修改规则是否一致);
(5)对于有图片上传功能的编辑框,若不上传图片,查看编辑页面时是否显示有默认的图片,若上传图片,查看是否显示为上传图片;
(6)修改后增加数据后,特别要注意查询页面的数据是否及时更新,特别是在首页时要注意数据的更新;
(7)提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错;
(8)若结果列表中没有记录或者没选择某条记录,点击修改按钮,系统会抛异常;
6.删除功能
6.1 特殊键:
(1)是否支持Tab键
(2)是否支持回车键
6.2 提示信息:
(1)不选择任何信息,直接点击删除按钮,是否有提示;
(2)删除某条信息时,应该有确认提示;
6.3 数据实现:
(1)是否能连续删除多个产品;
(2)当只有一条数据时,是否可以删除成功;
(3)删除一条数据后,是否可以添加相同的数据;
(4)如系统支持批量删除,注意删除的信息是否正确;
(5)如有全选,注意是否把所有的数据删除;
(6)删除数据时,要注意相应查询页面的数据是否及时更新;
(7)如删除的数据与其他业务数据关联,要注意其关联性(如删除部门信息时,部门下游员工,则应该给出提示);
(8)如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮系统会报错;
7.上传图片测试
7.1 功能实现:
(1)文件类型正确、大小合适;
(2)文件类型正确,大小不合适;
(3)文件类型错误,大小合适;
(4)文件类型和大小都合适,上传一个正在使用中的图片;
(5)文件类型大小都合适,手动输入存在的图片地址来上传;
(6)文件类型和大小都合适,输入不存在的图片地址来上传;
(7)文件类型和大小都合适,输入图片名称来上传;
(8)不选择文件直接点击上传,查看是否给出提示;
(9)连续多次选择不同的文件,查看是否上传最后一次选择的文件;
8.查询结果列表
8.1 功能实现:
(1)列表、列宽是否合理;
(2)列表数据太宽有没有提供横向滚动;
(3)列表的列名有没有与内容对应;
(4)列表的每列的列名是否描述的清晰;
(5)列表是否把不必要的列都显示出来;
(6)点击某列进行排序,是否会报错(点击查看每一页的排序是否正确);
(7)双击或单击某列信息,是否会报错;
9.返回键检查
9.1 一条已经成功提交的记录,返回后再提交,是否做了处理;
9.2 检查多次使用返回键的情况,在有返回键的地方,返回到原来的页面多次,查看是否会出错;
10.回车键检查
10.1 在输入结果后,直接按回车键,看系统如何处理,是否会报错
11.刷新键检查
11.1 在Web系统中,使用刷新键,看系统如何处理,是否会报错;
12.直接URL链接检查
12.1 在Web系统中,在地址栏直接输入各个功能页面的URL地址,看系统如何处理;
13.其他
13.1 在测试时,与网络有关的步骤必须考虑到断网的情况;
13.2 每个页面都有相应的Title;
13.3 在测试的时候要考虑到页面出现滚动条时,滚动条上下滚动时,页面是否正常;
13.4 URL不区分大小写;
13.6 对于电子商务网站,当用户并发购买数量大于库存的数量时,系统如何处理;
13.7 测试数据避免单纯输入“123”、“abc“之类的,让测试数据尽量接近实际;
13.8 进行测试时,尽量不要用超级管理员进行测试,用新建的用户进行测试。测试人员尽量不要使用同一个用户进行测试;
13.9 做功能测试的时候,也要注意系统的性能(如操作的响应时间、内存使用情况);
二、《界面测试》
14.界面和易用性测试
14.1 风格、样式、颜色是否协调;
14.2 界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条;
14.3 界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字);
14.4 操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作);
14.5 提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等);
14.6 界面中各个控件是否对齐;
14.7 日期控件是否可编辑;
14.8 日期控件的长度是否合理,以修改时可以把时间全部显示出来为准;
14.9 查询结果列表列宽是否合理、标签描述是否合理;
14.10 查询结果列表太宽没有横向滚动提示;
14.11 对于信息比较长的文本,文本框有没有提供自动竖直滚动条;
14.12 数据录入控件是否方便;
14.13 有没有支持Tab键,键的顺序要有条理,不乱跳;
14.14 有没有提供相关的热键;
14.15 控件的提示语描述是否正确;
14.16 模块调用是否统一,相同的模块是否调用同一个界面;
14.17 用滚动条移动页面时,页面的控件是否显示正常;
14.18 日期的正确格式应该是XXXX-XX-XX或XXXX-XX-XXXX:XX:XX;
14.19 页面是否有多余按钮或标签;
14.20 窗口标题或图标是否与菜单栏的统一;
14.21 窗口的最大化、最小化是否能正确切换;
14.22 对于正常的功能,用户可以不必阅读用户手册就能使用;
14.23 执行风险操作时,有确认、删除等提示吗;
14.24 操作顺序是否合理;
三、《兼容性测试》
15.兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。
16.链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
17.业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
四、《安全性测试》
18.
(1)SQL注入(登陆页面);
(2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。
document.write("abc")
<script>alter("abc")</script>
(3)URL地址后面随便输入一些符号;
(4)验证码更新问题;
五、《数据库测试》
17、5、6
六、《性能测试》
1.负载测试;
2.压力测试;
3.尖峰冲击测试;
4.耐力测试;
5.可扩展性测试;
6.容量测试;