web测试策略
一、输入框 1 字符型输入框 2 数值型输入框 3 日期型输入框 4 邮箱测试5 日历控件 6 树形 7 单选框 8 复选框 9 下拉选择框 10 文件目录 11 文件 12 图片 13 文字测试 14 按钮 1、字符型输入框: (1)英文半角、英文全角、数字、汉字、特殊符号(( ' & $ !)、英文双引号、英文单引号、&、系统保留字、编程保留字、数据库保留字、;所有键盘可以输入的字符(全角、半角) (2)复制粘贴不允许输入的字符 (3)空 (4)空格(半角、全角):仅空格、字符前中后有空格 (5)输入null、NULL (6)最大边界值、最大边界值+1、最小边界、最小边界值-1、超长字符 (7)输入htm代码:比如"你好" (8)输入javascript代码:比如 ;hello;alert("hello");doucment.write("abc"); (9)转义字符:比如
;
;;;;;;;等 (10)Tab、Enter键 (11)多行文本框输入: a 允许回车换行、保存后再显示能够保存输入的格式; b 仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示) 2、数值型输入框: (1)边界值:最大值、最小值、最大值+1、最小值-1 (2)位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数 (3)异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]\:"<>?;',./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如∑,㏒,㏑,∏,+,-等、不能直接输入,就copy,是否数据检验出错; 输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制,8进制数值、货币型输入(允许小数点后面几位) (4)正数、负数、0、0.0、+0.0、-0.0、指数、对数、分数、整数、小数、复数、科学计数法的测试,全角的数字、超大整数,超大的小数,超小的小数 (5)安全性检查:不能直接输入就copy 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、邮箱测试 (1)没有@和 . 符号 如abc163com,sdw,34455,$#%^^% (2)有@和 . 符号 a. @和 . 之间没有字符串,如abc@.com,abc.@com b. 字符串的第一位是@或 . 如@163.com,.abc@163.com,@abc@sina.com c. 字符串的最后一位是@或 . 如 abc@sina.com@,abc@sina.com. d. 有@和 . 符号,并有特殊字符 如abc#d@163.com,abc@16#3&.com,abc@163.c$%om e. 有@和 . 符号,并有空格 如 abc @163.com, abc@16 3.com, abc@163.co m (3)@和 . 符号中只有一个,如abc@sohucom,abcsohu.com,abcsina@com,abc.sohucom (4)有@@符号重复,如abc@@sohucom,abc@sohu@sohu.com,abc@sohu.c@com (5)有..符号重复,如abc@sohu.com.cn,a.bc@163.com,abc@163..com (6)域名不能使用"_"作为了开始符,结束符,abc@sina._com,abc@sina.com_ (7)不正确的域名后缀,如:a@b.hello,ab@cd.hi (8)粘贴或者输入文本字母、数字以外字符; 5、日历控件 (1)同时支持选择年月日、年月日时分秒规则 (2)打开日历控件时,默认显示当前日期 (3)开始日期 < 截止日期 (4)开始日期 > 截止日期 (5)开始日期 = 截止日期 6、树形 (1)各层级用不同图标表示,最下层节点无加减号 (2)提供全部收起、全部展开功能 (3)如有需要提供搜索与右键功能,如提供需有提示信息 (4)展开时,内容刷新正常 7、单选框 (1)一组单选按钮不能同时选中,只能选中一个 (2)一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空 8、复选框 (1)多个复选框可以被同时选中 (2)多个复选框可以被部分选中 (3)多个复选框可以都不被选中 (4)逐一执行每个复选框的功能 9、下拉选择框 (1)查询时默认显示全部 (2)选择时默认显示请选择(或根据需求默认显示相应的选项) 10、文件目录 目录名称、目录下的文件数量、隐藏文件、目录的层级数量、网络文件夹、目录名称包含特殊字符(-_)windos路径缩写的文件目录 11、文件 (1)文件类型、大文件、超小文件、超大文件、只读文件、占用状态、无权限的文件 (2)文件不存在、文件重名情况、硬盘满了、文件只读属性、文件被占用状态、文件的名称(过长、过短)、文件类型、网络文件 12、图片 图片类型、大小、显示尺寸、属性、图片路径、图片链接,数据库保存图片的不同大小、图片显示是否变形,图片是否影响页面其他元素的布局; 13、文字测试 (1)语言风格是否统一 (2)文字排版是否美观 (3)文字描述是否有二义性 (4) 错误提示的语言是否明确 (5) 多语言测试情况下,文字显示正确 (6) 文字内容是否和需求文档保持一致 14、按钮 (1)点击按钮是否正确响应操作。如单击确定,正确执行操作;单击取消,退出窗口 (2)对非法的输入或操作给出足够的提示说明 (3)对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会(如删除等危险操作) (4)信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 二、搜索功能 若查询条件为输入框,则参考输入框对应类型的测试方法 筛选的结果中: 点击“首页” “尾页” “上一页” “下一页”,查询结果是否还是筛选的结果 1、功能实现: (1)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到 (2)比较长的名称是否能查到 (3)输入系统中不存在的与之匹配的条件 (4)查询条件全部匹配时,系统能否查询出相关记录 (5)查询条件全为空时,系统能否查询出相关记录 (6)针对单个查询条件进行查询,系统能否查询出相关记录 (7)针对多个查询条件,进行组合查询,系统能否查询出相关记录 (8)用户进行查询操作时,一般情况是不进行查询条件的清空,除非需求特殊说明。 (9)Tab、Enter键 2、组合测试: (1)不同查询条件之间来回选择,是否出现页面错误(单选框和多选框最容易出错) (2)测试多个查询条件时,要注意查询条件的组合测试,可能不同组合的测试会报错。 多条件查询测试用例设计方法 假设查询因子:A,B,C,D,E 1、单独查询:A;B;C;D;E - 确保单独查询的正确性,这也是最基本的。 2、两个组合查询:AB;AC;AD;AE;BC;BD;BE;CD;CE;DE。 - 确保两个组合查询的正确性,这保证了两两之间不会相互影响。 3、三个组合查询:ABC;CDE - 确保三个组合的正确性;因为我们已确保了单独及两个组合查询的正确性,所以不需要测试三个组合的全部级组合。 4、五个组合查询:ABCDE - 确保最大组合的正确性。 如果输入条件达到更多,可以考虑以下方法 1.单个条件遍历 2.默认条件查询 3.根据需求或者业务规则选取重点条件组合查询 4.全条件组合查询 5.根据查询所拼SQL来修改查询条件进行查询 三、添加功能 1、正确输入相关内容,包括必填项,点添加按钮,记录是否成功添加 2、必填项内容不填、其他项正确输入,点添加按钮,系统是否有相应提示 3、仅填写必填项,点添加按钮,记录能否添加成功 4、内容项中输入空格,点添加按钮,记录能否添加成功 5、内容项中输入系统中不允许出现的字符、点添加按钮,系统是否有相应提示 6、内容项中输入HTML脚本,点添加按钮,记录能否添加成功 7、添加记录失败时,原填写内容是否保存 8、新添加的记录是否排列在首行 9、提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错 10、是否支持Tab、Enter键 11、是否能够连续添加(针对特殊情况) 12、是否可以重复添加 13、两个人添加相同的信息,同时点击提交,系统是否有相应提示 四、修改功能 1、修改功能是否正确修改数据库中对应表的对应字段的数据; 2、修改功能应该不允许修改数据库中对应表的对应记录的主键数据; 3、修改功能不会影响数据库中与对应修改数据无关的数据,不会新增数据(除非新增处理是作废原记录并新增记录)。 4、修改成功或失败都应该反馈准确的提示信息。 5、修改提交时应该自动处理掉输入内容两端的空格。 6、若结果列表中没有记录或者没选择记录,点击修改按钮,系统是否有相应提示 7、如果不可重复添加,修改为已存在的数据,是否给出相应提示 8、提交数据时,连续多次点击,查看系统会不会连续增加几条相同的数据或报错 9、是否进行必填项检查、长度检查等其他限制条件 10、对于图片上传,若不上传图片,查看编辑页面时是否显示有默认的图片,若上传图片,查看是否显示为上传图片 11、修改正在查看的信息,或是两个人同时修改,系统是否有相应提示 五、删除功能 1、选择任意一条记录,进行删除,能否删除成功 2、选择不连续多条记录,进行删除,能否删除成功 3、选择连续多条记录,进行删除,能否删除成功 4、能否进行批量删除操作 5、删除时,系统是否有确认删除的提示 6、当只有一条数据时,是否可以删除成功 7、删除一条数据后,是否可以添加相同的数据 8、如有全选,注意是否把所有的数据删除 9、删除数据时,要注意相应查询页面的数据是否及时更新 10、如删除的数据与其他业务数据关联,要注意其关联性(如删除部门信息时,部门下游员工,则应该给出提示) 11、如果结果列表中没有记录或没有选择任何一条记录,点击删除按钮系统会报错 12、删除正在查看的信息,或是两个人同时删除信息,系统是否有相应提示 如:某一功能模块具有最基本的增删改查功能,则需要进行以下测试 单项功能测试(增加、修改、查询、删除) 增加——>增加——>增加 (连续增加测试) 增加——>删除 增加——>删除——>增加 (新增加的内容与删除内容一致) 增加——>修改——>删除 修改——>修改——>修改 (连续修改测试) 修改——>增加(新增加的内容与修改前内容一致) 修改——>删除 修改——>删除——>增加 (新增加的内容与删除内容一致) 删除——>删除——>删除 (连续删除测试) 六、注册、登陆模块 1 注册功能 2 登陆功能 3 验证码图片 4 修改密码 1、注册功能: (1)用户名、密码输入: 1)非法字符,能否粘贴不符合要求的字符 2)空格(半角、全角):仅空格、字符前中后有空格 3)输入null、NULL 4)最大边界值、最大边界值+1、最小边界、最小边界值-1、超长字符 5)输入脚本 (2)用户名密码其中一个为空或都为空 (3)注册已存在的用户 (4)改变存在的用户的用户名和密码的大小写,来注册 (5)两次密码输入不一样 (6)密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示 (7)看是否支持tap和enter键等 (8)注册时,设置密码为特殊版本号,检查登录时是否会报错 (9)注册成功后,页面应该以登陆状态跳转到首页或指定页面 (10)在注册信息中删除已输入的信息,检查是否可以注册成功。 2、登陆功能: (1)输入正确的用户名和正确的密码 (2)输入正确的用户名和错误的密码 (3)输入错误的用户名和正确的密码 (4)输入错误的用户名和错误的密码 (5)用户名、密码输入: 1)非法字符,能否粘贴不符合要求的字符 2)空格(半角、全角):仅空格、字符前中后有空格 3)输入null、NULL 4)最大边界值、最大边界值+1、最小边界、最小边界值-1、超长字符 (6)用户名密码其中一个为空或都为空 (7)输入正确的用户名和密码,但是不区分大小写 (8)已删除的用户名和密码 (9)不存在的用户名 (10) 密码是否加密,能否复制粘贴出加密的密码 (11)考虑是否支持多用户在同一机器上登录; (12)考虑一用户在多台机器上登录; (13)使用禁用帐号登陆,系统能否正确处理; (14)删除或修改后的用户用原用户登录; (15)支持Tab、Enter键 (16)登录成功后能否能否跳转到正确的页面 (17)记住用户名的功能 (18)登陆失败后,不能记录密码的功能 (19)要考虑多次点击登录和取消按钮的界面反应; (20)登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取) (21)用户名和密码是否通过加密的方式,发送给Web服务器 (22)用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证 (23)用户名和密码的输入框,应该屏蔽SQL 注入攻击 (24)用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击) (25)错误登陆的次数限制(防止暴力破解) 1、SQL注入:username dlrTest' passwd abc' 2、SQL注入:username dlrTest'or'1'='1 3、SQL注入:username dlrTest'or'1'='1--或者dlrTest'or'-- passwd abc' 3、验证码图片 (1)刷新页面,验证码是否更新 (2)点击“验证码”图片,验证码是否更新 (3)用户名密码验证码输入错误或不输入,登录失败后,验证码是否更新 4、修改密码 原密码: 新密码: 确认密码: 确定取消 (1)用户名:输入错误 (2)不输入旧密码,直接改密码----修改失败 (3)输入错误的原密码----修改失败 (4)新密码和确认密码不一致----修改失败 (5)不输入新密码----修改失败 (6)不输入确认密码----修改失败 (7)新密码和确认密码为空----修改失败 (8)新密码和确认密码包含空格(前中后)----修改失败 (9)新密码为最多字符----修改成功 (10)新密码为最少字符----修改成功 (11)长度测试:最小边界值,最小边界值-1,最大边界值,最大边界值+1 (12)新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等) (13)看是否支持tab和enter键等 (14)密码是否可以复制粘贴 (15)密码是否以* 之类的加密符号 (26)看密码是否区分大小写,新密码中英文小写,确认密码中英文大写 (27)新密码与旧密码一样能否修改成功 (28)密码修改成功后是否可以用旧密码登录成功 (29)密码修改成功后是否可以用新密码登录成功 七、上传图片测试 功能实现: (1)上传文件是否支持中文、英文、特殊符号、空格、数字 名称,并且可以正确显示 (2)文件类型正确、大小合适(最小边界值,最大边界值) (3)文件类型正确,大小不合适(最小边界值-1,最大边界值+1) (4)文件类型错误,大小合适(上传bmp,jpg,tiff,gif,pcx,tga,exif,fpx,svg,psd,cdr,pcd,dxf,ufo,eps,ai,raw,WMF,.doc;.xls;ppt;jpeg;psd;tga;png;swf;pcx;dxf;emf;lic;eps;.txt等格式文件) (5)文件类型和大小都合适,上传一个正在使用中的图片(即打开该图片,在上传该图片) (6)文件类型大小都合适,手动输入存在的图片地址来上传 (7)文件类型和大小都合适,输入不存在的图片地址来上传 (8)文件类型和大小都合适,输入图片名称来上传 (9)不选择文件直接点击上传,查看是否给出提示 (10)连续多次选择不同的文件,查看是否上传最后一次选择的文件 (11)上传文件名测试,检查不符合文件名规范 1) 图片:图片名.wmv.jpg 2) 非图片:图片名.jpg.wmv 3) 超长文件名: (12)上传文件容错性测试:如检查覆盖同文件操作; (13)上传文件后,检查是否与源文件一致,包含目录设置等 (14)上传文件,是否能打开等 (15)上传文件能否正确显示 (16)上传文件发布时间是否正确 (17)上传文件特性测试:如果支持如断点续传等一些特性 (18)上传文件异常情况测试:如硬盘空间不足 (19)上传文件速率性能测试:检查上传不同的文件在不同的网络环境响应速度,及系统资源占用 (20)上传文件安全性测试:如上传常见木马 (21)上传文件易用性测试:检查上传文件操作是否让用户易于学习和理解使用等 八:文件导出 1、导出文件是否是查询结果的文件内容 2、验证导出文件名长度,根据具体情况而定 3、验证导出文件为空的情况 4、验证导出文件名为特殊字符的情况 5、验证导出全部资料的情况,导出的信息是否正确 6、验证导出部分资料的情况,导出的信息是否正确 7、验证导出大量数据时的时间是否在合理的时间范围内 8、验证导出目的磁盘空间已满的情况下,导出是否有友好的处理方式 9、验证导出目的的文件夹为只读的情况下,导出时是否有友好的的提示信息 九、文件下载页面 1、当前位置的提示是否现实正确;页面美观性、易用性;按钮文字是否正确 ;说明性文字是否正确 2、正确/错误的提示文字是否正确 3、右键另存为是否可以正确下载文件,并且记录下载次数 · 4、工具下载是否正确,并且记录下载次数 5、单击下载是提示下载还是在页面打开 · 直接打开是否显示正确 6、对于本机没有安装工具的文件是否能够打开,是否能给出正确的提示 · 7、对于直接在页面内打开的内容是否能够显示正常,页面美观性 · 8、保存到本地是否能正确显示 9、取消下载是否会纪录下载次数 10、下载次数是否被正确记录 11、后台没有发布的文件是否在前台可以找到并下载 12、后台设置了下载权限的文件是否可以被正确看到、是否可以下载 十、查询结果列表 功能实现: (1)列表、列宽是否合理 (2)列表数据太宽有没有提供横向滚动 (3)列表的列名有没有与内容对应 (4)列表的每列的列名是否描述的清晰 (5)列表是否把不必要的列都显示出来 (6)点击某列进行排序,是否会报错(点击查看每一页的排序是否正确) (7)双击或单击某列信息,是否会报错 十一、cookie 1、是否包含明文的敏感信息 2、浏览器是否打开cookie选项