比如有一批数据(id, title, content, desc, remark),通过 “关键字” 搜索,匹配到 任意字段中 有相应的数据,就应该被搜索出来,但是在数据量巨大的情况下,除了自己写 sql 查询比对,有其他方法能确定搜索出来的结果是符合条件的且是全量的吗?
写 sql 算出总量 同结果总量做对比
前段时间遇到这类难题. 没有去解决,最后抛给开发自己去测试了.
最后测试人员这里只关注几个关键点: 1, 能按名称前匹配 2, 能中英文混合搜索 3, 手机能全匹配 -- 才能搜索 (也就是 10 位数字允许搜索不到)
产品列出一个点就测试一个点.
测试方法: 埋数据. 示例: 修改数据库某数据为"Java ABC",然后测试"java"能不能搜索到它. 修改数据库某数据为"Java 开发",然后测试"java"能不能搜索到它. 修改数据库某数据为"工程师",然后测试"工程"能不能搜索到它. 验证是只看看有没有期待的数据就行了.不看结果有多少个.
至于搜索结果 是不是多了,少了,错了这个还是得人工测试.
额,首先你们搜索的需求是啥样的?产品如何定义的?有没有涉及到分词?特殊符号等?如果没涉及到这些,其实就检查一下接口返回的每一个 data 是否包含搜索条件,分页的位置注意下。 如果需求写的很详细,有规则排序啥的要求,你又知道对应具体的数据库,按照要求写个脚本,取 sql 里的 data 做断言,也是蛮好的。 如果涉及到分词,特殊符号,相似度等,就得结合算法 + 生活经验来做测试案例设计了。。(不过扯远一点,涉及到算法的话,即使有 bug,也可能会有不修的概率了)