画布 1
Web功能测试
  WEB基础知识
    什么是 web
      全球广域网
    系统架构
      B/S
        web产品
      C/S
        app产品
    web产品架构
      UI 界面
      业务逻辑层
      数据访问层
    网页
      静态网页
      动态网页
      有没有和服务端进行数据交互
    URL
      统一资源定位符
      格式
        schema://
          模式/协议
            http
            https
            ftp
        host
          主机名/域名/IP地址
        port
          端口
        path
          资源路径
        query
          查询字符串（请求参数）
        schema://host[:port]/path?query
        https://www.baidu.com/s?ie=utf-8&f=8
    HTTP协议
      超文本传输协议
        请求
          请求行：method url protocol
          请求头
          请求参数
          请求体
        响应
          响应状态行：protocol statuscode
          响应头
          响应体
    常见面试题：浏览器工作原理
    DNS
      域名解析系统
    web服务器
      Apache
      Tomcat
      Nginx
  WEB开发语言
    HTML
      什么是 HTML
        超文本标记语言
        描述网页的语言
      怎么查看 HTML 源码？
        浏览器开发者工具 -- Elements
      HTML基本结构
        文档声明
        html 根标签
          head 头部标签
            meta 设置
            title 标题
          body 网页主体
      HTML常见标签和属性
        单标签
        双标签
    JavaScript
      什么是 JS
        轻量级编程语言
        可以直接插入 HTML 页面
      作用
        直接改变 HTML 的内容
        对操作事件作出反应
        改变 HTML 样式
      引用
        内部
          写在 <script> 标签之间
        外部
          通过 script 标签 src 属性直接引入 js 脚本文件
      输出
        输出到弹窗
        写入 HTML 文档中
        写入浏览器控制台
          console.log()
      通过 DOM 查找 HTML 元素
        通过 id 定位元素
        通过 tag 定位元素
        通过 class 定位元素
    CSS
      CSS 是什么
        层叠样式表
        定义 HTML 元素如何展示
      CSS 格式
        选择器 {属性1:值1; 属性2:值2}
      CSS 选择器
        id 选择器
          #id
        class 选择器
          .className
        元素选择器
          tagName
        属性选择器
          [属性]
      引用方式
        内联方式
          在标签中，通过 style 属性设置，只对当前标签有效
        外联方式
          文档内
            <style> 标签之间
          外部 CSS 文档
            通过 link 标签
      盒子模型
        外边距
        边框
        内边距
        内容
      网页布局
        头部区域
        导航栏
        内容区域
          1列
          2列
          3列
        底部区域
  WEB测试流程
    需求分析
    测试计划编写
    设计测试用例
      编写
      评审
    测试执行
      功能测试
        执行测试用例
        Bug 管理
      非功能测试
        兼容性测试
        安全性测试
        性能测试
    回归测试
    验收测试
      UI 产品 走查验收
    测试总结
      测试报告
  WEB测试用例设计思路
    web功能测试
      界面风格统一，与 UI 设计原型图一致
      界面文案正确
      提示、警告或错误说明描述准确
      切换窗口大小，将窗口缩小后，页面是否按比例缩小或出现滚动条，页面是否正确显示
      所有的图片是否都被正确装载
      在不同的浏览器、分辨率下图片是否能正确显示
    搜索测试
      如果支持模糊查询，搜索名称中任意一个字符是否能搜索到
      比较长的名称是否能查到：需要针对需求当中对于长度的要求来设计
      输入系统中不存在的与之匹配的条件：要覆盖搜不到结果的场景
      不同查询条件之间来回选择，是否出现页面错误
      查询条件的组合测试：多个查询条件的情况，需要设计不同条件组合的查询场景
    表单测试
      表单按钮功能正常实现
      下拉列表数据完整、正确，可以正常选择，是否支持模糊匹配
      文件上传大小、尺寸、格式、数量、文件内容规则验证
      表单提交，删除，修改后是否有提示信息
      浏览器的前进、后退、刷新按钮，是否会造成数据重现或页面报错
      提交表单是否支持回车键和 Tab 键
      数据重复检验
      提交的数据是否能正确保存到数据库中
    输入域测试
      输入类型检验：比如字母、数字、特殊字符、中文等等，需要按照需求文档中的要求设计对应的类型检验
      输入长度检验
      必填项检验
      重复性检验
      空格检查：单空格，前后加空格
      安全性检查：注入（sql，html、js），加密（密码，银行卡），权限（没登录直接访问页面 url）
    分页测试
      没有数据时界面展示情况
      翻页后数据展示情况
      分页的总页数及当前页数显示是否正确
      是否能正确跳转到指定的页数
    交互性数据测试
      前台的数据操作是否对后台产生相应正确的影响
      用户的权限，是否随着授权而变化
    链接测试
      是否能够直接链接查看
      是否有权限控制
      是否直接执行，并返回相应结果页
  WEB测试工具-浏览器开发者工具
    Elements - 元素
      定位元素
      查看元素源码
      查看元素样式
    Network - 网络
      抓取网络数据包
      查看网络数据包的内容
      清缓存
      模拟网络
      筛选不同类型网络资源
  测试执行
    执行测试用例
      在测试用例管理平台中修改用例状态
    管理 Bug
      Bug 基本概念
        Bug 定义
          程序错误
          程序漏洞
          程序不完善
        Bug 判定标准
          未达到需求要求的功能和性能
          出现用户不能容忍的错误
          不符合用户使用习惯和工作环境
          超出了需求的范围
        Bug 严重程度
          致命
            崩溃
            非法重启、非法退出、死机
            死循环
            数据丢失
            功能与需求严重不符
          严重
            功能不符合需求
            数据计算错误
            业务流程错误
            接功能实现不完整
            部分功能无法执行
            错误操作会引起程序中断
          一般
            内容错误
            格式错误
            响应时间慢
            提示信息不准确
            功能在本界面不能实现，但是在另一个界面可以补充实现
          建议
            界面不美观
            提示信息描述不清楚
            快捷键支持不好
            界面不及时刷新
        Bug 优先级
          最高
            立即修改
          高
            尽快修改
          中
            需要修改，不是太着急
          低
            可以修改，也可以以后再说
        Bug 处理流程
          提交
            测试人员
          确认
            开发/项目经理/产品
              是 Bug
                重复
                无法修改
                不修改
                可修改
              不是 Bug
                不是问题
          确定优先级
            开发/项目经理/产品
              立即修改
              延后
          处理
            开发
              已修复
          回归
            测试
          重新打开
          关闭
            测试
        Bug 报告
          编号
          产品
          版本
          模块
          提交人
          复现概率
            必现
            偶现
          严重级别
          优先级
          标题
            概括说明 bug 的情况
          Bug 内容描述
            测试环境
              服务端的环境
              客户端的版本
              使用的设备的系统版本
              使用的什么设备
            前提条件
            复现步骤
            预期结果
            实际结果
          附件
            截图
            录屏
            日志 log
            测试数据文件
        Bug 定位
          bug 是前端的还是后端的
          bug 发生时的日志
          bug 发生的时间
      Bug 管理
        JIRA
          定制 Bug 管理流程
            创建 Bug 问题类型
            创建 Bug 管理工作流
            创建专门的 Bug 管理界面
            创建 Bug 相关字段
          输入 Bug 报告
          修改 Bug 状态，完成与团队其他成员协作
  WEB端常见Bug
    内容超长展示错乱
    更换设备布局错乱
    提示信息
      不明确
      错误
      错别字
    功能不符合需求
    安全性
      输入 html 展示异常信息
    JS 报错
    不同步
      更新后数据不同步
      登录状态不同步
    性能
      加载时间太长
    接口
      页面请求失败
  WEB兼容测试策略
    浏览器兼容
    操作系统兼容
    分辨率兼容
  测试总结（测试报告）
    测试对象
    人力投入
    测试范围
      测试用例覆盖情况
    测试用例执行结果
    Bug 数量统计
    遗留 Bug 情况
    测试风险
    测试结论