• 3
  • 3
分享

  最近在测试的产品是一个类似于途牛的旅游网站,公司只有本人一个菜鸟测试,之前从未接触过测试相关。最近在提Bug的时候,发现自己越来越容易纠结于一个Bug到底是该分给前端还是后台。之前测试其他产品的时候,由于业务逻辑相对简单,Bug也不多,也就很少留意到这个问题,但是现在手头的项目让我对于Bug定位的问题再也无法忽略。遂查了一些资料,再加上自己的理解,输出了这篇文章,谨以记录以及相互的交流学习,如有不当之处,欢迎指出。

  首先,搞不清一个Bug到底归属前端还是后台的根本原因就是对于这二者的概念模糊。综合网上的资料来看,个人归纳为:

  前端是用户看得见摸得着的东西,主要体现在页面的视觉效果以及交互设计上。比如说一个网站的页面风格、页面跳转等,最简单的例子就是一个注册界面:前端设计界面风格,约束输入的字符类型、长度以及合法性校验等,不涉及到与数据库之间的信息交流。

  后台,则侧重于更深层面的东西,关于逻辑,关于数据,关于平台的稳定性与性能。后台主要负责实现具体的功能,举个例子,还是那个注册界面,前端写好了界面,规定了你能输入哪些数据,不能输入哪些数据,而后台则会把你输入的信息与数据库进行比对,如果是新用户,则顺势在数据库中插入一条信息。

  当然,关于数据的校验,不同项目情况不同,有些是由前端进行校验,有些是后台,有些是前后台都需要校验。

  知道了前后台的区别,就大致能够进行Bug的判断了。

  case1:文本框输入不合法的内容,点击提交按钮, 如果不合法的内容提交成功, 那应该是前后台没有做校验, 前后台都有这个Bug

  case2:文本框输入合法的内容,点击提交按钮, 查看数据库中的数据和输入的内容不一致, 这个时候需要看前台传的数据是否正确,使用Fiddler抓包, 查看请求头里面的数据是否和输入一致,如果一致就是后台的问题, 如果不一致,就是前台的Bug

  case3:界面展示不友好, 重复提交 这些都是前台的Bug

  下面引用一篇文章的内容:

  首先必备工具Firefox debug工具(Fiddler也是一个相当好用的工具)

  可以考虑检查标签的排查工具 idea.exe

  如何区分页面的Bug问题归属:前端or后端

  前端Bug主要分为3个类别:HTML,CSS,Javascript三类问题

  给个最大的区别方式方法:

  ·出现文本的问题基本都是HTML的Bug

  ·出现样式的问题基本都是CSS的Bug

  ·出现交互类的问题基本都是Javascript的Bug

  现在以淘宝的前端人员工作为例进行相关Bug定位的剖析,判断前后台问题的区分方法:

  打开错误控制台,区分前后台交互,查看网络请求:

  a) HTML中如果有链接,有相应的情况下,基本可以定位到是属于前端的问题

  b) 如果为空,或者有出现error错误信息,我们就可以定位到属于后台开发的问题

  TMS对应的VM模板,出现的一些截断控制,转换功能都属于前端的问题。

  一、HTML

  最常见的HTML的问题—就是标签的问题了,最常见的排查和解决办法就是查看页面源代码,然后通过检查标签的工具,现在暂时提供idea.exe进行检查,有其他更好的工具再进行推荐。

  常见问题类别:

  标签闭合—表象,页面中出现大范围的混乱,就是少了标签的情况,导致标签未闭合

  标签浮出—例如鼠标移动到文本位置,浮出全名的这种浮出形式都属于标签浮出的问题

  标签在不同的浏览器的一种解析方式的不同导致的前端bug例如如下结构

  该部分可以看做为一个大的框即是标签<a> 内嵌标题的标签<p>,里面再有这些个内容<ing>,那么在不同的浏览器中,可能ie和FF的解析会产生不同,假设IE解析为<a><p><img></img></a></p>的一种形式,但在FF下可能解析为

  <a><img></img></a>

  <p></p>

  的两行的形式从而导致前端在复古鞋/板鞋这块ing里面的格式产生混乱

  结构可看为:

  页面定点的问题:最明显的前端功能,在于点击某个链接将页面位置定位到对应的位置

  a) 我们可以通过右键,查看元素的工具进行定位到毛点所定位到的位置,如果出现问题这种问题很直观,并且能通过这种方法直接定位到问题

  页面的跳转,也属于html的问题,大家在出现点击未跳转或者跳转方式不正确的问题,直接可以定位到跳转属性的问题,找到对应的跳转对应的块提供给开发人员即可

  二、CSS

  产生样式问题。例如:排版,布局,颜色,背景等

  CSS的Bug主要分为:兼容型Bug 、业务型Bug 和 内容型Bug

  ·兼容型Bug

  a) 表现:仅在少数几个浏览器上出现

  b) 原因:浏览器的解析不一致

  c) 解决:根据实际情况进行前端代码的通用性

  d) 类别:

  脚本兼容型问题:在出现对应交互的问题就基本可以定位到脚本兼容型bug,例如DIV的显示和层结构。实际可以参考聚划算的几个商品鼠标移动到小图的时候,对应大图展示的功能。

  页面样式兼容型问题:直接表象在样式上,都是基于框架的页面展示错误,很容易定位

  ·业务型Bug

  a) 表现:在所有浏览器下都有该问题

  b) 原因:对业务不熟悉

  c) 解决:根据需求进行修改达到业务要求

  该类型的定位,主要在和实现的要求不一致,最直接表现在页面的友好型,用户的可用性的bug,可以定位为该类型

  ·内容型Bug

  a) 表现: 前端自测正确,但在填入内容后,出现的错误,内容消失等

  b) 原因: 扩展性未考虑周全

  c) 解决: 进行overflow test

  输入内容的长度限制等功能可定位为内容型bug

  三、Javascript

  最直接的判断方法,刷新页面,出现滞后显示的一些模块基本都为脚本的输出块。该部分的一些问题可以参照兼容型bug中类别的脚本兼容型bug。

  有产生交互类的问题,大多数都可以定位到是属于javascript产生的问题,该部分大多不会报错

  有错误提示类的。页面左下方有出现javascript的错误提示;有弹出错误信息提示的bug;浏览器返回的一些错误弹出框都属于javascript的bug。

  肉眼在网页上见到的问题实际并不一定就是前端造成的,也有可能是后端人员未传值或者传值不恰当导致。具体应该怎么判断呢?目前我使用的方式是看network传值的情况。例子如下:

  1.这里我在电脑端测试是有正确的提示信息的,并且在相应条件下可以出现该提示。但是,使用手机进行测试时,却发现在同样情况下手机端给出的提示是“提交失败!”,显然,这种情况就属于前端的疏漏了。

测试圈1.png

测试圈2.png

  2.再有一种情况,就是后端未传值导致了前端无法显示相应数据。具体例子就不说了,查看方法和上面同样的,这种情况就是属于后端的Bug了。



作者:阿竺

来源:https://blog.csdn.net/carian_violet/article/details/84773053

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   关于软件测试行业的职业发展方向,在网络上总能看到各种各样的问题。  · 有关注零基础能不能入行的  · 有关注25岁入行晚不晚的  · 还有关注35岁后的职业发展方向的  ······  在此过程中,看到很多行业大佬分享了自己的工作经验,也给出了很多自己的建议——要想在测试行业有更长远的发展,一定要关注自己的职业发展道路,也就是你的晋升之路。为此我做了以下三点总结:  一、软件测试职业发展方向情况  业内人士表示,“由于我国的软件行业已经突破了作为一种工业化产品的阶段,软件测试已经成为软件开发企业不可或缺的质量监控部门。目前,我国软件测试人才的数量相对滞后于产业升级,从而形成了软...
            0 0 857
            分享
          •   中国网络空间安全协会今日发布公告,为规范 App 收集使用个人信息行为,保护个人信息权益,推动形成全社会共同维护个人信息安全的良好环境,中国网络空间安全协会组织指导网上购物、地图导航、浏览器、新闻资讯、在线影音、电子图书、拍摄美化、云盘、短视频、演出票务共 10 类 62 款 App 运营方,对照《中华人民共和国网络安全法》《中华人民共和国个人信息保护法》《常见类型移动互联网应用程序必要个人信息范围规定》等法律法规,重点针对超范围收集个人信息、过度调用敏感权限、权限设置和账号注销不便等个人信息收集使用问题完成了合规整改优化。  62 款 App 运营方已在应用商店上架合规版本(名单及版本号...
            0 0 140
            分享
          • 部门最近的H5相关项目挺多的,由于团队之前接触的大多是Web项目,很少涉及H5,想着给团队成员培训下,减少漏测率,于是整理了一个文档。别说,效果还挺不错的,连着上线6个版本,都没有收到业务方反馈Bug,好东西不能独享,分享给大家,希望对大家有所启发。一、功能测试1、业务逻辑与Web测试一样,参照产品原型,把业务逻辑都覆盖一遍即可。H5页面也能在PC端访问,Chrome对H5支持最好,功能相关的测试可以在PC端Chrome下先测试,也可以直接在手机上测试。2、登录授权浏览器打开时,需要登录;客户端内打开时,如果已经登录,则无需再登录,如果未登录,则需要登录授权。3、翻页需要测试1页或多页的场景,...
            0 0 1150
            分享
          •   在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。  如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。  所以说,学习性能测试,你前期需要懂的是需求分析、DB设计、程序开发、自动化测试、运维。  所以今天的内容是性能分析的一大重点,也是一大难点!  WebServer服务优化  对于Web服务性能优化的方向,一般是:  页面静态化:比如访问的页面,先进行静态化后提供访问,减少DB负担;  减少页面的Size:  减少尺寸、CSS合并、JS精简等;  客户端缓冲、样式等;  去掉无用请求与数...
            0 0 1002
            分享
          •   今年刚接触了(功能)测试工程师的面试工作,有遇到对信贷业务流程较熟悉的、工作内容纯测试App功能的、什么都接触过但是不够深入的,发现简历上写的东西和实际真的有点差距,面试也是一个艺术活。  为了更好地考察面试者的能力,让面试工作更加有条理,总结了下我考虑的几个方面:沟通能力、测试基础和技能、业务能力、测试思维、学习能力。  基本的逻辑能力、表达能力  这个不用特意考察,观察面试者在表达的时候条理是否清晰,逻辑性强不强,是简洁明了还是一大堆无关紧要的让人抓不住重点。  对项目流程的了解  一个完整的项目流程是什么,测试工作从哪里开始介入到哪里结束,每个步骤中测试工程师的职责是什么?  如果该...
            0 0 765
            分享
      • 51testing软件测试圈微信