美文网首页缺陷相关&质量管理
Web测试过程中常遇见的典型Bug

Web测试过程中常遇见的典型Bug

作者: Fighting_001 | 来源:发表于2018-04-22 20:03 被阅读94次

    在最近一年多的时间里,经历了几个大小不同的Web相关项目的测试工作,对一些时常遇见的Bug作一下梳理,以备后续不时之需可以查阅。一般Web项目的测试,会涉及到前台页面、管理后台、服务器、数据库,针对不同的层面也存在不同原因引起的缺陷问题。


    【A】缺少非空判断,服务器报500错误

    1. 编辑包含多个字段的页面时,有一些字段在程序中控制是必填的(事先未知),但是没有任何说明提示,当不填写这些字段,直接保存时会出现服务器异常页面,报500状态错误。(特别是在管理后台容易出现此场景)
    2. 在形如以下结构的if函数中,关系表达式的条件没有对某个变量(该变量因代码疏漏未作初始化赋值)进行非空判断,就直接执行语句体,程序已空值NULL进行参与运算而出现异常,如500错误
    if(关系表达式){
      语句体1
    }
    else{
      语句体2
    }
    
    1. 某个被调用的方法中缺少某些参数的定义,在不知情的情况下,直接调用时传递了未定义过的参数or类型不匹配的参数到该方法,如果对应网站是处理批量的业务,则可能会导致大面积的500异常页面,对网站正常业务和SEO排名损失风险比较大
    2. 新增、编辑->保存。对所提交的字段有的未作非空限制,可以直接保存成功,保存后以空内容展示,可能存在不确定性,比如操作已保存成功的空记录时,是否会影响其他正常添加的记录,是相互独立的,还是会牵连到其他所有的类型


      【B】服务器配置错误(漏配or错配),更新后出现500 or 404
    3. 服务器配置文件,如web.config中把前台访问的url地址写错,直接发布更新之后,前台页面访问可能会出现404错误
    4. 程序代码中的某些逻辑错误和服务器配置相冲突时,前台页面触发某些特定按钮or页面可能会出现500错误


      【C】数据传递过程无控制,导致数据输出到界面功能异常or样式变形
    5. 搜索功能:有的页面本身有回显所搜索关键词的功能,搜索输入框填写的keywords字符较长(如:100字符),直接搜索后这些长字符显示在页面中,使得页面原来的样式变形,甚至有的功能按钮被挤到页面之外而不能使用
    6. 新增功能:对于新增字段的长度没有任何限制,超长字符新增可以保存成功,回到列表页也没有对显示的字符长度进行控制,所有字符长度都展示在列表,挤压其他字段的样式导致异常
    7. 某个功能(如:金额输入和统计)在A页面程序限制只能输入正整数,而在B页面却没有相应控制,若不小心在B页面输入了非正整数,比方小数,A和B的数据分别传递到到同一个C页面时数据处理会出现异常
    8. 文章上传/图片上传:超长字符的文章内容or较大尺寸的图片上传,程序没有进行相关的压缩和截取,直接完全调取到前台页面,导致浏览样式异常


      【D】批处理数据时服务器响应异常
    9. 批量下载/批量导出:单次选择多条数据记录(如:几k~几w)进行下载,而且数据包占用容量较大时,由于下载本身不一定可以同步进行,有时间差,又会占用服务器资源,系统很可能出现暂时性的卡顿,甚至长时间都不能正常响应其他请求
    10. 批量上传/批量导入:
      a. 比如在上传图片和附件的场景,一般会有限定上传的总数不超过几个文件,若没有限定,则可能出现上传时排队和服务器响应受阻的现象
      b. 对于利用特定的模板导入大量的数据时,采用分步分时间段导入or一次性完全导入,分步导入的情况若遇到其他异常导致导入中断,没有想过异常处理机制,系统会出现错误而不能正常使用;一次性导入,若数据量过大,而服务器不足以支撑,可能会服务器崩溃
    11. 批量修改/批量删除/批量转移:一次性修改替换指定的关键词,批量修改数据的状态,批量删除记录,批量将数据记录从一个库转移到另外一个库...这些场景很可能因服务器的频繁的处理而无法为其他请求提供服务


      【E】附件上传时,未控制格式、尺寸和容量大小,系统处理出现异常
    12. 文件上传功能:没有限制上传的文件格式、尺寸和大小,当上传非常规文件(如:js文件)、大容量文件(如:图片大小>20M),较大分辨率(如:1600×1200),服务器没有相应的异常处理机制,导致网站出现持续长时间的卡顿,影响后续操作
    13. 上传的是非常规的文件,如js格式文件,程序无相关控制,直接将js文件上传到数据库,前台页面访问时若不能解析则出现异常页面


      【F】业务逻辑漏洞
    14. 支付功能:
      a. 商品选择支付的时候,实际已扣款成功,但是用户后台显示该商品没有付款,导致不能使用该商品提供的服务
      b. 商品所显示的价格是x元,但是实际支付的时候显示和扣款的价格是y元(x≠y)
    15. 找密码流程:按照常规操作,会直接跳跃了某个必须的流程(流程缺失),但是通过url修改参数又可以访问到该流程,存在安全和逻辑漏洞


      【G】实现同一功能调用的模块不一致
    16. 支付功能:在不同的页面存在同一功能项支付的入口,在不同的入口作同样的支付,花费的金额不完全一致
    17. 文章调用:前台调用后台添加的文章时,在前台某些地方的文字页面调用文章的过程是“后台-->文章页面”,在前台其他文章页面调用文章的过程是“后台-->x页面-->文章页面”,同样类型的文章相当于调用过程不一样,后者多了一个中转过程,可能会造成最终显示在不同文章页面的样式出现截然不同的效果


      【H】不可逆操作,导致流程受阻
    18. APP测试,or H5页面测试,触发某个操作,比如手机触屏下滑刷新页面,不能恢复到操作前的正常页面
    19. 输入某个异常值提交之后,程序没有相关的处理机制,导致页面保存,没法继续进行其他操作
    20. 登录方式切换:登录时有几种不同的方式,如:密码登录&短信验证码登录,但同一时刻默认只能显示一种登录方式。当从密码登录界面点击短信登录切换到短信验证码登录界面之后,没有切换返回密码登录界面的功能
    21. 删除异常:正常情况下可以从列表中删除记录,但是若先对列表记录执行了搜索功能之后,再次删除的时候可能出现删除无响应而删除不了数据
    22. 弹框阻止:当触发某个操作,如“保存”、“提交” or 某个开关按钮,界面中弹出一个提示框,此提示框不管怎么操作都无法关闭,直接阻碍了页面上其他功能的操作


      【I】安全漏洞
    23. 登录账户,退出or注销之后,浏览器返回键回退之后又可以回到已登录的页面继续操作,识别用户身份的信息并没有失效,用登录后才能访问的url直接访问也可以登录,安全漏洞
    24. 搜索功能:前台页面的搜索输入框中输入特殊敏感符号(如:<script>alert(document.cookie)</script),直接搜索后有可能把当前登录账户的cookie信息直接以弹框的形式暴露出来
    25. 新增功能:一开始没有限制字符的类型和数量,当输入特殊符号、超长的字符,提交后直接抛出包含有INSERT INTO的完整SQL语句
    26. 前台搜索:以敏感字符直接搜索后,客户端和服务端都没有任何字符过滤or转义处理,直接把数据库和网站服务器的名称、版本暴露


      【J】因兼容性问题导致功能异常
    27. 国内浏览器(360、360极速、搜狗、UC、QQ...)分极速模式、兼容模式,有的还有IE模式。不确定是否是程序框架的原因,发现有不少项目对于国内浏览器的兼容模式反而不能正常使用基本功能,极速模式可以大多数功能使用
    28. IE浏览器:目前IE=11的版本大多数情况可以正常使用基本功能,而IE往下的版本(10,9,8,7,6),且不论样式异常的情况,也很可能存在不同程度的兼容问题致使网站功能不能使用;IE=12的版本暂未输入测试过,后续补充
    29. 国际主流的浏览器(Firefox、Google、Opera、Safari、IE),从几次项目的经历来看,前3款浏览器的兼容性做的比较不错,也不太容易引起大面积的功能异常;而Safari由于PC端的更新没有再继续,最新一次没记错应该是2013年,已知存在的兼容问题也没有解决好,所以也存在不少影响正常功能使用的情况;IE已在以上第2点分析


      【K】数据调用/加载异常
    30. 翻页功能:有时候会出现前面几页翻页和数据显示都是正常的,往后再翻页就会出现翻页不了or加载的数据异常
    31. 前端页面有几级菜单的情况下,程序都已经调用过,第一级是正常展示的,但是第二级、三级有可能被折叠而没有显示在浏览器显示
    32. 定位到某个导航主题,调用的数据并不是该主题分类的数据,而是调用成了其他分类的数据

    ----- PS:以上整理的Bug场景,将作不定时更新完善-----

    相关文章

      网友评论

        本文标题:Web测试过程中常遇见的典型Bug

        本文链接:https://www.haomeiwen.com/subject/ztnzcftx.html