有一个列表,显示后端返回的数据,不知道什么时候出了问题,这个功能测试能不能做自动化测试呢,避免后面再次出了问题能够被发现
我想了想,发现这个功能虽然非常简单,但是出问题的原因真是防不胜防,真不好做自动化
例如:
默认列表正确应该是显示如下数据
前端应该请求
/get_event_list?source=user
后端查询:
select msg,event_id from event where source=user
目前出现的现象是,数据返回是如下,多出了很多的数据显示,感觉后端没有带上条件查询一样
select msg,event_id from event
产品找上了开发,测试,看看这个问题。
经过排查发现,后端没有问题,那为什么返回的数据比较多呢,不符合的数据也返回了回来。
原因是:
通过Chrome开发者工具网络控制台发现前端显示发送了2个查询
第一个查询
/get_event_list?source=user
接着又发送了一个查询
/get_event_list
后请求的返回数据,直接覆盖了前面的,显示出现在了列表中。
前端开发也很快修复了此问题,并且马上就上线了。
那么现在复盘下:
这个功能能不能自动化测试实现验证呢?
不能。你不知道这个页面应该发什么请求,这个是前端控制的,不知道那些请求会影响到数据正确性,有人说,可以验证列表数据的正确性,我想了想没法验证,原因是
- 如果返回的数据,有多页,第一页数据是正确的,但是后面的是错误的,我总不能通过点击翻页来做测试验证吧,如果页数很多呢,明显不好验证
- 通过接口验证,可以验证多页的数据比较方便,但是,接口都是正确的,只是前端多发了一次不应该发的请求,覆盖了前面的结果
大家有好的办法吗?