测试实项中的偶必现难测bug之模糊匹配逻辑
问题:
现在有一个场景,如果只是通过功能测试会比较难测,例如刚开始我们做会员的时候,只有白银会员,在用户分群的场景下,需要用条件逻辑匹配,当时开发用了like的匹配方式没有问题。1年后加了白银试用会员,导致在统计会员分群的时候明明条件选的是白银会员,但是统计的数量远大于实际的数量,就是因为like的写法包含了白银会员和白银试用会员。
思路:
如果开发使用了 LIKE
进行模糊匹配,而你需要精确匹配业务逻辑,测试可以通过以下几种方式来发现问题:
1. 用具体的测试数据进行验证
- 设计测试用例,确保测试数据具有明确的边界条件和准确的匹配需求。
- 如果查询条件应当完全匹配某些字段(例如,
username='john'
),使用具体的测试数据验证查询结果。如果查询返回了类似john123
或john_doe
的结果,那么可以确认存在模糊匹配问题。
示例:
- 如果查询是
SELECT * FROM users WHERE username LIKE 'john'