中国企业软件开发 · 也接出海项目个人开发者直接沟通 · 可先签 NDA
增长实验室 / 软件开发测试怎么做?从测试计划、接口验证到上线验收的完整清单

测试与验收

软件开发测试怎么做?从测试计划、接口验证到上线验收的完整清单

发布于 2026-10-12 · 约 13 分钟阅读 · Zenleak 独立开发者

软件开发测试不只是点页面。本文从测试计划、环境和数据、用例、业务闭环、权限、接口回调、缺陷分级、性能、安全、发布门禁到上线交接,整理一份可执行的测试验收清单。

软件开发测试不是上线前点一遍页面,也不是把所有问题都交给用户发现。测试的目标,是在约定的环境和数据条件下,证明核心流程、权限、接口、异常处理和交付材料符合范围,并且出现问题时可以定位、修复和回滚。

本文适用于企业官网、管理系统、SaaS、APP、小程序和软件外包项目。内容重点是如何制定测试计划、写测试用例、验证接口与第三方回调、管理缺陷、设置发布门禁和完成上线验收。性能阈值、合规要求和设备范围需要结合项目实际确认,本文不构成固定质量或排名承诺。

一、先定义测试要证明什么

测试开始前先写测试目标,而不是直接打开浏览器找问题。目标应对应项目范围和业务风险,例如:销售能否完成客户建档到跟进,员工是否只能看到授权记录,支付回调失败后订单是否可恢复,管理员能否导出正确数据,部署失败时是否可以回滚。

可以用“风险、场景、证据、负责人”建立测试范围表:

风险关键场景需要留下的证据负责人
核心流程无法完成创建、提交、审批、完成、取消测试用例、操作记录和版本号业务负责人
数据被越权查看不同部门、角色和外部账号访问权限矩阵、请求日志和截图产品或安全负责人
接口重复处理重复回调、超时重试、乱序消息请求编号、幂等结果和补偿记录技术负责人
上线后无法恢复发布失败、数据错误、服务异常备份、恢复和回滚演练记录运维负责人

先测试高价值、高频率和高风险路径,再扩展到低频功能和视觉细节。测试范围应包含明确不测试的内容、已知限制和依赖条件,否则报告中的“通过”容易被误解成系统没有任何问题。

二、测试计划至少包含八项内容

一份可执行的测试计划应写清楚:

  1. 测试对象:版本、页面、接口、后台、移动端和部署环境。
  2. 测试范围:本次包含的模块、场景、角色、设备和浏览器。
  3. 不在范围内的内容:暂不支持的平台、未完成的接口、已知限制和后续版本。
  4. 进入条件:需求和原型已确认,测试环境可访问,账号和数据已准备。
  5. 退出条件:阻断问题关闭,关键用例通过,剩余问题有负责人和处理决定。
  6. 测试角色:开发自测、测试人员、业务人员、管理员和外部协作者分别负责什么。
  7. 问题流程:如何提交、分级、分配、修复、回归和关闭缺陷。
  8. 交付证据:测试报告、版本说明、日志、截图、接口回执和验收签字存放在哪里。

测试计划要随版本变化更新。需求、接口、权限或数据规则发生变化时,补充受影响的用例和回归范围。项目的需求基线可以参考软件定制开发需求分析清单,交付物和验收材料可以参考软件定制开发交付物清单。

三、测试环境和数据要接近真实使用

开发环境里“能运行”不等于用户环境里“可用”。测试环境应尽量与生产保持相同的运行时版本、数据库类型、关键配置、域名路径、消息队列和第三方接口模式;不能完全一致时,要列出差异和可能影响。

测试数据至少准备以下几类:

  • 正常数据:覆盖常用业务路径和主要字段组合;
  • 空数据:新账号、新部门、没有订单、没有库存或没有通知时的页面状态;
  • 边界数据:最大长度、最小值、最大金额、跨月日期、超大批量和特殊字符;
  • 冲突数据:重复客户、重复 SKU、同一资源被同时预约或库存不足;
  • 异常数据:缺失字段、无效状态、失效账号、过期链接和第三方错误回执;
  • 脱敏数据:用于真实流程验证,但不把完整生产个人信息复制到开发环境。

每个测试账号要标明角色、组织、数据范围、创建时间和回收时间。不要让所有人都使用管理员账号测试,否则权限问题和真实操作路径无法被发现。测试数据的导入、清理、重置和备份也应有步骤,避免一次失败后无法复现。

四、测试用例怎么写才可复现

测试用例不是一句“检查客户管理是否正常”。它至少应包含编号、前置条件、角色、数据、操作步骤、预期结果、实际结果、状态、版本和问题编号。

字段示例写法
用例编号CRM-CUST-001
测试目标部门销售创建一个新客户
前置条件销售账号已登录,客户名称不存在
测试数据客户名称、联系人、手机号、来源
操作步骤打开客户页,填写字段,保存并搜索
预期结果保存成功,归属正确,列表可搜索,日志有记录
异常检查重复名称提示,必填缺失不保存,重复点击不产生两条
证据页面截图、请求编号、版本号和日志位置

用例要同时写成功和失败路径。对每条核心流程,至少覆盖创建、编辑、提交、退回、撤回、取消、重复操作、无权限、网络中断和恢复。预期结果应尽量是可观察的状态、数据、消息或日志,少用“体验良好”“符合预期”这类无法复核的表述。

五、功能测试要按业务闭环执行

功能测试的最小单位不是一个页面,而是一条从触发到结果的业务闭环。以“线索到成交”为例,可以测试线索创建、分配、跟进、转商机、报价、合同、回款和关闭;以“采购到入库”为例,需要检查申请、审批、下单、收货、质检、入库和对账之间的数据关系。

每条闭环都要明确:

  • 什么条件可以开始,什么条件算完成;
  • 哪些角色可以推动状态,哪些角色只能查看;
  • 退回、撤回、作废和重新提交如何处理;
  • 同一数据被两个角色同时修改时以什么规则为准;
  • 失败后是否保留草稿、错误原因和重试入口;
  • 统计和导出的数据是否与详情页保持一致。

功能测试通过,不代表所有数据都正确。要用导入前后数量、关键金额、库存、状态和关联关系做抽样对账。旧系统替换或数据迁移项目还应单独执行盘点、清洗、试迁和回滚测试,可参考旧系统数据迁移方法。

六、权限测试要绕过前端再验证一次

权限至少包括功能、组织、记录、字段和操作五个维度。前端不显示按钮不能作为安全控制,测试人员应直接修改请求参数、访问深层 URL、替换记录 ID、调用导出接口和打开附件链接,验证服务端是否拒绝越权操作。

权限测试矩阵

角色查看范围可执行动作必须验证的限制
普通员工本人或授权记录创建、编辑草稿、提交不能查看同事私有数据和管理配置
部门负责人本部门或授权组织审批、退回、查看汇总不能越过组织边界查看其他部门
财务或运营指定金额、订单或回款字段对账、导出、确认敏感字段和无关模块需要隔离
只读用户明确的查询范围查看和有限筛选不能修改、删除、导出未授权数据
外部协作者指定项目或共享记录上传资料、查看进度不能访问内部客户、价格和系统配置

还要测试组织调整、离职账号、临时代理、角色回收和历史审批。权限变更应有生效时间和操作记录,不能让离职用户继续登录,也不能因为组织树变化导致历史数据失去责任人。

七、接口和第三方回调重点测试失败

接口测试不能只验证 HTTP 200。要确认业务数据是否真的保存、状态是否正确、重复请求是否幂等、失败后是否可重试,以及双方能否对账。

接口测试至少覆盖:

  1. 正常请求、必填字段缺失、字段类型错误和枚举值变化;
  2. 超时、断网、连接被关闭、服务端 5xx 和限流;
  3. 同一个请求重复发送、回调重复到达和消息乱序;
  4. 外部系统返回成功但本地事务失败,或本地成功但响应丢失;
  5. 鉴权过期、密钥轮换、签名错误和回调地址错误;
  6. 部分成功、人工补录、重试上限和异常队列;
  7. 接口日志是否隐藏密码、令牌、完整个人信息和敏感业务内容。

支付、库存、订单、审批和消息接口要有幂等键或等效的重复判断机制。接口文档应写明数据源、同步方向、字段映射、负责人、调用费用和失败处理。ERP 或企业微信对接可以参考ERP 接口与数据迁移规划和企业微信审批工作流规划。

八、缺陷分级和回归测试要有规则

缺陷报告至少写清环境、版本、角色、数据、复现步骤、预期结果、实际结果、频率、截图或日志。分级应按业务影响,而不是按报告人的感觉。

等级判断标准发布处理
阻断无法登录、数据隔离失效、核心交易无法完成、数据不可恢复不允许发布
严重主要流程错误、金额或库存不一致、接口重复处理原则上发布前关闭,例外需负责人书面确认
一般非核心功能异常、特定条件下失败、影响部分用户有修复版本和明确期限
建议文案、间距、交互优化,不影响约定功能进入后续迭代或产品清单

修复一个问题后,不只重测原步骤,还要根据改动范围做回归:关联页面、权限、接口、报表、导入导出和移动端都可能受到影响。每次发布记录修复版本、回归范围、通过数量、未关闭问题和风险接受人。

九、性能、安全和兼容性测试怎么定口径

性能目标必须带测试条件。要说明设备、网络、并发量、数据量、页面、接口、测试工具和统计方式。可以分别观察页面加载、搜索、列表、批量操作、文件上传、接口响应和后台任务,不要只报告一个首页分数。

常见测试项目包括:

  • 移动端和桌面端首屏、交互响应、布局稳定性和大表格滚动;
  • 接近日常峰值的并发登录、查询、提交、导出和文件上传;
  • 大数据量下的分页、筛选、排序、搜索索引和报表生成;
  • 证书、跨站请求、输入校验、文件类型、权限绕过和敏感日志;
  • 主要浏览器、手机系统、屏幕尺寸、弱网、断网恢复和低电量设备;
  • 备份完整性、恢复时间、恢复后的权限和数据一致性。

Google 的 Core Web Vitals 可作为网页体验参考,但实验室结果不等于所有用户的真实体验。企业系统的性能还要结合真实业务峰值、数据量和设备条件验收。安全测试发现高风险问题时,应暂停发布并完成修复或经过明确的风险接受流程。

十、上线前设置发布门禁

发布门禁是“满足哪些条件才允许上线”的共同规则,不是测试人员单方面阻止项目。建议至少包括:

  1. 核心业务闭环的关键用例全部通过;
  2. 阻断缺陷关闭,严重缺陷已修复或由负责人书面接受风险;
  3. 角色、记录、字段和导出权限完成越权测试;
  4. 关键接口的超时、重复回调、失败补偿和对账通过;
  5. 正式数据迁移完成试迁和抽样对账;
  6. 生产配置、证书、域名、定时任务和第三方回调已核对;
  7. 备份已完成,恢复或回滚步骤至少演练一次;
  8. 监控、日志、告警、联系人和故障响应渠道已准备;
  9. 业务手册、培训、管理员账号和交接资料已完成;
  10. 上线时间、观察窗口、回滚触发条件和决策人已确认。

上线不是测试结束。上线当天要检查首页或登录、核心提交、消息、接口、数据、日志、备份和监控;上线后第一周按约定频率查看错误率、异常单、接口失败、权限事件、性能和真实用户反馈。维护责任和 SLA 可以参考软件开发后期维护与 SLA。

十一、测试报告应该让别人复查

测试报告不需要堆很多截图,但要让没有参加测试的人知道测了什么、没测什么、在哪个版本、什么结果和还有什么风险。至少包含:版本与环境、范围与排除项、用例数量和通过率、缺陷统计、未关闭问题、接口与权限结果、性能条件、迁移和恢复结果、上线建议以及风险接受人。

通过率不能单独证明质量。如果核心用例只有十条,其他低风险用例通过率很高,也不能掩盖一条支付或权限测试失败。报告应把核心路径单独列出,并说明测试数据是否足够接近真实场景。

可直接复制的测试验收清单

项目名称:

版本号和测试日期:

测试环境、设备、浏览器和网络:

测试角色、组织范围和账号回收时间:

本次包含的页面、流程、接口和明确排除项:

核心业务闭环及关键通过条件:

正常、空数据、边界、重复、越权和异常数据:

第三方接口、回调、幂等、超时和补偿用例:

缺陷等级、响应期限、修复版本和复测人:

数据迁移、数量核对、金额或库存对账结果:

备份、恢复、部署、回滚和密钥轮换结果:

未关闭问题、风险接受人和上线限制:

上线观察窗口、监控指标和故障联系人:

常见问题

软件开发测试应该由开发人员还是客户负责?

开发人员负责自测、单元和接口验证,测试人员或技术负责人负责独立检查,业务人员负责确认流程和结果是否符合实际工作。三者不能完全互相替代,尤其是权限、数据口径和验收场景需要业务参与。

没有专职测试人员还能上线吗?

可以,但必须明确测试负责人,准备不同角色账号和可复现用例,并把核心流程、异常、权限、备份恢复和发布门禁补齐。没有专职岗位不等于可以省略测试证据。

测试通过后还会出现问题吗?

会。测试只能在约定范围、环境和数据下降低风险,不能证明系统在所有用户和未来变化中绝对没有问题。上线后要保留监控、日志、反馈、回滚和维护流程。

软件外包项目什么时候开始验收?

从第一个可访问版本就可以按核心用例逐步验收,不要等到最后一天才首次让业务人员使用。每个里程碑确认范围和问题,最终上线再完成整体验收和交接。外包执行方式可以参考软件开发外包执行清单。

测试用例越多越好吗?

不是。用例应覆盖真实风险和关键路径,且能够执行、复现和维护。数量很多但没有角色、数据、预期结果和异常路径,反而会让测试报告失去判断价值。

测试报告能保证百度或 Google 排名吗?

不能。测试可以检查页面可访问、状态码、canonical、结构化数据、性能和表单链路,但搜索排名还取决于内容质量、竞争环境、抓取、索引和持续运营。

继续阅读

按场景继续查看