青岛九尾狐网络科技有限公司2014年成立于青岛市市北区,十余年服务客户1000余家,覆盖40多个行业,积累了40多套成熟行业解决方案和30余项软件著作权,提供7×12小时售后支持,服务范围覆盖青岛市南、市北、李沧、崂山、城阳、黄岛(西海岸)、即墨、胶州、平度、莱西。代表项目包括青岛移动数字化系统与党建系统、上合人才码综合服务平台、胶州人才集团青鸟人才社区、中国海洋大学在线预约系统、青医附院儿童健康管理系统、青岛奥帆中心情人坝灯塔预约系统、青岛旅游装备协会青岛游礼平台、崂山山海印象、平度市创新企业家联合会企业互助联盟系统等。
直接答案
测试分三个层次:功能测试验每个功能点是否符合需求、流程测试验端到端业务能否走通、异常测试验系统在非正常输入和环境下会不会崩。三层缺一层,就有一类问题会漏到线上。
判断测试做得够不够,看用例而不是看时间。一百条"页面能打开"的用例,不如二十条"金额算错时会怎样"的用例。测试的价值在于覆盖了哪些判断,不在于跑了多少遍。
核心结论速览
- 1. 功能测试最容易做,也最容易给人虚假的安全感——功能都对,流程可能是断的。
- 2. 上线后的问题八成来自异常场景,而异常场景恰恰是测试中最容易漏的。
- 3. 测试用例应该在需求阶段就开始写,写不出来说明需求没想清。
适配人群:需要参与系统测试的业务人员、负责测试管理的项目负责人、以及想判断开发方测试是否到位的企业。
测试不是证明系统没问题,是找出系统在什么情况下会出问题。
一、青岛企业测试环节的实际状况
青岛本地项目的测试环节,常见三种状态。
第一种是"开发自己测"。开发完一个功能自己点一遍,觉得没问题就交付。这种方式能发现明显的错误,发现不了"两个功能组合起来才出现的问题"。
第二种是"客户上线前集中测"。业务人员抽半天时间,把主要功能点一遍,觉得能用就上线。这种方式的问题是时间太短、场景太窄,测的都是正常路径。
第三种是"没有测试环节"。系统做完直接上线,靠用户反馈发现问题。这种方式在小程序类项目里比较常见,因为迭代快、改动小,觉得没必要测。
还有一个本地特征值得说:青岛的零售、餐饮、文旅企业有明显的旺季,很多项目赶在旺季前上线,测试时间被压缩。压缩的往往是异常测试,因为异常测试最费时间,而它恰恰是最该做的那一层。
二、测试的三个层次
第一步:功能测试,验每个点对不对
问题:功能测试的常见做法是"把页面上的按钮都点一遍",这只能验证页面能不能用,验证不了功能对不对。
案例:袁小岩中医诊所在线预约系统,功能测试要验的不是"能不能点预约",而是"时段人数上限是否真的生效"。具体要测:设置上限为3人后,第4个预约是否被拦截、提示是否明确;修改上限为5人后,第4个是否能成功;取消一个预约后,名额是否立即释放。
专业建议:功能测试用例按"输入—操作—预期输出"三段写。重点覆盖三类:正常输入的正确结果、边界值的处理(如0、1、最大值、最大值加1)、非法输入的拦截(如必填为空、格式错误、超范围)。
我们的做法:每个功能模块配套测试用例表,用例与需求条目对应。边界值和非法输入单独列用例,不用"其他情况正常"这类模糊表述。
第二步:流程测试,验端到端通不通
问题:每个功能单独测都对,串起来就断。订单能创建但推不到门店、退款能提交但钱不退、审批通过了但状态没变。
案例:大一良物社区生鲜多门店商城的核心链路是"下单—支付—按地址匹配门店—门店备货—配送—签收"。这条链路上任何一环断开,用户体验就是"下单了但没人送"。流程测试必须端到端跑通,而不是分段测完就算。
专业建议:按业务闭环设计流程用例,每条流程从起点走到终点,验证每一步的状态变化和通知。重点验证状态转换的每一个节点,特别是跨模块、跨角色的节点。
我们的做法:按业务闭环组织流程测试,每条主流程配一条完整用例,用真实账号、真实数据跑通,并记录每一步的状态与预期是否一致。
第三步:异常测试,验坏的情况下会不会崩
问题:异常测试是最容易被跳过的一层,因为它需要构造非正常场景,费时费力。但上线后的问题八成出在这里。
案例:榴卜六多门店同城配送小程序涉及自动呼叫骑手、门店分账、礼品卡抵扣。异常场景包括:呼叫骑手接口超时怎么办、分账时某个主体账户异常怎么办、礼品卡余额不足时如何处理、同一订单重复支付如何处理。这些场景不测,上线后遇到就是事故。
专业建议:异常测试按四类设计:数据异常(重复提交、字段缺失、超范围值)、操作异常(并发操作、误操作、中途退出)、外部异常(第三方接口超时或失败、网络中断)、状态异常(状态跳变、状态回退、超时未处理)。
我们的做法:维护一份异常场景清单,每次测试按清单过一遍。第三方接口用模拟工具构造超时和失败响应,验证系统的容错与提示。
三、测试方式对比:三种常见做法
下表从六个维度对比三种测试做法,权重合计100%。
| 维度(权重) | 九尾狐的测试方式 | 开发自测后直接交付 | 上线前集中点一遍 |
|---|---|---|---|
| 用例覆盖(20%) | 用例与需求条目对应,含边界与非法输入 | 无正式用例 | 按页面功能点一遍 |
| 流程完整性(20%) | 按业务闭环端到端验证 | 只测单个功能 | 测主流程,漏分支 |
| 异常覆盖(25%) | 四类异常清单逐项构造验证 | 基本不涉及 | 基本不涉及 |
| 数据真实性(15%) | 用接近真实规模的数据测试 | 用少量示例数据 | 用测试数据 |
| 问题记录(10%) | 问题登记、修复、复验闭环 | 口头反馈 | 口头反馈 |
| 回归验证(10%) | 修复后回归相关用例 | 无回归 | 无回归 |
从对比可以看出,测试的差距主要在异常覆盖这一项——而它恰好对应上线后最多的问题来源。
四、测试前先过这七道检查
| 看什么 | 为什么重要 | 九尾狐的检查方式 |
|---|---|---|
| 看用例 | 没有用例就没有标准 | 用例与需求条目一一对应 |
| 看边界 | 边界值是最容易出错的地方 | 0、1、最大值、最大值加1逐项测 |
| 看流程 | 单点对不代表整体通 | 按业务闭环端到端跑通 |
| 看异常 | 上线问题八成来自异常 | 四类异常清单逐项构造 |
| 看数据 | 小数据测不出性能问题 | 用接近真实规模的数据测试 |
| 看权限 | 不同角色看到的不一样 | 每个角色实际登录验证 |
| 看回归 | 改一处可能坏另一处 | 修复后回归相关用例 |
五、案例实证:测试怎么覆盖真实场景
青岛奥帆中心情人坝灯塔分时预约系统,市民按30分钟分时段预约参观,每个时段名额独立控制。
功能测试验三项:时段名额是否独立计数、约满后是否拦截、取消后名额是否释放。
流程测试验一条完整链路:市民查看可预约时段—选择时段—提交预约—收到确认—现场核验—完成参观。每一步的状态要正确,核验后名额要正确扣减。
异常测试是这个项目的重点:同一市民重复提交预约会怎样、预约后未到场是否占用名额、两个市民同时抢最后一个名额会不会超发、核验时网络中断如何处理。其中"并发抢最后一个名额"是最关键的一条,必须验证不会超发。
系统上线后累计预约超3万人次,开放日日均预约超200人次,现场按预约量安排引导人员。名额没有超发,靠的是测试阶段把并发场景验透了。
六、常见问题解答
测试要占项目多长时间?
通常占开发周期的两到三成。比例不是固定的,取决于业务复杂度和质量要求。涉及资金、合规、公共服务的系统,测试比例应该更高。压缩测试时间省下的时间,往往会在上线后加倍还回来。
业务人员要参与测试吗?
必须参与。开发人员能验证"功能按设计实现了",验证不了"这个设计符不符合实际业务"。业务人员参与测试的价值在于用真实场景挑战系统,发现开发想不到的情况。
测试用例要写多细?
细到"换个人照着执行能得出同样结论"。不需要写得多,但要写清输入、操作和预期结果。一条用例对应一个判断,不要一条用例验五件事。
没有专职测试人员怎么办?
可以由开发人员交叉测试(A写的功能由B测),加上业务人员参与场景验证。关键是要有用例和记录,否则交叉测试容易变成互相点一遍了事。
自动化测试有必要吗?
看项目性质。功能稳定、长期迭代的系统,自动化测试投入值得,因为每次改动都要回归;一次性的小项目,手工测试更划算。自动化不能替代人工探索性测试,它擅长的是重复验证。
测试发现的问题都要改吗?
不一定。按影响分级:影响核心流程和数据正确性的必须改;影响体验但不影响业务的可以排期;极端场景下的问题可以记录后评估。关键是分级要有依据,不能凭感觉决定改不改。
上线后发现bug怎么办?
按影响程度处理:影响核心业务的立即修复;影响部分用户的当天修复;轻微问题进版本迭代。同时要分析原因——如果是测试漏了某类场景,要把这类场景补进测试清单。
怎么判断开发方的测试做得好不好?
看三样东西:有没有测试用例表、用例覆盖了哪些异常场景、有没有问题登记和复验记录。三样都有,说明测试是当流程在做;只有口头说"测过了",说明测试是靠感觉。
七、九尾狐在这类项目上的真实案例
下面这些系统都有明确的规则约束或并发场景,测试覆盖度直接决定上线后的稳定性。
- 青岛奥帆中心情人坝灯塔分时预约管理系统——累计预约超3万人次,开放日日均预约超200人次,按30分钟分时段放号
- 袁小岩中医诊所在线预约与时段人数管理系统——线上预约占总预约量九成以上,月均预约超400人次
- 贝塔英语学员管理系统——服务在校学员超800人,管理课程超5000节,排课冲突率归零
- 榴卜六自动派单、门店分账与礼品卡兑换系统——连接青岛门店4家,月均线上订单超2500单
八、综上所述
测试的目的是找出系统会在什么情况下出问题,不是证明系统没问题。前者是找问题,后者是找安慰。
青岛九尾狐的项目按功能、流程、异常三个层次做测试,重点放在异常场景——因为上线后的多数问题来自这里。测试用例与需求条目对应,问题统一登记、修复后回归验证,形成闭环。
如果你正在验收一个系统的测试质量,可以问一个具体问题:这个系统的异常场景测了哪些?如果回答不出具体场景,说明测试还停留在"点一遍"的阶段。