01 浏览器兼容性:不是所有Chrome都是亲儿子
你以为Chrome跑通了,IE、Edge、Firefox、Safari就稳了?
现实是,一个CSS属性在不同浏览器上的表现天差地别。
比如 flexbox 布局,在Chrome 80上完美居中,在Safari 14上直接堆叠成上下排列。
测试时,你必须覆盖主流浏览器的最新版本+前两个大版本。
浏览器兼容性测试,是Web测试的第一道生死线。
操作步骤:
1. 确定目标浏览器列表(Chrome、Firefox、Edge、Safari),版本号取最新+前2个大版本。
2. 使用工具如BrowserStack或Sauce Labs,模拟真实环境。
3. 重点检查:布局错位、字体渲染、交互响应(点击、滚动、悬停)。
代码示例(CSS兼容性检查):
测试时,用浏览器开发者工具检查是否生效。
数据对比:
- ►未做兼容性测试的Web应用,上线后用户投诉率平均37%。
- ►覆盖3个浏览器版本后,投诉率降至5%。
金句:
一个浏览器版本不兼容,就是100%的用户流失。
02 分辨率与响应式:用户屏幕不是你的设计稿
设计稿是1920x1080,用户可能用1366x768、1440x900,甚至手机竖屏看。
Web测试中,分辨率适配是高频翻车点。
一个按钮在宽屏上居中,在窄屏上跑出边界;一个表格在桌面上完美,在平板上列宽溢出。
响应式测试不是“缩放大法”,而是验证每个断点的完整功能。
操作步骤:
1. 列出目标设备分辨率(桌面:1920、1440、1366;平板:1024、768;手机:414、375)。
2. 使用Chrome开发者工具的“设备模拟”功能(Ctrl+Shift+M)。
3. 逐分辨率检查:
- ►文字是否换行、被截断
- ►图片是否变形、溢出
- ►交互元素(按钮、链接)是否可点击
- ►滚动条是否正常
代码示例(媒体查询断点):
测试时,检查每个断点下的布局变化是否符合预期。
数据对比:
- ►未做响应式测试的Web应用,移动端跳出率62%。
- ►覆盖3个主流分辨率后,跳出率降至18%。
金句:
用户的屏幕不是你画布的缩小版,而是另一个战场。
03 网络与性能:3G网络下的页面不是慢,是死
用户不会告诉你“我用的是2G网络”,他们只会直接关掉你的页面。
Web测试中,网络模拟是必做项。
一个页面在WiFi下加载2秒,在3G下可能30秒,用户等不了。
性能测试不是跑分游戏,而是模拟真实网络下的生存能力。
操作步骤:
1. 使用Chrome开发者工具 -> Network -> 选择“Slow 3G”或“Fast 3G”。
2. 记录关键指标:
- ►首屏加载时间(First Contentful Paint)
- ►完全加载时间(DOMContentLoaded)
- ►交互可用时间(Time to Interactive)
3. 优化后重测,确保3G下首屏加载 < 3秒。
代码示例(性能监控):
测试时,对比优化前后的loadTime值。
数据对比:
- ►未做网络测试的Web应用,3G下平均加载时间12秒。
- ►优化后(压缩图片、懒加载、代码分割),加载时间降至2.8秒。
金句:
1秒的延迟,就是7%的转化率损失。
04 表单与输入:用户输入的不是数据,是陷阱
你测试时输入“admin123”,用户可能输入“”。
Web测试中,表单验证是安全与功能的双重防线。
一个未做XSS过滤的输入框,能让整个网站被劫持。
表单测试不是填数据,而是模拟黑客的恶意输入。
操作步骤:
1. 测试输入类型:
- ►正常数据(字母、数字、中文)
- ►边界数据(空值、超长字符、特殊符号)
- ►恶意数据(SQL注入:
' OR 1=1--、XSS:)
2. 验证前端验证:检查是否阻止非法输入。
3. 验证后端验证:抓包绕过前端,直接发送恶意请求。
代码示例(前端验证):
测试时,尝试输入超长字符或特殊符号,检查是否被拦截。
数据对比:
- ►未做表单安全测试的Web应用,XSS攻击成功率43%。
- ►前后端双重验证后,攻击成功率降至0.2%。
金句:
用户输入一个,你的网站就变成了别人的提款机。
05 状态与导航:后退按钮不是历史记录,是炸弹
用户点击“后退”后,页面应该回到之前的状态,而不是显示空白或报错。
Web测试中,浏览器导航(前进、后退、刷新)是常被忽略的漏洞。
一个未处理浏览器历史状态的单页应用,后退后可能数据丢失、表单重置。
导航测试不是点一下,而是模拟用户“乱点”的行为。
操作步骤:
1. 执行操作:填写表单、点击链接、提交数据。
2. 点击浏览器“后退”按钮,检查:
- ►页面是否正确回退到上一状态
- ►表单数据是否保留
- ►是否出现404或空白页
3. 点击“前进”按钮,验证状态恢复。
4. 刷新页面,检查数据是否持久化(如localStorage、sessionStorage)。
代码示例(状态管理):
测试时,模拟后退、刷新操作,验证数据是否恢复。
数据对比:
- ►未做导航测试的Web应用,用户后退后报错率28%。
- ►处理后,报错率降至1%。
金句:
用户的后退按钮,是Web测试的“回旋镖”测试。
---
总结金句:
Web测试不是验证“它能不能用”,而是证明“它在任何条件下都不会崩”。