知名网站测试实战

霍格沃兹测试开发学社

ceshiren.com

目录

  • 项目背景
  • 项目流程
  • 需求分析
  • 测试计划编写
  • 测试设计
  • 测试执行
  • 测试总结

项目背景

项目介绍

模块介绍

项目流程

web 测试流程

  • 需求分析
  • 测试计划编写
  • 测试用例编写
  • 用例执行
  • 回归测试
  • 兼容性测试
  • 安全测试
  • 走查验收(UI、产品)
  • 测试总结报告

需求分析

需求文档

需求评审

需求分析步骤

  • 明确测试范围
  • 明确功能点
  • 明确业务流程
  • 明确输出结果
  • 分析异常流程
  • 预估测试需要的时间和资源

需求分析实战

  • 企业微信 web 版
  • 添加成员

测试计划编写

测试计划作用

  • 方便宏观调控,进行相应资源配置
  • 方便了解整个项目测试情况以及项目测试不同阶段的所要进行的工作

测试计划模板

测试计划编写要点

  • 5W + H 原则
  • why:为什么要进行这些测试
  • what:测试哪些方面,不同阶段的工作内容
  • when:测试不同阶段的起止时间
  • where:相应文档,缺陷的存放位置,测试环境等
  • who:项目有关人员组成,安排哪些测试人员进行测试
  • how:如何去做,使用哪些测试工具以及测试方法进行测试

测试计划编写实战

  • 企业微信 web 版
  • 添加成员

测试设计

测试用例设计步骤

  1. 划分功能模块
  2. 正向功能验证
  3. 单个功能项验证
  4. 功能之间交互验证
  5. 隐形需求

测试用例设计实战

  • 企业微信 web 版
  • 添加成员模块

测试用例评审

  • 测试用例的本身的描述是否清晰,是否存在歧义
  • 测试用例内容是否正确,是否与需求目标相一致
  • 测试用例的期望结果是否确定、唯一
  • 测试用例是否覆盖了所有的需求
  • 测试用例是否具有可执行性
  • 是否从用户层面来设计用户使用场景和业务流程的测试用例
  • 场景测试用例是否覆盖最复杂的业务流程
  • 用例设计是否包含了正面、反面的用例

web 测试用例设计总结

测试执行

提测

bug 定位

  • 前端问题:查看源码
  • 通过网络数据定位:抓取网络数据分析
  • 后台错误:分析日志

兼容性测试

  • 浏览器兼容
  • 操作系统兼容
  • 分辨率兼容

浏览器兼容

操作系统

分辨率

兼容测试工具

  • IETester:可以方便的解决IE浏览器的兼容问题
  • Browsershots:一个在线测试工具,支持很多浏览器
  • 开发者工具 - Toggle device toolbar

Toggle device toolbar

  • 模拟移动设备界面
  • 自定义设备
  • 旋转屏幕
  • 生成页面快照
  • 显示标尺
  • 缩放视图
  • 限制网络流量和 CPU 占用率

性能测试

  • web 页面响应时间
  • 负载测试:测量 Web 系统在某一负载级别上的性能,以保证 Web 系统在需求范围内能正常工作
  • 压力测试:测试 Web 应用系统会不会崩溃,在什么情况下会崩溃
  • 测试方法:
    • 开发者工具 - NetWork
    • JMeter

安全测试

  • SQL 注入:将 SQL 语句添加到输入参数中,传递到服务端解析并执行的一种攻击手法
  • XSS 跨站攻击:恶意攻击者往 web 页面插入恶意脚本代码
null
NULL
javascript
<script></script>
<title>
<html>
<script>alert("abc")</script>
doucment.write("abc")
<b>hello</b>
1’ order by 1 #
1' or '1'='1
' or 1=1#

测试总结

测试报告模板

总结要点

  • 人力投入
  • 用例覆盖情况
  • Bug 的分类及数量统计
  • 遗留 Bug 情况
  • 测试风险
  • 测试结论

课后作业

  • 补充企业微信 web 版添加成员模块的测试用例(xmind)
    • 编辑头像界面
    • 选择成员所在部门