• web测试策略


    一、输入框

    二、搜索功能

    三、添加功能

    四、修改功能

    五、删除功能

    六、注册、登陆模块

    七、上传图片测试

    八:文件导出

    九、文件下载页面

    十、查询结果列表

    十一、cookie 


    一、输入框

       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代码:比如"<font>你好</font>"
    (8)输入javascript代码:比如 <param name="MovieWindowWidth" value="320">;<b>hello</b>;alert("hello");doucment.write("abc");
    (9)转义字符:比如<Script Language="JavaScript"> </script>;<br>;<tr>;<td>;</tr>;</td>;</html>;</body>;</table>等
    (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、浏览器是否打开cooke选项

  • 相关阅读:
    守护进程、互斥锁、生产者消费者模型
    实现并发编程的基础理论
    udp协议
    进程与进程池
    tcp协议产生-粘包问题的解决方案
    day21面向对象_类
    day16_面向过程编程与模块导入
    day15_函数递归_匿名函数_内置函数
    三、运算符(阶段二)
    二、(续)基础语法--常量、变量和注释(阶段二)
  • 原文地址:https://www.cnblogs.com/snailgirl/p/7865978.html
Copyright © 2020-2023  润新知