如何分析—个bug是前端还是后端的问题?软件测试理论基础质量保证常见【面试题】

程序员一凡 2020-11-12 14:45:10
面试 敏捷开发


(文章首发于公众号:程序员一凡,公众号回复【面试】有我往期软件测试大厂面试题精讲)

 

不管你现在做软件测试,在什么级别。

软件测试理论基础和软件质量保证问题,面试的时候绝对是离不开的。

软件测试这一个行业离开了业务就失去了灵魂。

一切的自动化、一切的编程、一些软件测试工具,都是辅助测试为主。

我们最终的目的是保证我们产品的质量。

所以不管什么样级别的软件测试工程师,你得全面掌握软件测试理论基础、文档的编写、测试流程。

 

如果说我是面试官,你现在来面试。

那我第一个肯定不会问你那些代码的问题,也不会问你自动化的问题,也不会问你测试开发的问题。

我首先看你做了几年软件测试,有没有属于自己的一些软件测试思维,有没有自己的心得。

比如说像软件测试分为哪几个阶段?然后你之前测试过的项目流程,在每一个阶段的输出有哪些?是怎么样去执行的,你在软件测试过程中充当的角色。

这一类软件测试面试题,根据你的回答,就能知道你有没有工作经验。你对软件测试的认知,你对自己岗位的职责,对自己的定位是否准确。

都是一些比较综合性的问题。

 

现在都是一个敏捷开发的模式,很多公司都是用敏捷开发,那么你能谈一谈这个敏捷开发吗?

大家不要局限于很传统的问题,什么是测试计划啊,什么是测试用例编写等等。

敏捷开发现在也是属于软件测试基础理论的一个理念。

 

然后Linux常见的查看日志命令有哪些?这也是比较基础的一些东西了。你至少要会查看开发的日志,会数据库。

 

然后我问你,线上质量BUG频频爆发怎么办?你做为一个测试你该怎么去应对?像这些都是比较综合性的问题,都是考验你在工作中的经验于心得。

你做过多少项目,你在遇到这些问题你是如何处理的。

 

然后你如何分析一个Bug是前端还是后端的问题?

 

像这个问题,这是一个软件测试工程师初、中级会问你的面试题。

像最前面图上的问题,你一定要能够全面的诠释。大家一般能答出多少个?欢迎在评论区留言探讨。

 

在回答这一类问题的时候,我们要根据自己的工作经验,去总结。

回答的时候不能简单的说“是否对错”,我们要根据面试官问的问题去扩展,我们就拿第6个问题来说吧!

 

然后你如何分析一个Bug是前端还是后端的问题?

 

这个就看大家做软件测试的心得了,像这类问题,你去百度去网上也不好找。欢迎在评论区谈一下大家自己的经验。(抓包?看接口返回?)

通过一些接口请求信息,抓接口请求信息。(通过浏览器的一些开发者工具)

就是说检查接口,检查接口首先你得了解BUG它用到了哪些接口,然后检查请求的数据,发送的数据是否正确,后台反馈的数据是什么?

如果前端没有请求接口,或者请求的时候参数与需求不符,那么肯定就是前端的问题。

划重点:请求参数,返回的响应值

那么我们可以来看一个简单的案例。

 

我这里有一个平台,是前后端分离的,只有前后端分离的系统才会出现这个问题。

 

假设这个是我们被测的系统,我们在系统管理-用户管理这里是不是有很多用户,这个是最简单的用户管理系统了。就是有哪些人,有admin有知一,有木子,有当当等等很多。

 

 

我们先来删除其中任意一个,页面没有任何的反应。

 

 

我第二次再去删除同一个,它就报Userld不存在了对吧?

 

 那么如果是这种情况,是前端的问题还是后端的问题?一看就是前端的问题对吧。

判断这个问题,是不是前端的问题,我们就打开netkwork

 

我们来新增一个用户,它就会调用一个add接口,显示用户新增成功。

 

 

当我新增一个用户的时候,bug可能会偶尔重现。所以大家在看接口请求的时候,你要看它本来你去删除的时候它只调用了一个接口,那么它不仅要删除这个人,它其实还要去刷新这个页面,它需要重新去调用这个用户界面的接口。这个时候你就需要知道当它做这个删除功能的时候需要调用几个接口。

可能有些接口,开发人员没有去调用,那么就是前端的问题,这个时候需要我们主动刷新一下,主动刷新的时候,整个页面它会重新整个去获取一遍。这个时候删除在页面上才会生效。所以说这是前端少调用了一个接口。

这就是前端的一个问题。

用了一个接口。

以后去回答这个面试题,你就可以完美的去回答了,如果还是没有完全理解可以公众号程序员一凡获取视频详细教程。

 

版权声明
本文为[程序员一凡]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4512374/blog/4714564

  1. [front end -- JavaScript] knowledge point (IV) -- memory leakage in the project (I)
  2. This mechanism in JS
  3. Vue 3.0 source code learning 1 --- rendering process of components
  4. Learning the realization of canvas and simple drawing
  5. gin里获取http请求过来的参数
  6. vue3的新特性
  7. Get the parameters from HTTP request in gin
  8. New features of vue3
  9. vue-cli 引入腾讯地图(最新 api,rocketmq原理面试
  10. Vue 学习笔记(3,免费Java高级工程师学习资源
  11. Vue 学习笔记(2,Java编程视频教程
  12. Vue cli introduces Tencent maps (the latest API, rocketmq)
  13. Vue learning notes (3, free Java senior engineer learning resources)
  14. Vue learning notes (2, Java programming video tutorial)
  15. 【Vue】—props属性
  16. 【Vue】—创建组件
  17. [Vue] - props attribute
  18. [Vue] - create component
  19. 浅谈vue响应式原理及发布订阅模式和观察者模式
  20. On Vue responsive principle, publish subscribe mode and observer mode
  21. 浅谈vue响应式原理及发布订阅模式和观察者模式
  22. On Vue responsive principle, publish subscribe mode and observer mode
  23. Xiaobai can understand it. It only takes 4 steps to solve the problem of Vue keep alive cache component
  24. Publish, subscribe and observer of design patterns
  25. Summary of common content added in ES6 + (II)
  26. No.8 Vue element admin learning (III) vuex learning and login method analysis
  27. Write a mini webpack project construction tool
  28. Shopping cart (front-end static page preparation)
  29. Introduction to the fluent platform
  30. Webpack5 cache
  31. The difference between drop-down box select option and datalist
  32. CSS review (III)
  33. Node.js学习笔记【七】
  34. Node.js learning notes [VII]
  35. Vue Router根据后台数据加载不同的组件(思考->实现->不止于实现)
  36. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  37. 【JQuery框架,Java编程教程视频下载
  38. [jQuery framework, Java programming tutorial video download
  39. Vue Router根据后台数据加载不同的组件(思考->实现->不止于实现)
  40. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  41. 【Vue,阿里P8大佬亲自教你
  42. 【Vue基础知识总结 5,字节跳动算法工程师面试经验
  43. [Vue, Ali P8 teaches you personally
  44. [Vue basic knowledge summary 5. Interview experience of byte beating Algorithm Engineer
  45. 【问题记录】- 谷歌浏览器 Html生成PDF
  46. [problem record] - PDF generated by Google browser HTML
  47. 【问题记录】- 谷歌浏览器 Html生成PDF
  48. [problem record] - PDF generated by Google browser HTML
  49. 【JavaScript】查漏补缺 —数组中reduce()方法
  50. [JavaScript] leak checking and defect filling - reduce() method in array
  51. 【重识 HTML (3),350道Java面试真题分享
  52. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  53. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  54. [re recognize HTML (3) and share 350 real Java interview questions
  55. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  56. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  57. 【重识 HTML ,nginx面试题阿里
  58. 【重识 HTML (4),ELK原来这么简单
  59. [re recognize HTML, nginx interview questions]
  60. [re recognize HTML (4). Elk is so simple