Web测试策略
2019-02-21 11:14:03    20    0    0
junjie
#一、输入框 ##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. 多行文本框输入: * 允许回车换行、保存后再显示能够保存输入的格式; * 仅输入回车换行,检查能否正确保存(若能,检查保存结果,若不能,查看是否有正常提示) ##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. 有@和 . 符号 * @和 . 之间没有字符串,如abc@.com,abc.@com * 字符串的第一位是@或 . 如@163.com,.abc@163.com,@abc@sina.com * 字符串的最后一位是@或 . 如 abc@sina.com@,abc@sina.com. * 有@和 . 符号,并有特殊字符 如abc#d@163.com,abc@16#3&.com,abc@163.c$%om * 有@和 . 符号,并有空格 如 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 * 单独查询:A;B;C;D;E 确保单独查询的正确性,这也是最基本的。 * 两个组合查询:AB;AC;AD;AE;BC;BD;BE;CD;CE;DE。 确保两个组合查询的正确性,这保证了两两之间不会相互影响。 * 三个组合查询:ABC;CDE 确保三个组合的正确性;因为我们已确保了单独及两个组合查询的正确性,所以不需要测试三个组合的全部级组合。 * 五个组合查询: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、注册功能: 1. 用户名、密码输入: - 非法字符,能否粘贴不符合要求的字符 - 空格(半角、全角):仅空格、字符前中后有空格 - 输入null、NULL - 最大边界值、最大边界值+1、最小边界、最小边界值-1、超长字符 - 输入脚本 2. 用户名密码其中一个为空或都为空 3. 注册已存在的用户 4. 改变存在的用户的用户名和密码的大小写,来注册 5. 两次密码输入不一样 6. 密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示 7. 看是否支持tap和enter键等 8. 注册时,设置密码为特殊版本号,检查登录时是否会报错 9. 注册成功后,页面应该以登陆状态跳转到首页或指定页面 10. 在注册信息中删除已输入的信息,检查是否可以注册成功。 ##2、登陆功能: 1. 输入正确的用户名和正确的密码 2. 输入正确的用户名和错误的密码 3. 输入错误的用户名和正确的密码 4. 输入错误的用户名和错误的密码 5. 用户名、密码输入: - 非法字符,能否粘贴不符合要求的字符 - 空格(半角、全角):仅空格、字符前中后有空格 - 输入null、NULL - 最大边界值、最大边界值+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. 密码是否以* 之类的加密符号 16. 看密码是否区分大小写,新密码中英文小写,确认密码中英文大写 17. 新密码与旧密码一样能否修改成功 18. 密码修改成功后是否可以用旧密码登录成功 19. 密码修改成功后是否可以用新密码登录成功 #七、上传图片测试 功能 实现: 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. 上传文件名测试,检查不符合文件名规范 - 图片:图片名.wmv.jpg - 非图片:图片名.jpg.wmv - 超长文件名: 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. 浏览器是否打开cooke选项 --- https://www.cnblogs.com/snailgirl/p/7865978.html#c1

上一篇: 在线用户数与并发用户数的区别和比例关系

下一篇: 测试基本理论知识

Table of content