首页 > 其他分享 >一个分页Bug的排查思路和思考

一个分页Bug的排查思路和思考

时间:2023-05-23 12:07:15浏览次数:30  
标签:count 返回 场景 分页 List 排查 测试 Bug

一、现象:

公告的列表中,显示了翻页,但翻到第二页,报了系统错误。

一个分页Bug的排查思路和思考_功能测试

二、排查思路

试着重现问题,走到系错误的报错时,打开控制台或者抓包,找到对应的接口请求和返回情况,通过接口的请求和返回,去找是端侧调用的入参有问题,还是后端处理的接口返回有问题。

通过查看接口情况,发现接口的返回如下,count数:19,list里只有1个

一个分页Bug的排查思路和思考_软件测试_02

那到底是哪一端的问题呢?

先来了解一下前端开发实现分页的逻辑,前端开发通过count返回数来决定是否分页,通过List 返回的对象决定展示的每一页具体内容。通常情况下前端页面可以按10页,20页面去分页,假设是10个一分页,那19条数据应该分两页,然后在向每个10页去填充List里的内容,但是List的数据只有一条,所以第二页就报错了。那么可以看出来,后端返回的count和List数不一致了。

此时,作为后端的测试,可以去sql查询一下,为何count会返回为19条而list只有一条,可能的情况是count没有去掉删除的数据,还有一种情况是List 聚合的数据中可能有错误所以未返回,当然以查询到的结果为准,然后就可以给开发提一个bug了。

对于后端测试同学的一个反思就是,1、后续测试用例里,对于分页的场景,可以把这个校验点考虑进去 2、自动化测试的校验可以加上count和list 数据返回一致的校验,3、根据最终的原因,补充到历史用例里,例如是删除的数据count里没有去掉,那么删除后list的展示是需要补充的用例点。

另外开发修复时,要和开发对修复的方案是怎么样的,以免引入新的问题。一旦Bug Fixed了可以合理地设计回归的场景。

作为前端的测试,或者前端的开发,如果系统要健壮和易用,是要考虑异常场景,就是一旦后端程序出错(要假设上游不可靠),需要考虑是否引发以下问题:

1、会引起前端的崩溃,例如数据越界、空指针之类

2、分页数据业务属性很重要,没有返回会造成用户的误解和紧张,例如金融业务,资产等,无法正确的展示、导致无法正常的操作。此时还需要交互引导,是否可以去其他地方查看操作,以免用户的正常业务无法进行。或者引导联系客服之类。

3、无大的影响,可以看情况给出合理的提示

此时,作为前端的测试同学和前端开发根据业务的重要程度,给出合理的错误引导。

如果是端到端的测试,能分别从前后端考虑到影响点,就非常不错了。

三、研发流程角度

最后从研发流程的角度:

1、对开发的要求,分页应该是一个通用的场景,应该有统一的处理方案,开发内部统一处理方式,举一反三去自查其他业务场景是否也有类似问题。

2、对于测试:

a. 补充测试用例,自动化脚本补充场景和校验点,作为回归case,一旦开发再出现这种问题,回归脚本可以帮助发现,这是一种经验的总结。

b. 后续要引导开发加强自测,这类情况作为自测要通过的点,分页的通用测试点可以梳理出来。

c. 可通过代码review,了解开发在此处处理是否有其他问题。

3、对于需求和交互,需要举一反三,给出通用场景的通用处理方案,后续在这种地方,无需单独评审。

以上actions,我认为是通过问题的总结,减少了后续反复踩坑的情况,提高研发效率。

四、对于测试同学的启示

作为测试同学的你,可以做到哪个层次。

标签:count,返回,场景,分页,List,排查,测试,Bug
From: https://blog.51cto.com/u_16125290/6330451

相关文章

  • 17-搜索结果处理-分页
    elasticsearch默认情况下只返回top10的数据。而如果要查询更多数据就需要修改分页参数了。elasticsearch中通过修改from、size参数来控制要返回的分页结果:from:从第几个文档开始size:总共查询几个文档类似于mysql中的limit?,?基本的分页分页的基本语法如下:深度分页问题......
  • 爱词霸 页面bug
    链接到:http://ciba.iciba.com/{"error_msg":"failedtomatchanyroutes"}欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。文章来源:刘俊涛的博客若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)......
  • 为什么不能向下兼容呢?这是因为不同版本的 Refs 文件系统之间可能存在较大的差异,如接口
    Refs文件系统是在WindowsServer2012R2引入的,目前主要用于Windows服务器操作系统中。截至目前为止,Windows服务器操作系统中已经支持了三个版本的Refs文件系统:RefsV1:WindowsServer2012R2中引入的第一代Refs版本,该版本引入了Refs文件系统,并支持自动修复、数据......
  • 排查账户安全
       ......
  • Java的Stream流的分页,Stream的skip和limit实现分页
    1、工具类packagecom.cc.testproject.utils;importcom.github.pagehelper.PageInfo;importorg.springframework.stereotype.Component;importjava.util.List;importjava.util.stream.Collectors;/**List分页工具类*@authorCC*@since2022/2/16**/@Compon......
  • ABAP DEBUG技巧(持续更新)
    1.根据消息号查找WatchPoint  2.updatetast需要打开调试器的更新模式断点有时候打开也进不去需要watchpoint强制打进去函数或者程序的断点 执行程序前/H 打一个函数断点再执行update的函数 ......
  • APP启动异常崩溃--pointer being freed was not allocated *** set a breakpoint in m
    一、问题场景APP启动异常崩溃BlockChainStep(1332,0x7000057ad000)malloc:*errorforobject0x600000008300:pointerbeingfreedwasnotallocated*setabreakpointinmalloc_error_breaktodebug二、崩溃原因在Xcode8中,如果你的图片资源文件里有16位图或者图片显示模......
  • 算法学习记录(模拟枚举贪心题单):[NOIP2007]字符串的展开(未AC,明天找bug)
    题目链接https://ac.nowcoder.com/acm/contest/20960/1001解题思路很简单的模拟题,以后写模拟要先分两大类,元素在某个集合中存不存在的问题,再细分。未AC代码#include<iostream>#include<string>usingnamespacestd;//碰到'-'的展开条件:// 1.减号两侧同为小写字母......
  • php+phpstorm+xdebug配置
    简介原文链接:https://culturesun.site/index.php/archives/675.html因为博客是php的,所以无奈接触了php开发,虽然之前也学习过php语法。搞开发是离不开debug。最初从网上找到相关教程配置成功了,后来升级php,浏览器崩了搞的debug不行,再配置怎么也不成功,准确的来说,网上的辣鸡贴子太......
  • 手动实现分页查询(菜鸟版)
    publicMap<String,Object>selectPage(IntegerpageNum,IntegerpageSize,Stringusername,Stringemail,Stringaddress){//拼接sqlusername="%"+username+"%";email="%"+email+"%";address=&qu......