精华内容
下载资源
问答
  • 如何区分前端bug还是后端bug

    千次阅读 2020-11-02 18:12:58
    所以,一个资深的测试人员的基本功应该是这样的:深挖业务功能需求,找出BUG,定位BUG,提出解决方案。这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位的问题。 试想: 根据需求,用户...

    软件测试工程师的职责是发现BUG,此外,如何体现个人价值?那么我们试想,只提出问题而不去解决,问题就永远得不到闭环。所以,一个资深的测试人员的基本功应该是这样的:深挖业务和功能需求,找出BUG,定位BUG,提出解决方案。这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位的问题。
    试想:
    根据需求,用户头像应是圆形,但结果是方形,是谁的BUG?
    保存用户信息时,无法保存成功,也没有错误提示,最可能是谁的BUG?
    显然,工作过程中,我们不可能把这些BUG提交给同一个人去解决。我们应该至少区分出是前端还是后端BUG,就好像时下流行的词“垃圾分类”,经过BUG分类处理,整个团队的效率都会有所提高。
    一.什么是前端/后端?
    目前多数互联网项目都是前后端分离开发的,那么什么是前端?什么是后端?简言之,前端侧重于页面设计,后端侧重于服务开发。
    比如要保存一个用户信息,前端把界面显示给用户,让用户按需填写,当用户点击“保存”按钮时,数据会通过网络被提交给后端服务,由后端服务处理是否需要进一步运算,并且把数据保存在哪一个数据库的哪一张表里。
    二.为什么要区分前端/后端BUG?
    目前多数项目都是多人协作开发的,如果不能明确这个BUG是谁造成的,容易提交给错误的开发人员,会大大降低BUG的解决效率。
    另外,如果团队规模较大,或者由各地的项目组拼凑而成,势必会增加沟通成本,这更需要我们在类似禅道或者Jira等项目管理软件中提交BUG时,先指明是谁的BUG,避免互相踢皮球的现象。
    所以,为了提高团队效率,测试人员尤其要做好BUG分类。
    三.如何定位前端/后端BUG?
    对于一个优秀的软件测试工程师来说,区分BUG属于前端还是后端是尤为重要的。
    页面请求过程
    弄清楚如何定位和分类BUG之前,需要了解一下页面请求的过程,以 http 请求为例,请求过程如下:
    用户在前端页面操作,如点击某个功能
    页面携带数据进行请求,访问具体功能接口
    由后端服务执行该接口相应的业务逻辑,如涉及数据,再去请求并组装数据返回给前端
    前端页面进行渲染和展示对应的页面和数据
    前后端BUG各有什么样的特点?
    前端BUG
    – 界面相关
    – 布局相关
    – 兼容性相关
    后端BUG
    – 业务逻辑相关
    – 性能相关
    – 数据相关
    – 安全性相关
    定位BUG属于前端还是后端,有什么方法?
    这里提供了几个方法,可以给大家一个思路,让大家能在学习和工作中了解如何去区分BUG属于前端还是后端。
    经验法
    软件测试人员应不断精进自己的技能,负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类BUG了。
    例如:
    网页上的某个图片的分辨率不对,如果我们了解实现过程,可以想到一般情况下,是根据某个地址去服务器取图片的,数据库一般只保存地址,那么图片能正确显示,就说明后端的基本功能是满足需求的。如果具体图片分辨率有误,最可能的原因是前端显示过程出了差错。
    日志查看法
    当我们发现一个BUG,并不确定这个BUG属于前端还是后端,可以查看后端服务的日志,复现BUG时,查看日志中有没有相关信息。基本可以认为,如果日志没有输出,很可能这个功能并没有与后端交互,也就不存在后端的问题。反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。
    接口查看法
    这种方法常用于查看是后端返回给前端的数据有误,还是前端显示有误。
    大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,在NetWork中可以看到当前页面发送的每个http请求。
    通过Chrome看到的接口情况如下
    在这里插入图片描述
    可以在Response中查看响应数据
    在这里插入图片描述
    我们需要对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。如果数据错了,页面显示是错的,也是正常的,先从后端入手去解决。如果数据对了,但是显示错了,就需要问问前端的开发人员了。
    四.经验和总结
    沟通很重要
    我们在定位BUG的过程中,最不能忽略的一个问题是和开发人员的沟通,有时候忙活半天,不如一问一答。经验和技术的成长也都离不开合理高效的沟通。
    经验和小结
    出现样式的问题基本都是CSS的BUG
    出现文本的问题基本上都是html的BUG
    出现交互类的问题基本上都是Javascript的BUG
    其他问题先沟通,再定位

     

    本文转自:https://blog.csdn.net/qq_37823386/article/details/81736548?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

    展开全文
  • 如何区分前端BUG和后端BUG

    千次阅读 多人点赞 2020-06-09 16:50:10
    1、如何区分前端和后端 通俗讲,用户看到的部分都叫前端。 而用户看不到的部分可以统称为后端。 2、前端和后端的呈现形式 前端的呈现形式有web端、移动端(ios、安卓)、小程序等。 后端系统一般只有一个,...

    1、如何区分前端和后端

    通俗讲,用户看到的部分都叫前端。

    而用户看不到的部分可以统称为后端。

     

    2、前端和后端的呈现形式

    前端的呈现形式有web端、移动端(ios、安卓)、小程序等。

    后端系统一般只有一个,收集不同前端反馈回来的数据。

     

    3、前端和后端工作内容的差别

    前端主要是考虑怎样能让用户觉得用起来更舒服,考虑界面布局、交互效果、页面加载速度等。

    后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等。

     

    4、如何分析bug(bug类型)

    当bug出现时,一般来说分大致3种情况:

    (1)数据库层面的:

    可能少某个字段,或者字段值为空等等,这些可能在设计数据库时就埋下了错误的种子,导致程序调用数据库错误的数据产生bug,这一类问题不算普遍,但也是最容易忽视的一种情况,有时候从数据库入手定位bug说不定还能发现数据库的设计缺陷。

    (2)网络层面的:

    通常这种都是网络情况较差的时候产生的,比如手机的移动网络信号不好,又或是公司网络不稳定,导致js/css未加载完全或者请求超时等等,这种问题其实非程序bug造成的,可以不用提交bug,也不用让开发毫无头绪的去查代码的问题。当然如果可以的话也可以当优化建议提给开发,让他优化代码,比如压缩js/css,增加超时时间,超时后的重试机制。

    (3)代码层面的:

    普遍的bug基本都是代码有问题造成的,排除掉1和2剩下后就可以确定是程序bug了。对于了解网络架构的人来说,其实程序也分前端和后端的,一般对于界面显示有问题直接可以判断是前端的问题,比如系统兼容性,浏览器兼容性。

    而对于数据或者逻辑上的问题,则需要(检查接口)前端和后台之间是通过接口文件相互联系的,通过抓包工具来进行分析 :

    1)请求未返回数据,可能是client(客户端)请求数据错误,可能是server端(服务器端)处理错误。

    2)请求返回错误的数据,那就是server端处理错误。

     

    5、如何区分前端问题和后端问题

    前台的bug通常是功能、界面和兼容性等有关;

    后台的bug与逻辑、性能和安全性有关。

    与数据相关的错误、排序问题大多是后台问题;

    对于APP页面toast提示可能是后台给的,可能是APP给的。

    (1)检查接口 

    前端和后台之间是通过接口文件相互联系的,测试人员可以通过查看接口文件,来区分前端和后台bug。

    (2)情况分析 

    a、检查请求的数据是什么?反馈的数据又是什么?

    通过抓包工具来进行抓包分析。

    大多数的浏览器都有自带的抓包插件,如 FireFox 的 FireBug 插件,Chrome、360急速模式、搜狗高速模式自带的 DevelopTools 插件(F12开启),在 NetWork 中可以看到当前页面发送的每一个http请求。请求接口、传参、响应三部分来判断Bug,另外,也可以在浏览器的控制台进行js代码调试定位。

    1)请求接口URL是否正确

    如果请求接口URL不正确,为前端Bug;

    2)http请求中的参数是否正确

    如果http请求中的参数不正确,为前端Bug;

    3)如果接口URL和参数都正确,查看响应内容是否正确

    如果这种情况下响应内容不正确,则为后端Bug。

    4)如果JS基础比较好的话,也可以在浏览器的控制台中输入JS代码进行调试。

    b、根据接口的文件,检查数据是否正确。

    如果发送的数据是正确的,但是后台反馈的数据是不符合需求的,那就是后台的问题。

    如果前端没有请求接口,或者请求的时候发送数据与需求不符,那这个时候就是前端的问题了。

     

    6、如何精准的定位前台bug并且描述bug?

    (1)按F12在 console(控制台)中查看报错信息,对于出错的 js 可以在 Sources 下查看对应报错的资源文件,截图放入bug单,bug定位策略:

    1)网站前台的权限控制:没有权限的用户是不能直接输入url的方式来进行访问的,必须进行登录。涉及到权限的测试,一定不能漏掉url的方式也需要验证一下。而在单个页面进行W3C测试时则需要去掉该权限控制。

    2)网站前台的title,对于这个也很容易忽视。进入到不同的功能页面,title显示应该是有,并且要和你进入的页面一致。title就是在浏览器最左上角看到的那些文字

    3)http和https的注意点:https是一种安全链接,它是需要证书的,而http就是普通链接,所以在你的系统中客户会要求某些关键的地方加上这种安全连接,那么此时你需要注意的是,对于不需要安全链接的地方也要去重点测试,有些开发会很容易忽略这一点。要打开HTTPS开头的网站,前提是该网站安装了SSL证书,只有安装了SSL证书的网站,并且开启了 443 端口,你才可以通过HTTPS加密协议无访问。如果没有则不能访问。

     

    (2)前端bug主要分为3个类别:HTML,CSS,Javascript 三类问题:

    一)出现文本的问题基本都是html的bug

    二)出现样式的问题基本都是CSS的bug

    三)出现交互类的问题基本都是Javascript的bug

     

    一)HTML

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

    常见问题类别:

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

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

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

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

    <a><ing></ing></a>

    <p></p>

    的两行的形式从而导致前端在 ing 里面的格式产生混乱。

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

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

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

     

    二)CSS,产生样式问题。

    例如:排版,布局,颜色,背景等,分:

    1.兼容型bug

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

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

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

    d) 类别:

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

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

    2.业务性bug

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

    b) 原因:对业务不熟悉

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

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

    3.内容型bug

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

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

    c) 解决:进行overflow test

    d) 总结:输入内容的长度限制等功能可定位为内容型bug

     

    三)Javascript

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

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

    c) 有如下错误提示类的都属于javascript的bug:

    页面左下方有出现javascript的错误提示;

    有弹出错误信息提示的bug;

    浏览器返回的一些错误弹出框。

     

    7、如何精准的定位后端bug并且描述bug?

    (1)根据后台日志文件定位:

    1)查看报错日志

     查看报错日志,通过日志分析,有利于帮助开发更好地定位问题,初期 bug单 可以携带日志一起发送指给开发。

    2)查看数据库的数据

      了解所测功能的数据表结构,测试过程中,查看数据库的数据,确认数据的正确性。

    3)查看缓存(如 Memcache、apc、redis 等缓存)是否正确

     

    (2)后端部署在liunx系统使用secureCRT进行日志获取,常见问题分类:

    1)编码问题:tomcat是新的,需要改编码 修改tomcat的server.xml文件<Connector port="8080" URIEncoding="UTF-8"/>,特别是windows下的项目重新部署到linux系统下。

    2)空指针:程序问题,一般没有考虑到为空情况,或者主外键约束的数据为空,或者删除关联数据,导致为空。

    3)长度过长:超过最大长度,测试环境修改数据库字段长度后生产环境未修改,导致报错。

    4)非法数据:特殊字符,是否对特殊字符进行容错处理。

    5)内存溢出:重启。

    重启的一般情况:

           1)热部署 (新增部分功能,或者修改部分bug)

           2)发布新版本 (整个系统)

           3)内存溢出,此时重启服务器即可

        4)由于项目中有线程程序,./shutdown脚本关闭tomcat程序,不能把启动的线程全部关闭,造成服务器启动线程未关闭的错误。

      Linux系统中重启Tomcat的一般步骤:(一般是先关闭进程,然后进行重启 ,如果 /要删除某个文件:rm 文件名,或者不为空的文件夹:rm -rf 文件夹名)

      cd usr/local/   //测试服务器名称/bin

      ps -exf         //看测试服务器下运行的项目的主进程(最前面的数字为PID进程号)

      kill -9 PID     //强制关闭某一项目的主进程

      ./startup.sh    // ./**.sh 即执行重启shell脚本文件 ,此时在测试服务器的bin下面,直接执行即可,其余的加上 chmod a+x shell脚本文件,也可用./执行

      ps aux 和 ps -ef命令区别:

      ps aux 是用BSD的格式来显示java这个进程

      显示的项目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND

      ps -ef 是用标准的格式显示java这个进程

      显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD

     

    (3)一般的问题原因总结:

      1)程序:为空判断,增删改查,不同公众号调用的接口也不一样

      2)数据初始化:数据库表结构和数据初始化,权限配置,特别注意生产环境上的用户数据修改,此时用户在使用,很重要!!!

      3)故障无法重现时:

      a)看日志,根据日志定位原因,则在测试环境中按照日志提示构造条件相同的测试案例测试,尝试在测试环境中将问题重现。

      b)测试环境和配置与实际的工程环境和配置有哪些差异等等。同时主动与开发负责人、工程实施人员以及有经验的项目经理讨论,分析可能导致的原因。

        c)测试环境ok,生产环境新增时保存失败,查看后台日志报长度溢出,数据库内容字段要求和生产环境不一致。

     

    (4)如何查看日志(tail -f)?

    一台服务器可以部署多个应用:

      cd usr/local/测试服务器名称/logs//查看先进入到服务器的logs目录下

      tail -f catalina.out//监视catalina.out 文件的尾部内容(默认10行)

     

    (5)辅助工具:linux和SQL

     linux查看日志

     SQL用来筛选数据或直接进行数据修改状态,多用于集成测试过程中前后流程相连接

     

    8、浏览器兼容性和网页规范标准测试

    浏览器兼容性测试(偏主流浏览器,如谷歌,火狐,IE8以上):

    https://dev.windows.com/en-us/microsoft-edge/tools/staticscan/

    W3C网页验证:(判断网页书写是否符合规范,记住此处必须去掉权限控制,单个单元页面url需要跟参数)

    https://validator.w3.org/

      W3C手机端页面检测(如手机微信菜单下的页面):

    https://validator.w3.org/mobile-alpha/

     

    9、互联网与传统测试互联网测试与传统测试的区别

    (1)最大的不同:互联网产品需要自己部署和运营,用户使用瘦客户端(浏览器,app或一个需要安装的client),核心的数据和业务逻辑在互联网公司的机房,在IDC,在云端。

      如:我们做的系统用户只需一个浏览器,服务器用的阿里云,部署和运营只需要一个运维人员即可。

     考虑现网(生产环境)存在下面两个问题:

      1)如何发布功能到现网?

      互联网测试完一般可直接发布,测试周期短,有时候需要进行灰度发布,先让部分用户用起来,发布完做生产验证。

      2)如何保证测试环境和生产环境同步?

      测试环境比较难搞,牵扯的系统平台比较多,用到很多微信平台的接口,这个很难自己搭建或者用mock。

        另外保证测试环境和到生产环境都是好的,需要代码和数据库,以及环境配置都要保持一致,这需要相应的机制和工具来验证和同步。

     

    (2)互联网产品节奏很快

      有的软件公司,基本是进行二次开发,周期长,每次都需要经过下面几个完整的测试流程:

      客户提出需求>>>BA和客户沟通,确定出需求和解决方案>>>测试人员根据需求说明书和解决方案编写测试用例>>>进行概要评审>>>进行详细设计评审>>>开始测试>>>回归测试>>>生产验证。

      现在的互联网产品测试基本为:

      产品经理确定好测试需求>>>开发人员写详设>>>(此阶段可以进行设计bug检查)>>>开发人员开发>>>测试人员测试,上线

      弊端:来不及测试设计,来不及自动化,短时间内如何保证测试的覆盖率和质量?>>>(探索式测试应势而生)

     

    (3)更多的人参与到测试中

      互联网公司有专门的测试团队的比较少,一般开发和测试比例:7:1,如何保证质量?

      1)开发人员的自测

      开发人员进行单元测试,测试用例的通过率,同一个版本拉代码的次数

      2)产品或运营人员的体验

      在这里基本我就相当于用户,进行产品体验,或者根据免费试用者反馈的意见进行优化

      3)发布之前的评审

      注意环境,配置,数据方面的问题

     

    (4)有一些是免测试的

      并不是所有发布到生产环境的东西都需要在测试环境检验,如:图片样式改动,小bug修复,但是哪些免测是个复杂的问题

     

    (5)海量用户带来的挑战

      1)性能方面

       如何做轻量级的性能测试

      2)浏览器的兼容性

      现在的系统大多基于主流的火狐,谷歌,IE8以上,放弃浏览器兼容就等于放弃一部分客户。

     

    (6)测试工具和技术方面

      传统的企业花钱购买商业软件,如QTP,loadrunner,或者自己开发的项目管理工具

      大部分的互联网公司使用开源或自主研发的,如 selenium,appium,robotium,monkeyrunner,jmeter

      相同点:

      1.都需要非常熟悉产品和业务

      2.都需要了解产品的技术(深度测试方面性能分析,内存泄露,web服务器,cache,代理)

      3.具体的测试技术

      4.测试设计的方法

       5.测试人员的技术体系

    展开全文
  • 如何区分前端Bug与后端Bug

    千次阅读 热门讨论 2021-01-26 14:25:52
    对于软件测试过程中的缺陷报告提交,一份高质量的缺陷报告除了必要的基本信息以外,还需要根据项目组中每个角色分工不同, 对待缺陷的定位立场也不同,所以完善且有说服力的缺陷报告非常重要。 温故下之前高质量的...

    对于软件测试过程中的缺陷报告提交,一份高质量的缺陷报告除了必要的基本信息以外,还需要根据项目组中每个角色分工不同, 对待缺陷的定位和立场也不同,所以完善且有说服力的缺陷报告非常重要。
    温故下之前高质量的缺陷报告的几个条件:
    1、描述清楚问题产生步骤及严重级别
    2、尽早提交缺陷报告,快速反馈开发
    3、非必现的Bug也要全部提交
    4、为每个缺陷单独提交一份缺陷报告
    5、仔细编写缺陷报告的标题
    6、像编写测试用例编写重现步骤
    7、使用缺陷模板来提交缺陷
    8、编写缺陷报告时,要考虑到日后的查询关键词
    9、如有同类或已发生的缺陷 ,则进行关联
    10、注意缺陷报告的可读性
    11、客观组织描述语言来编写缺陷报告
    12、通过缺陷评估发现更多信息

    提交高质量的缺陷只是测试流程的一小部分,实际工作中,同一个需求可能由多个开发人员共同完成,特别是涉及到较大项目或需求时,可能还会有外部依赖或支持系统的开发人员,各个开发人员所负责的功能模块和业务范围可以从项目计划书或是从项目经理处知悉,但对于同一个问题是提给前端人员还是后端人员或是接口人时,则需要测试人员根据自己的技能和工作经验来判断,这里归纳了一份关于前后端问题的区分思维导图,当然有很大一部分问题属于联调,需要开发人员共同解决。而准确区分前后端问题不仅可以提高工作效率 ,也是测试人员专业技能的一个体现。

    以下是前后端典型问题区分的思维导图:

    在这里插入图片描述

    一、前端问题
    1、界面相关
    常见的界面相关问题有:排版错乱、文字错误、数据错误、兼容性问题
    文字错误的问题又包含功能文字及提示文字 ,功能文字即对话框或弹框中的标题文字;提示文字即前端给出的文案提示
    数据错误的问题又包含列表字段错误、表单字段错误等,这种情况下可以查看前端是否参与计算,或是有无进行过字段配置管理,一般情况下可以先提交给前端
    浏览器兼容问题比较常见,如果使用了UI框架 ,则前端问题常见于框架问题。常见的浏览器问题可以参考历史推文《浏览器兼容性测试学习》

    在这里插入图片描述

    2、功能相关
    功能相关的又包含功能实现错误或不完整以及逻辑错误等
    功能问题可以通过抓包查看请求的方式来初步判断,如无请求,则初步判断为前端Bug;若抓包中有请求,则可以通过不同的状态码来判断,有请求的情况下可以初步判断为后端Bug,抓包相关可以参见《基于Fiddler的APP抓包及服务端模拟》

    常见的状态码可以参见百科中的状态码记录:

    在这里插入图片描述

    逻辑错误问题需要与开发人员沟通确认

    3、性能相关
    常见的问题如页面打开较慢,表单打开慢等,一般情况下可以通过抓包来查看请求,如果请求耗时较小,则初步断定为前端问题;否则可以结合其他信息排查为后端问题。
    另外,性能相关的问题出现后建议通过工具来评估整体的性能,可以进一步定位是哪个部分的问题。

    二、后端问题

    通常后端问题常见于业务逻辑、数据问题以及安全相关的问题与性能问题
    如果前端功能实现导致后端返回的数据出错 ,则可以初步判断为前端问题;但如果查看后端返回的接口数据不一致或是出现报错信息,则判断为后端问题;
    在这里插入图片描述

    另外,后端问题多数可以通过查询错误日志信息来排查原因,若没有输出日志,则可能为前端问题;不存在交互的情况下更多偏向于前端问题。有些信息不会展示在前台,需要结合服务端日志信息一起排查定位了。在定位的过程中可以记录下相关SQL的问题,服务端的问题以及代码问题,以便于日后查看。

    记录并总结的时间久了,渐渐也会积累一些经验,可以通过接口分析法,日志工具,结合自己过往的项目经验来判断,当然这些都是在自我分析层面 ,如果遇到无法直接判断的问题,可以直接找到相关的开发人员进行沟通, 但沟通并不是直接指给开发人员或是直接问,可以在自己充分分析的基础上以讨论的方式进行。既可以不断提升自己的职业技能,也可以增加测试人员的实力。

    展开全文
  • 如何区分前端BUG和后台BUG

    千次阅读 多人点赞 2019-06-03 14:54:46
    这里先说定位问题的要求,定位问题要向深入,前提当然是对功能、产品的流程、开发方案、开发人员非常熟悉了,以我们部门为例,定位bug至少要到下面这种程度。 首先确定是界面显示问题还是功能问题 如果是界面问题,...

    测试工程师不只是负责发现问题,除了发现问题这种基本功外,定位问题,提出解决方案,提出预防方案也是要掌握的技能。这里先说定位问题的要求,定位问题要向深入,前提当然是对功能、产品的流程、开发方案、开发人员非常熟悉了,以我们部门为例,定位bug至少要到下面这种程度。

    首先确定是界面显示问题还是功能问题

    • 如果是界面问题,如贴图错误,文字错误,样式错误,则需要截图。
    • 如果是功能问题,控制台的问题至少定位到:www的问题还是数据库问题,如果是www问题至少要定位到是前端还是后端问题;如果是数据库问题至少要定位到是服务端接口问题还是中间件问题。
    • 客户端的问题至少定位到:哪个dll模块或者逻辑出的问题
    • 服务端的问题至少定位到:什么接口出的问题,导致数据库哪里不对

    另外,

    1. 测试时不要全按照用例走,要多发散思维
    2. 测试时要尽量考虑得更全面,把一些多用户多终端或其他极端的情况都考虑到。
      最后,跟进重点问题的修改进度和方案,询问开发时如何修改的,反思开发的修改方案是否存在漏洞。

    为何要学会区分前端和后台BUG?

    如果是一个多人开发的系统,不能明确定位到这个bug是谁造成的,容易提交给错误的开发人员,于是bug会像皮球一样被开发踢来踢去,耽误开发解决bug的时间。

    即便提交给对的开发,开发也未必能查到bug产生的原因和代码有问题的地方,因此不一定能修复bug,往往修改了自己认为可能有问题的地方,然后测试发现还有问题,继续发回给开发,开发继续查,来来回回耽误解决bug的时间。

    再退一步来说,如果开发水平很高,没有1和2的问题,对于测试来说也很容易提交重复的bug,因为可能很多bug都是由于一个地方引起的,只是表现出问题不一样,但本质却是一样的,这样也是耽误了测试时间。

    当然能遇到的远远不止以上3种情况,所以对于测试来说仅仅提交bug是不够的,无论对于测试自身的提高积累,还是对于项目进度推进都是非常重要的。


    测试工程师如何区分前端和后台的BUG
    前台的bug通常是功能、界面和兼容性等有关;后台的bug与逻辑、性能和安全性有关。与数据相关的错误、排序问题大多是后台问题,对于APP页面toast提示可能是后台给的,可能是APP给的

    通常情况下,我们可以通过请求接口、传参和响应三部分来判断Bug,另外,也可以在浏览器的控制台进行代码调试定位。

    1. 请求接口URL是否正确,如果请求接口URL不正确,为前端Bug
    2. http请求中的参数是否正确,如果http请求中的参数不正确,为前端Bug
    3. 如果接口URL和参数都正确,查看响应内容是否正确,如果这种情况下响应内容不正确,则为后端Bug
    4. 如果JS基础比较好的话,也可以在浏览器的控制台中输入JS代码进行调试

    根据接口的文件,检查数据是否正确,至于如何分析,这个就看个人的基础了,如果发送的数据是正确的,但是后台反馈的数据是不符合需求的,那就是后台的问题;如果前端没有请求接口,或者请求的时候发送数据与需求不符,那这个时候就是前端的问题了。
      前台bug定位:按F12在console中查看报错信息,对于出错的js可以在Sources下查看对应报错的资源文件,写入禅道提交给开发即可。

    后端的Bug,如何准确的定位问题在哪里,如何精准的描述Bug?

    1. 查看报错日志,通过日志分析,需要有一定的经验,并且有一定的代码基础,才能更好地定位问题。
    2. 查看数据库的数据,了解所测功能的数据表结构,测试过程中,查看数据库的数据,确认数据的正确性。
    3. 查看缓存(如Memcache、apc、redis等缓存)是否正确

    前台bug注意以下三个方面:

    1. 网站前台的权限控制:没有权限的用户是不能直接输入url的方式来进行访问的,必须进行登录。以后涉及到权限的测试,一定不能漏掉url的方式也需要验证一下。而在单个页面进行W3C测试时则需要去掉该权限控制。
    2. 网站前台的title,对于这个也很容易忽视。进入到不同的功能页面,title显示应该是有,并且要和你进入的页面一致。title就是在浏览器最左上角看到的那些文字
    3. http和https的注意点:https是一种安全链接,它是需要证书的,而http就是普通链接,所以在你的系统中客户会要求某些关键的地方希望加上这种安全连接,那么此时你需要注意的是,对于不需要的安全链接的地方千万也要去重点测试,有些开发会很容易忽略这一点。
      你要打开HTTPS开头的网站,前提是该网站安装了SSL证书,只有安装了SSL证书的网站,并且开启了443端口,你才可以通过HTTPS加密协议无访问。如果没有则不能访问。

    你可要测试,比如在某个网站http协议后面加个s去访问,看能否访问成功,能成功,会显示绿色安全小锁,否则就不能访问。给你举几个安装了ssl证书,可要https访问的网站,1号店,天猫,淘宝,支付宝,百度,沃通CA,工信部网站等等
    前端bug主要分为3个类别:HTML,CSS,Javascript三类问题

    • 给个最大的区别方式方法:
    1. 出现样式的问题基本都是CSS的bug
    2. 出现文本的问题基本都是html的bug
    3. 出现交互类的问题基本都是Javascript的bug
    展开全文
  • 前端和后台BUG区分方法

    千次阅读 多人点赞 2019-06-13 12:01:45
    这里先说定位问题的要求,定位问题要向深入,前提当然是对功能、产品的流程、开发方案、开发人员非常熟悉了,以我们部门为例,定位bug至少要到下面这种程度。  首先确定是界面显示问题还是功能问题,  如果是...
  • 如何定位前端bug和后端bug

    千次阅读 多人点赞 2019-10-08 09:34:24
    今天就来跟大家分享“如何定位前端bug和后端bug” 正文 1、样式问题 关于布局兼容性问题,举个例子:同个界面,在15寸电脑上可以看到完整的内容,但是在13.3的电脑上只能看到部分;再举个例子:在Android 9.3的...
  • 在提bug时,只有明确定位是前端bug还是后端bug,才能正确指派给对应的开发同学,如果经常分不清楚,一直需要开发同学重新指派,不仅浪费了时间,还会被开发同学吐槽,今天就带大家解锁一些区分前后端bug的技能,分...
  • 如果是一个多人开发的系统,不能明确定位到这个bug是谁造成的,容易提交给错误的开发人员,我们又不可能把这些bug同时提交给前端和后端一起去解决,同时提交给前后端开发人员,每个人都会有依赖心理,就像我们在家里...
  • 首先我们要知道知道前后端都做些什么? 前端写页面(html、css、js);...后端写接口(主要数据库) 如果界面没有数据,接口返回了数据,那就是前端的问题。 如果页面正常,接口没有数据,那就是后端的问题。 ...
  • 如何区分前后端bug

    千次阅读 2021-08-12 11:40:04
    对于测试工程师而言,区分前后端bug,对于提高改bug效率很重要,前端bug指派给前端工程师,后端bug指派给后端工程师,从而达到忙而有序,事半功倍的效果。 页面请求过程: 用户页面输入某个字段,点击提交按钮 ...
  • 在测试过程中,作为软件测试工程师,经常会遇到bug定位问题,也是其中一个重要的问题就是到底如何判断自己提交的bug属于前端问题还是属于后端问题? 要知道自己提交的bug属于前端还是后端问题,那么首要需要理解...
  • 测试如何区分Bug前端的问题还是后台的 作为一个测试工程师,我们的职责不仅限于找到Bug,还要懂得区分这个Bug前端的还是后台的,这样也有助于团队整体的工作效率 什么是前段 综合网上的资料来看: 前端是用户看得...
  • 如果响应内容不正确,为后端bug 4.也可以在浏览器控制台输入js代码调试进行分析 如果定位为后端的bug,应该如何精确定位是哪里出了bug呢 1.查看报错日志,通过日志分析问题点 2.查看数据库确认数据的正确性 3.查看...
  • 测试如何判断是前端bug还是后端bug

    万次阅读 多人点赞 2020-06-09 22:22:48
    所以,一个资深的测试人员的基本功应该是这样的:深挖业务功能需求,找出BUG,定位BUG,提出解决方案。这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位的问题。 试想: 根据需求,用户...
  • 1、什么是接口测试? 1、所谓接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。...4、前端和后端都校验好了(代码在哪都能使用) 3、怎
  • 为什么要区分前端/后端BUG? 如果是一个多人开发的系统,不能明确定位到这个bug是谁造成的,容易提交给错误的开发人员,我们又不可能把这些bug同时提交给前端和后端一起去解决,同时提交给前后端开发人员
  • 所以,一个资深的测试人员的基本功应该是这样 的:深挖业务功能需求,找出BUG,定位BUG,提出解决方案。这里我们就来说说,当我们找到了BUG,应该把BUG提交给谁去解决,这属于BUG定位 的问题。 为什么要
  • 分析bug前端还是后端

    千次阅读 2019-05-31 17:34:00
    平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug 这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对 请求报文没问题,那就看返回报文,返回...
  • (给前端大学加星标,提升前端技能.)作者:吕小鸣https://juejin.im/post/5d7990a16fb9a06ad16f9d55前端架构师,听起来就是个...好像架构师就从来没有和前端有过关系,那么真的是这样么,通读此文,便可豁然开朗。前端...
  • 如何定位前端/后端BUG? 通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。 请求接口url是否正确 如果请求的接口url错误,为前端的bug 传参是否正确 如果传参不正确,为前端的bug ...
  • 如何定位bug前端还是后端

    千次阅读 2020-11-29 19:21:43
    关于布局兼容性问题,举个例子:同个界面,在15寸电脑上可以看到完整的内容,但是在13.3的电脑上只能看到部分;再举个例子:在Android 9.3的系统上,一副动画可以自动播放,在Android 4.4的系统上却没有动画效果。...
  • 通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口...如果响应内容不正确,为后端bug 4.也可以在浏览器控制台输入js代码调试进行分析 如果定位为后端的bug,应该如何精确定位是哪里出了bug呢 1.查...
  • 如果响应内容不正确,为后端bug 4. 也可以在浏览器控制台输入js代码调试进行分析 如果定位为后端的bug,可以进一步通过以下方法精确定位是哪里出bug: 1. 查看报错日志,通过日志分析问题点 2. 查看数据库确认...
  • 最准确的是看接口文档的接口请求返回,对着接口文档来,请求错乱就找前端,响应返回错了,就找后端;响应没错还是与需求不符合也是找前端 如果问题还不能定位,就把前后端叫到一起,有他吗讨论 ...
  • 前端和后端介绍

    千次阅读 2020-03-23 00:40:57
    2、前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现。 3、Web前端开发:HTML+CSS+JavaScript Android终端开发:Java(开发工具:Android...
  • 今天就来跟大家分享“如何定位前端bug和后端bug” 标题 1、 样式问题 关于布局兼容性问题; 举个例子:同个界面,在15寸电脑上可以看到完整的内容,但是在13.3的电脑上只能看到部分;再举个例子:在Android 9.3的...
  • 前端和后端接口的实现简述

    千次阅读 2020-04-11 23:00:11
    前端 表单:get/post/put/delete/… js: ajax/jsonp 后端 处理方式:http[s] ​ address: req.url 抓取 get请求的数据 切字符 | url模块 ​ !address: req.on('data',(chunk)=>{CHUNK==每次收到的数据buffer}) ...
  • 如何定位Bug前端还是后端问题(个人总结) 一、UI界面出现问题 如果是APP方面UI的问题—APP相关探查工具 如果是WEB浏览器方面的问题“ 1.查看前端UI实现代码是否报错 2.查看对应API接口响应是否异常(接口测试...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,230
精华内容 14,492
关键字:

怎么区分前端和后端bug