筛选功能手动测试全攻略:从用例设计到回归验证
发布时间:2026/9/9 14:00:42 锦皓数字建站

1. 筛选功能验证的整体设计思路筛选功能是绝大多数后台系统和前端应用中最高频、最容易被忽视的功能模块之一。我在多个项目中做过筛选功能的测试发现一个普遍现象需求文档里通常只写一句支持按条件筛选但真正落实测试时涉及到的分支数量远超想象——单条件筛选、组合条件筛选、筛选与分页的联动、空结果处理、条件重置、关键词边界每一块都可能埋雷。为什么筛选功能值得单独写一份手动验证指南因为筛选功能是直接面向用户的数据入口它一旦出错用户看到的就是数据对不上列表少了东西条件没生效这类问题在线上属于高优bug影响面很大。而筛选功能往往没有独立的测试环境也没有自动化脚本覆盖很多团队的实际做法就是靠手动验证。这份指南面向的对象很明确测试工程师、前后端开发人员、以及需要自己验证功能的产品和运营同学。核心目标是在没有自动化脚本的前提下通过一套相对系统化的手动验证流程把筛选功能的关键风险点全部覆盖到避免上线前觉得没问题上线后用户一用就出bug的尴尬局面。整个验证过程的总体思路可以概括为三步搞清楚筛选逻辑、设计覆盖用例、按步骤执行并记录结果。看上去很简单但每一步都有容易被忽略的细节。比如搞清楚筛选逻辑这一步很多测试人员容易只看前端交互忽略后端接口层的处理逻辑——前端传了什么参数、后端怎么解析、条件之间是AND还是OR、空值怎么处理这些都需要在验证前厘清。结合我个人的经验筛选功能的验证工作务必在需求评审阶段就介入。如果等到提测了才开始看筛选逻辑往往只能测到表象真正的问题——比如接口参数拼错、边界条件写死、排序和筛选顺序错乱——都来不及发现。下面从验证前的准备开始把整个手动验证流程掰开揉碎讲清楚。2. 验证前的准备环境、数据与需求梳理2.1 先从需求文档和接口文档里抠出筛选逻辑动手验证之前第一件事不是打开浏览器而是把需求文档和接口文档放在一起对照着看。筛选功能有一个容易踩坑的地方前端展示的筛选条件和后端实际支持的条件往往不完全一致尤其在一些叠加了权限控制的系统里用户能看到的字段和接口能查的字段可能不同这就会导致前端传了参数但后端没处理或者后端处理了但前端没传用户选择的字段。需要从文档里明确的关键信息包括筛选字段有哪些、每个字段的类型是什么文本、下拉、日期、数值区间等、筛选条件之间是AND还是OR、是否支持模糊匹配、列表默认展示的数据范围和排序规则是什么。举个例子有的系统里状态筛选项是多选多选之后的逻辑是包含任一选中状态还是同时满足所有选中状态这个差别在需求文档里如果没写清楚测试时就需要向产品确认不能自己猜。另外还要关注分页逻辑。分页和筛选是最常见的一对矛盾组合用户设置了筛选条件后翻到第3页然后修改了筛选条件此时列表是应该回到第1页还是停留在当前页大多数系统的设计是条件变更后回到第1页但有部分系统没有做这个处理导致用户看到的是筛选后仍然显示已失效的旧数据。这一条要在验证前明确需求预期并作为必测项。接口文档则需要确认每个筛选参数的字段名、数据类型、是否必传、上限长度。我遇到过一种典型问题前端下拉框的值传的是1和2后端接口却期望01和02前端没做转换结果所有筛选条件都查不到数据。这类问题在手动验证阶段很容易被当成环境问题跳过其实是接口对接的事务必须在验证前留意。2.2 造数准备——筛选功能验证的地基筛选功能的验证非常依赖测试数据的完备性。如果测试环境里只有三五十条数据很多场景根本测不出来比如分页、大数据量下的排序稳定性、特殊字符的模糊匹配等。我的建议是至少准备以下几类数据正常业务数据每条记录的各个筛选字段都有值且分布在多个不同取值上字段为空的数据某个筛选字段为空值用于验证空值处理和不限条件是否正常边界数据比如日期字段的当天、昨天、未来日期数值字段的最大值、最小值、负数和零特殊字符数据包含中文、英文、数字、空格、百分号、下划线、单引号等字符的内容重复数据存在多个字段值相同的数据验证筛选后是否保留全部匹配项这里有一个很容易被忽略的点日期筛选的边界。很多系统在前端做了一个日期组件默认情况下用户选择开始日期和结束日期后端查询时通常用 startDate and endDate或者 startDate and endDate后者排除了结束日期当天。这两种逻辑在用户视角上差异不大但测试时如果不覆盖结束日期当天是否包含在结果内这个边界就有可能在线上被用户抓到一个明明选了今天却查不到今天的数据的bug。造数时建议直接用接口或者数据库插入的方式而不是全部通过前端页面手工录入。手工录入几十条数据太慢了而且容易录错。等核心数据造好后再用前端页面的新增功能补几条界面走查用的真实数据确保筛选出来的数据在页面上展示时不会出现字段错位、格式异常等问题。2.3 验证环境的确认与检查清单环境确认往往是整个验证流程里最枯燥但最关键的一步。在开始手动验证前按下面这份清单过一遍能省掉后面很多排查时间测试环境的接口地址是否为最新版本联调是否完成是否存在接口报错导致页面白屏的情况测试账号是否具备查看全部筛选字段的权限是否需要额外申请权限测试环境的数据是否已初始化或者是否有其他团队在共用导致数据被改动浏览器版本和分辨率是否符合项目要求建议用Chrome最新稳定版进行主流程验证涉及移动端时再用DevTools的设备模拟切换试试页面上是否存在缓存问题比如筛选条件选择后刷新页面条件仍在有些系统会刻意保留筛选条件这块也需要对应到需求预期如果项目里有多个环境如dev、test、staging建议至少在主测试环境做一遍全量验证再在高仿生产环境staging做一遍冒烟回归。筛选功能虽然不大但它和权限、数据隔离、多租户等模块都有关联环境之间的差异经常会导致测试环境通过、预发环境挂了的情况。3. 核心验证步骤与实操要点3.1 单条件筛选逐个字段验证别嫌繁琐单条件筛选是筛选功能的最底层能力也是后续组合条件验证的基础。这一步要求把页面上的每一个筛选字段单独测一遍验证维度包括正确性、边界值、清空条件和异常输入。以常见的订单状态下拉筛选为例验证的点有下拉框是否拉出了全部可选状态值选择某个状态后列表是否只展示该状态的记录切换另一个状态后列表是否正确更新选择全部或不限后列表是否恢复为全量数据。每一个下拉选项都要点一遍不能只抽测两三个——我见过一个项目下拉框里有个已退款的状态前端标签写对了后端枚举映射错了导致选了已退款后列表一直转圈接口一直报500这类问题只有逐个选项点击才能暴露。单条件验证中文本输入框的边界值测试是重头戏。以一个商品名称搜索框为例需要验证的输入包括输入完整商品名能精确匹配到唯一结果输入商品名的一部分如手机匹配智能手机验证是否支持模糊匹配输入不存在的关键词验证空结果页面和提示是否友好输入空格、多个空格、Tab字符验证是否会被trim掉输入特殊字符如%、_、单引号、双引号验证SQL注入防护是否生效、是否会报错或返回异常数据输入超过字段最大长度的文本比如最大支持50个字符输入60个验证是否被截断或给出提示这里有件事要说明长度限制和特殊字符的处理规范严格来说应该由需求文档来定义。但实际工作中很多需求文档根本没写这么细所以测试时需要按常见的实践去验证如果发现行为异常再跟产品和开发确认这是bug还是预期设计。我在实测中习惯用最可能让用户困惑的操作作为标准来判断——用户随便输入都不会出现页面报错或数据错乱才算合格。对于日期类单条件筛选除了选一个日期看结果是否正确之外还要验证清除日期后列表是否恢复全量、选择未来日期是否查不到数据取决于业务预期、跨月份和跨年度的日期是否正常。日期组件在不同浏览器下的展示差异也需要看一眼个别老旧的日期组件在Firefox下会出现默认值不一致的问题虽然比较少见但碰上一次就够折腾半天。3.2 组合条件筛选重点验证条件之间的关系与联动组合条件才是筛选功能的精华所在也是手动验证中最花时间的部分。两个以上筛选条件同时生效时最容易踩的坑是条件之间的逻辑关系没实现对后端用了AND但业务预期是部分字段之间是OR或者后端只处理了部分组合其他组合直接拼接错误SQL导致查询报错。先说一个通用的验证方法组合条件建议从2个条件起步逐步增加。每增加一个条件都要确认新加条件确实生效了且没有影响已有条件的结果。举例来说先用状态已支付 支付渠道微信筛选确认结果是同时满足两个条件的数据然后加上第三个条件金额范围100-200确认结果是在前两个条件基础上进一步收窄。这种递进式的验证方式可以在出问题时快速定位是哪一个新加的条件出了问题。接下来重点验证条件之间的逻辑关系。假设页面上有A、B两个条件预期的组合逻辑是A AND B那测试时就要构造一组数据一条只满足A不满足B、一条只满足B不满足A、一条同时满足A和B、一条两个都不满足。然后依次切换条件观察列表数据是否与预期完全一致。如果有任何一条数据展示的偏差都需要记下来判断是条件解析还是数据过滤的问题。条件之间的联动也是高频踩坑点。常见的有两种形式一种是选择某个选项后另一个筛选项的下拉值范围跟着变化比如选择省份广东后城市下拉只显示广东的城市另一种是修改某个条件后其他条件被清空。这两种联动逻辑都需要专门设计用例去验证尤其是第一种联动组合筛选的场景——先选省份再选城市然后加一个时间范围筛选确认三层条件叠加后结果正确。此外组合条件的空值处理很容易被忽略。比如某个条件选择了不限空值但后端代码只处理了传了值的分支没处理没传值的分支导致一旦组合条件中有空值整个查询就会报错或查不出数据。验证时要在每个已有条件的组合中反复把其中一个条件切换为不限确认列表正常展示且结果符合预期。3.3 筛选与分页、排序的联动验证顺序很重要筛选功能上线后最常见的线上问题往往不在筛选本身而在筛选和分页、排序的联动上。这里有一个我在项目中反复遇到的现象列表默认有20页数据用户通过筛选把结果缩小到了2页然后在第2页点击了某个数据详情后返回列表发现列表页变成了全部数据的第2页之前的筛选条件全丢了。这种问题在手动验证时如果只测筛选后列表数量正确就收工是发现不了的。验证筛选与分页联动至少要覆盖以下场景设置筛选条件后列表页码是否重置为第1页。这是最常见的预期设计如果条件变了页码没重置用户会看到当前页的数据和筛选条件不匹配在筛选结果中翻到第2页、第3页然后回到第1页确认分页数据不受影响在筛选结果中切换排序字段确认排序只在当前筛选结果内生效而不是全量数据的排序筛选结果为空时分页组件如何展示——总数显示为0页码置灰或隐藏是否有暂无数据提示筛选结果数量刚好是每页大小的整数倍时最后一项数据显示正常不会出现第2页没有数据的边界问题排序和筛选的联动尤其值得单独验证。很多系统的列表默认按创建时间倒序排列筛选项可能包含一个按价格排序的交互。要验证的是设置筛选条件后再按价格升序排列返回的数据是否既是筛选结果、又满足价格升序。这个验证看似简单实际上后端实现时如果排序字段和筛选字段被放在不同的处理链路很容易出现排序生效了但筛选条件被忽略的情况。还要关注的一个细节是筛选条件变更后再操作清除筛选或重置按钮列表是否恢复为初始状态包括恢复默认排序和默认分页。重置功能的实现逻辑在不同项目里差别很大有的重置后保留当前分页有的重置后完全回到初始状态这个需要对照需求文档确认并在测试记录中明确标注。3.4 空结果、异常输入与特殊场景的兜底验证空结果的兜底验证看起来不起眼但实际上非常影响用户体验。一个筛选条件组合查不到数据时页面上应该展示什么样的空状态是空白页、还是暂无数据的提示、还是带推荐操作的引导我在多个项目里遇到过筛选无结果时页面直接白屏的情况多半是后端返回了空数组后前端代码没有处理空数据还在强制读取数组首元素的某个属性。空结果场景的验证至少包括单条件查不到数据的空结果、组合条件查不到数据的空结果、翻页到某一页后点击刷新出现的空结果。后一种情况比较隐蔽——用户在第3页刷新页面如果刷新后列表按默认条件重新加载但页面还保留着第3页的页码而此时默认条件下可能只有2页数据就会出现页码显示3但没有任何数据的问题。异常输入的兜底也需要重点验证。比如在数值区间筛选里输入负数、输入超出正常范围的大数、开始值大于结束值——这些场景下的预期行为应该是系统给出友好提示或自动处理而不是报错。我在实际测试中见过一个例子金额筛选输入结束金额小于开始金额后端直接返回了空结果没有提示。从用户视角看这个交互虽然不算bug但体验很差——用户根本不知道是自己的输入有问题。推荐的做法是前端在提交前做一次参数校验给出结束值不能小于开始值的提示。特殊场景里还有一个容易被忽略的筛选条件和URL参数联动。部分系统的列表页会把筛选条件同步到URL参数中以便用户刷新页面或分享链接时保留筛选状态。这种情况下要验证URL中的参数被篡改后比如手动改了页面的URL参数值或者删掉了某个参数页面是否能正常加载而不是直接报错。4. 典型问题、排查技巧与测试记录4.1 筛选结果与预期不符时的排查思路手动验证中最常遇到的情况就是我选了条件但查出来的数据跟我预期的不一样。这时候不要急着去群里喊开发先按下面的思路排查一轮往往能快速定位问题也方便给开发提供更有效的信息。第一步确认数据本身。你预期应该有3条数据这3条数据是否真的在测试环境里存在筛选字段的值是否和你选的条件严格匹配比如用户姓名字段中包含了空格前端展示时看不出来但用张三去筛选张 三是匹配不到的。先到数据库或者通过接口直接查一下原始数据排除数据本身的问题。第二步确认请求参数。打开浏览器开发者工具切换到Network面板查看筛选请求发送的参数。这一步能区分问题在前端还是后端如果前端发送的参数值不对那是前端的问题如果参数值正确但返回结果不对那是后端的问题。判断标准简单直接请求参数和页面操作一致但查询结果异常后端排查请求参数本身就少了条件或传错了值前端排查。第三步尝试简化条件。组合条件查询异常时把条件逐个去掉看从哪个条件开始出现异常。这是最常用的二分排查法。比如ABC结果不对先测AB如果正确再测AC和BC如果BC也不对那就锁定是B和C的组合有问题。这个思路能给开发提供非常明确的信息而不是扔过去一句筛选不对让开发自己摸索。第四步检查是否存在缓存或权限因素。筛选结果被缓存是测试环境里比较常见的情况——同一个接口相同参数返回了旧数据。此时清一下缓存或者换个账号再试试。权限因素则要看当前测试账号的数据权限范围如果账号被限制了只能看部分部门的数据那筛选结果天然不完整这不属于bug。4.2 常见问题速查表下面这份表格是我在多次筛选功能测试中沉淀下来的常见问题清单按现象分类方便在实际验证中快速对照。现象可能原因排查建议筛选后列表数据没变化前端未传筛选参数或参数名与后端不一致查看Network请求参数确认条件是否带上了筛选后列表为空但数据确实存在后端枚举值不匹配、字段类型转换失败、空值处理缺失用接口文档对照数据表确认筛选字段的取值与数据库一致条件组合后查不到数据条件之间逻辑写成了OR但预期是AND或反之简化条件组合逐对排查是哪两个条件冲突筛选后页码仍停留在当前页前端未重置页码手工翻到第2页后重新选条件观察页码跳变下拉框选项缺失或多了选项后端接口返回的字典值不全或前端写死了选项对比接口返回的选项列表与需求文档输入特殊字符后页面报错后端接口未做参数校验或SQL注入防护不足输入单引号、百分号等字符观察接口返回日期筛选结果少了一天或多了一天前后端时区不一致或SQL的边界判断用了而不是用当天日期做边界验证确认包含关系清除筛选条件后列表仍然保留旧条件前端组件状态未清空或重置逻辑不彻底操作重置按钮后刷新页面看URL参数是否还有残留筛选结果排序错乱排序和筛选在不同的SQL查询层级中处理在筛选结果内切换排序确认子集内的排序正确4.3 手动验证的测试记录规范手动验证最大的风险是测了但没记过两天忘了测了什么。尤其是一个筛选功能涉及几十个用例时不记录等于没测。但测试记录的详细程度也要把握好——不是让测试人员写长篇大论的文档而是记录关键信息和结论方便追溯。我的建议是维护一份筛选功能验证记录表至少包含以下要素用例编号、验证日期、测试人、测试环境筛选条件组合描述如状态已支付 AND 支付渠道微信预期结果简单描述即可实际结果通过/失败/异常相关截图或日志关键异常截图必须附上关联的bug编号如果发现缺陷在记录格式上表格形式比纯文字描述更高效也方便最后汇总。分享一个我本人的习惯每测完一个条件组合就立刻把实际结果记录到表格里而不是攒到最后一起补。筛选用例之间的差异很细微比如选了A条件选了B条件和选了A条件选了B条件选了C条件的页面展示可能就差一行数据不记录当下情况回头根本想不起来当时测的是什么结果。记录还有一个容易被忽略的用途作为回归测试的基线。筛选功能往往不是只测一轮开发改完bug之后需要回归这时如果有上一轮完整的验证记录回归时就只需要重点关注之前失败过的用例和受影响的相关用例不需要从零开始全量再测一遍能节省不少时间。4.4 开发修复后的回归验证策略筛选功能的bug修复通常很快但修复后引入新问题的情况也非常普遍。我见过一个典型的例子开发修复了日期筛选条件被忽略的bug改动了SQL拼接逻辑结果导致另一个金额区间筛选失效——因为两个条件在SQL里共用了一个条件拼接函数改一个影响了另一个。所以回归验证不能只复测修复的那一个用例一定要关注相邻功能。具体来说修复涉及的后端接口把该接口相关的所有筛选参数都回归一遍确认每个参数仍然正常工作修复涉及的前端组件把该组件的相邻交互如重置、清空、联动一并回归组合条件场景要重新跑几个核心组合因为这类bug修复往往会影响条件之间的拼接逻辑回归验证中还应该关注一个问题开发在修复时是否只打了补丁没有根治。比如前端把传参数名错误的bug修了但后端接口本身存在对参数校验不严的问题这就属于治标不治本。手动验证时如果发现了类似的隐患建议在记录里标注建议后续开发完善后端校验跟进是否已经纳入排期。在实际项目中我通常会把筛选功能的验证分两轮进行第一轮是功能全量验证覆盖全部筛选条件和组合第二轮是bug修复后的回归验证聚焦修改点相邻功能核心冒烟场景。这样既保证了覆盖面又控制了总工作量不至于在筛选功能上无限投入时间。5. 不同业务场景下的筛选功能验证要点5.1 列表查询页筛选与报表筛选的差异同样是筛选功能列表查询页和报表统计页的筛选用例设计有很大差别。列表查询页的筛选结果是一行行明细数据验证重点在于数据是否正确匹配条件和字段展示是否正确。报表页的筛选则要复杂得多因为筛选条件不仅影响数据明细还影响统计口径——同一个筛选条件明细列表里可能过滤了100条数据而报表页的总计值是基于过滤后的数据还是全量数据这是两个完全不同的实现逻辑。在测试报表类筛选时我通常按下面的思路去设计用例先不设置筛选条件记录报表的默认统计值然后设置一个明确的条件比如近30天渠道A分别手算出预期结果和报表展示的结果是否一致最后再切换到近60天渠道B确认统计值跟着变化。如果报表页还能下钻到明细还要验证下钻后的明细数据与报表统计数据是对应的——防止出现报表显示100条点进去只有80条的矛盾。另外报表页的筛选条件通常可以多选而且多选条件下每个维度之间的关系也可能不同。有的报表是多选维度之间的或关系有的是且关系还有的采用每个维度内部是或维度之间是且的混合逻辑。这类逻辑必须在验证前和产品确认清楚并按确认后的预期去设计数据用例——仅凭经验猜很容易猜错。5.2 移动端筛选与桌面端筛选的差异移动端的筛选交互和桌面端差异很大验证时不能直接复用桌面端的用例必须做一轮适配性验证。移动端常见的筛选交互有底部抽屉式筛选面板、顶部Tab筛选、全屏筛选页等这些交互在验证时要额外关注不同触发方式下的状态流转。以底部抽屉式筛选为例验证点包括打开抽屉后是否默认带出上一次的筛选条件点击遮罩关闭抽屉后重新打开条件是否保留抽屉内条件修改后未点确认就关闭再打开时条件是否被清空在抽屉内选了条件后点击确认列表是否立即刷新。忘记确认导致条件没生效是移动端筛选里用户吐槽最多的问题之一但需求文档往往不会写清楚未确认就关闭时的处理逻辑需要验证时和产品对齐一遍。移动端的另一个特点是屏幕尺寸小筛选控件可能被折叠或隐藏。验证下拉框选项是否被截断、日期选择器在小屏下是否能正常滑动、应用横竖屏切换后筛选面板布局是否错乱这些细节在实际测试中都很容易暴露问题。有条件的情况下建议至少拿一部真机做一轮完整验证不要只依赖浏览器的移动端模拟模式有些触摸交互和界面渲染问题模拟模式是暴露不出来的。5.3 高权限用户与低权限用户的数据范围差异权限对筛选功能的影响是很多测试新手最容易忽略的维度。同样是状态已支付这个筛选条件超管账号查出来的结果和普通运营账号查出来的结果很可能不一样因为普通账号被限制了数据范围只能看自己部门的订单。这不是筛选功能本身的问题但会给筛选验证带来干扰——如果权限隔离逻辑有误筛选结果就可能出现越权或缺数据两种情况。验证权限与筛选的联动重点看两个场景一是低权限用户设置筛选条件后结果中不能出现权限范围之外的数据二是高权限用户在相同条件下能查看到全量数据。如果业务上存在数据权限与筛选条件叠加的逻辑还需确认这种叠加是权限范围 AND 筛选条件的关系而不是筛选条件覆盖了权限范围。有一种权限相关的bug形态比较隐蔽用户设置了筛选条件数据权限被后端逻辑正常限制了但前端展示的总数统计没有按权限范围重新计算导致列表展示10条页面却显示100条。这类bug在验证时如果不核对统计数据非常容易漏掉。所以涉及权限的筛选验证建议都要核对一下列表总数和实际展示数量的关系。6. 筛选功能自动化测试的衔接思路6.1 手动验证的哪些用例适合转自动化虽然这份指南的主题是手动验证但作为一个经历过多个项目的测试工程师我必须说一句实话筛选功能如果只靠手动验证长期来看性价比不高尤其当系统进入稳定迭代期后每次发版都要花大半天回归筛选成本太高了。所以手动验证跑通之后建议把核心用例沉淀成自动化用例。适合转自动化的用例具备几个特征一是稳定复现结果不依赖环境波动二是断言明确能够清晰判断通过或失败三是覆盖核心风险能防止主流程回归。具体到筛选功能单条件筛选、组合条件筛选、筛选分页联动这几类用例的接口层自动化是相对容易实现的——用接口测试工具比如Postman或JMeter直接验证传参数校验返回一套脚本可以在几分钟内跑完几十个参数组合。不适合转自动化的用例则包括UI层复杂的交互逻辑比如下拉框联动效果、移动端的抽屉交互、涉及视觉展示的断言比如页面布局错乱、文案提示位置不正确、以及依赖真实用户操作路径的探索性测试。这些领域手动验证仍然有不可替代的价值。推荐一个我实践过的策略接口层自动化覆盖筛选条件正确性的核心逻辑UI层手动验证覆盖用户操作路径和页面展示效果。两层结合既保证效率又不漏掉体验类问题。6.2 用接口工具快速构造筛选参数组合在手动验证过程中接口工具是一个极好的辅助手段。有时候前端页面上要操作好几步才能触发一次筛选请求但用接口工具直接改参数几秒钟就能跑一次不同的条件组合效率提升明显。以Postman为例可以将筛选接口保存为一个请求然后把筛选参数设置成环境变量或集合变量。每个变量的值可以是通过枚举构造的合法值、边界值、空值通过集合runner批量执行一次性跑出所有参数组合的响应结果。验证点在于接口是否返回预期数据是否在不同参数组合下稳定无报错响应时间是否在合理范围内这里要尤其说明一点接口验证发现的问题和前端问题往往是两个层面。接口层验证通过不代表前端展示没问题接口层验证失败则基本可以确定功能有bug。所以我的习惯是前端手动验证发现疑似问题时立刻用接口工具复现一次确认问题出在接口层还是前端层然后带着明确的信息去提bug。这样开发处理效率会高很多不会被来回打回。6.3 结合真实业务操作路径做探索性验证自动化用例和接口测试都是按预期执行的验证方式但发现意外问题最有效的手段仍然是探索性测试——即以一个真实用户的视角自由地操作系统做一些开发没想到、测试用例也没设计到的操作。探索性验证筛选用例中我常用的几个思路在筛选结果中操作详情查看再返回观察筛选状态是否保留在筛选结果中批量操作再刷新观察数据变化后的列表是否还匹配筛选条件筛选条件和搜索框同时使用观察两个条件是否叠加生效快速切换不同的筛选条件观察页面是否出现加载异常或数据错乱。这些操作在常规用例中一般不会覆盖但恰恰是用户真实使用时的常见路径。探索性验证的另一个价值是发现体验层面的问题。比如用户设置了一个很严格的筛选条件结果为空此时页面是否给出了清晰的操作指引如调整筛选条件的按钮用户输入了一个很长的关键词输入框是否会因为超长而遮挡其他操作按钮。这些细节并不影响功能正确性但影响用户对系统质量的感知在正式发布前值得花时间打磨。需要注意的是探索性验证发现的体验问题不一定都要作为bug处理需要评估影响程度和开发成本再决定是否推动优化。但发现的问题要记录在案避免上线后被用户反馈到跟相同的问题。个人心得与延展建议筛选用例跑完不是终点最终要给开发、产品一个明确的结论哪些条件组合验证通过哪些存在缺陷缺陷的严重程度和影响范围是什么。手动验证最大的价值不在于发现所有bug而在于通过一条条真实的操作路径把系统的行为摸清楚。我在多次验证中总结出一个小习惯最后分享给大家验证过程中如果你对某个筛选字段的行为产生了这里好像不太对的第一直觉不要直接跳过先记录下来。这种直觉往往指向真实的问题即使最后确认是需求预期也应该让产品或开发明确确认一次。相比那些用工具批量跑出来的参数组合这种来自实际操作的直觉发现常常是整个筛选验证过程中最有价值的产出。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。