Web软件测试Checklist

59 阅读7分钟

引言: 本Checklist旨在为Web软件的质量保证提供一个全面、现代化的指导框架。它整合了传统的功能/UI测试要点与当前行业关注的性能、安全、无障碍等关键领域,适用于从需求评审到上线的整个软件生命周期。

image


1. 功能与UI测试

核心目标:确保应用的所有功能按预期工作,用户界面美观、一致且易于交互。

1.1 数据输入与表单

  • 输入框:

    • 占位符文本清晰准确。
    • 支持清除功能。
    • 支持键盘Tab键切换焦点,顺序符合逻辑。
    • 输入长度限制、格式(如邮箱、电话)验证正确。
    • 特殊字符、脚本注入(XSS)输入被正确处理或拒绝。
  • 表格输入:

    • 单行/多行文本输入、数字输入验证。
    • 表单提交逻辑正确,必填项有明确标识。
    • 实时验证 vs. 提交后验证,体验符合预期。
  • 下拉菜单:

    • 默认值设置正确。
    • 选项列表完整,支持搜索过滤(如果适用)。
    • 支持单选/多选功能。
  • 复选框/单选按钮:

    • 默认选中状态正确。
    • 单选按钮组内互斥性有效。
    • 复选框支持批量选择/全选功能。
  • 日期选择器:

    • 日历视图交互正常。
    • 支持键盘直接输入,并验证格式。
    • 禁用未来/过去日期等限制生效。
  • 文件上传:

    • 支持拖拽上传功能。
    • 文件类型、大小限制验证有效。
    • 上传后有预览功能(如适用)。
  • 富文本编辑器:

    • 加粗、斜体、列表、链接插入等功能正常。
    • 内容提交和回显正确。

1.2 导航与路由

  • 导航操作:

    • 主导航、侧边栏、面包屑导航链接正确。
    • 浏览器前进/后退按钮与路由状态同步。
    • 返回/取消按钮逻辑正确。
  • 链接:

    • 所有链接均可访问,无404错误。
    • 外部链接是否在新标签页打开(符合设计规范)。
    • 访问过的链接样式有变化。
  • 菜单:

    • 菜单的展开/收起、悬停效果正常。
    • 响应式布局下,菜单能正确折叠为汉堡菜单。

1.3 组件与交互

  • 按钮:

    • 按钮文案清晰、无错别字。
    • 不同状态(默认、悬停、点击、禁用、加载中)样式和功能正确。
  • 状态管理:

    • 复杂操作(如多步骤表单)中,应用状态(如Redux, Vuex)保持一致。
    • 页面刷新后,非持久化状态被正确重置。
  • 实时通信:

    • WebSocket连接、消息推送、实时更新功能正常。
    • 连接断开/重连时有友好提示。

1.4 视觉、内容与布局

  • 颜色与字体:

    • 颜色符合品牌规范,不同状态(成功、警告、错误)颜色正确。
    • 字体、字号、行高统一,可读性好。
    • 支持暗黑模式/主题切换,且切换后显示正常。
  • 图片:

    • 图片加载速度快,在不同分辨率下清晰。
    • 所有有意义的图片都设置了alt属性。
    • 响应式图片在不同设备上显示适配。
  • 内容:

    • 所有文本内容准确,无错别字、语法错误。
    • 术语使用全站统一。
    • 数据展示(如列表、图表)准确无误,格式化(货币、日期)正确。
  • 布局与设计:

    • 遵循设计系统规范。
    • 页面缩放(如放大至200%)时,布局不乱,功能可用。
    • 无视觉回归问题(与设计稿或历史版本对比)。

1.5 用户反馈与帮助

  • 消息提示:

    • 成功、错误、警告、信息等各类提示消息清晰、准确。
    • 消息出现时机和位置合理,不会遮挡关键操作。
    • 消息能自动消失或可手动关闭。
  • 帮助文档:

    • 帮助/FAQ链接有效,内容与当前版本匹配。
    • 提供上下文帮助(如输入框旁的提示图标)。

2. 兼容性测试

核心目标:确保应用在目标用户使用的所有主流环境(浏览器、设备、操作系统)上都能正常运行。

  • 跨浏览器:

    • Chrome, Firefox, Safari, Edge 最新版本。
    • (如果需要)指定支持的旧版浏览器(如IE11, Safari 12)。
  • 跨设备与操作系统:

    • 桌面端。
    • 平板。
    • 移动端。
  • 跨平台:

    • PWA (Progressive Web App) 的安装、离线功能、推送通知。
    • Electron 桌面应用的打包与原生功能调用。

3. 性能测试

核心目标:确保应用加载快速、响应灵敏,提供流畅的用户体验。

  • 加载性能:

    • 首次内容绘制 (FCP) < 1.8s。
    • 最大内容绘制 (LCP) < 2.5s。
    • 首次输入延迟 (FID) < 100ms。
    • 累积布局偏移 (CLS) < 0.1。
    • JS, CSS, 图片等资源已压缩和合并。
  • 运行时性能:

    • 页面滚动、复杂动画流畅度 > 60fps。
    • 长时间使用后无明显内存泄漏。
    • 大数据量渲染时(如长列表)操作不卡顿。
  • API性能:

    • 核心API响应时间在可接受范围内。
    • API能支持预期的并发用户数。

4. 安全性测试

核心目标:保护应用和用户数据免受恶意攻击。

  • 前端安全:

    • 有效防范跨站脚本攻击 (XSS)。
    • 有效防范跨站请求伪造 (CSRF)。
    • 敏感数据(API密钥、密码、Token)不在前端代码中硬编码或明文存储。
  • 数据传输与存储:

    • 全站强制使用HTTPS。
    • 关键Cookie设置了SecureHttpOnly属性。
    • 敏感信息在界面上进行脱敏显示(如身份证号、手机号)。
  • 依赖安全:

    • 定期扫描第三方库/依赖项,修复已知漏洞。
  • 访问控制:

    • 基于角色的权限管理(RBAC)严格有效。
    • 未登录用户无法访问受保护页面。
    • 低权限用户无法访问或操作高权限功能。
    • 会话超时后自动登出。

5. 无障碍性测试

核心目标:确保所有用户,包括有残障(视觉、听觉、运动、认知障碍)的用户,都能无障碍地使用应用。

  • 键盘导航:

    • 所有交互元素(链接、按钮、表单控件)均可通过Tab键访问。
    • 焦点指示器清晰可见。
    • 支持EnterSpace键激活按钮和链接。
  • 屏幕阅读器支持:

    • 使用语义化HTML5标签(<header><nav><main><button>)。
    • 所有图片提供有意义的alt文本。
    • 表单控件有关联的<label>标签。
    • 适当使用ARIA属性(如aria-labelaria-describedby)增强语义。
  • 视觉与感知:

    • 文本与背景的颜色对比度至少达到WCAG 2.1 AA标准(4.5:1)。
    • 不仅依靠颜色来传达信息(如错误状态需有图标或文字提示)。
    • 页面缩放至200%时,内容依然可读且功能可用。

6. API与后端集成测试

核心目标:确保前后端数据交互的准确性、稳定性和安全性。

  • 接口功能:

    • HTTP方法 (GET, POST, PUT, DELETE) 使用正确。
    • 请求参数、请求头、请求体格式正确。
    • 响应状态码 (200, 201, 400, 401, 404, 500等) 准确反映业务状态。
    • 响应数据结构、字段类型和值符合预期。
  • 异常处理:

    • 网络中断、超时等异常情况有前端友好提示。
    • 服务器错误(5xx)时,前端不崩溃,有统一错误页。
    • API版本兼容性处理得当。

7. 数据隐私与合规性测试

核心目标:确保应用处理用户数据的方式符合法律法规要求。

  • 合规性:

    • 遵循GDPR(欧盟)、CCPA(加州)等适用数据保护法规。
    • Cookie同意横幅功能完整,用户可自由选择接受/拒绝。
  • 数据使用:

    • 隐私政策清晰说明数据收集的范围和用途。

    • 提供用户数据导出功能。

    • 提供用户账户/数据删除(被遗忘权)功能。

如何使用此Checklist

  • 测试工程师 (QA) : 将其作为测试用例设计的核心参考,系统地执行探索性测试和回归测试。重点关注自动化测试覆盖功能、API、兼容性等部分。 这些内容以LLM的知识库
  • 开发工程师: 在编码和自测阶段使用此Checklist,实现“测试左移”,尽早发现问题。特别关注性能、安全、无障碍的技术实现细节。
  • 产品经理 (PM) : 在需求设计和评审阶段,参考此Checklist确保产品需求覆盖了用户体验、无障碍、数据隐私等非功能性需求。
  • 团队协作: 将此Checklist作为团队共同的质量标准,定期评审和更新,确保整个团队对质量有统一的认识和追求