问答 想问问大家对于 [搜索功能] 是怎么测试的?主要是 搜索结果 的准确性

lpchen123 · 2019年11月20日 · 最后由 chen 回复于 2020年05月07日 · 2270 次阅读

比如有一批数据(id, title, content, desc, remark),通过 “关键字” 搜索,匹配到 任意字段中 有相应的数据,就应该被搜索出来,但是在数据量巨大的情况下,除了自己写 sql 查询比对,有其他方法能确定搜索出来的结果是符合条件的且是全量的吗?

共收到 3 条回复 时间 点赞

写 sql 算出总量 同结果总量做对比

前段时间遇到这类难题. 没有去解决,最后抛给开发自己去测试了.

最后测试人员这里只关注几个关键点:
1, 能按名称前匹配
2, 能中英文混合搜索
3, 手机能全匹配 -- 才能搜索 (也就是 10 位数字允许搜索不到)

产品列出一个点就测试一个点.

测试方法: 埋数据.
示例:
修改数据库某数据为"Java ABC",然后测试"java"能不能搜索到它.
修改数据库某数据为"Java 开发",然后测试"java"能不能搜索到它.
修改数据库某数据为"工程师",然后测试"工程"能不能搜索到它.
验证是只看看有没有期待的数据就行了.不看结果有多少个.

至于搜索结果 是不是多了,少了,错了这个还是得人工测试.

额,首先你们搜索的需求是啥样的?产品如何定义的?有没有涉及到分词?特殊符号等?如果没涉及到这些,其实就检查一下接口返回的每一个 data 是否包含搜索条件,分页的位置注意下。
如果需求写的很详细,有规则排序啥的要求,你又知道对应具体的数据库,按照要求写个脚本,取 sql 里的 data 做断言,也是蛮好的。
如果涉及到分词,特殊符号,相似度等,就得结合算法 + 生活经验来做测试案例设计了。。(不过扯远一点,涉及到算法的话,即使有 bug,也可能会有不修的概率了)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册