初级测试到中级测试就差这几个找bug小技巧

news2024/11/14 20:22:02

前言

测试的过程就是一个寻找影响产品功能和用户体验bug的过程,测试人员发现的bug类型五花八门。

当你在上班期间,听到不远处传来这样的声音“你会不会提BUG,责任人都指派错了,还能好好提吗?”

如果哪天开发对着你说出这句话,那么作为测试员的你,心里会怎么想?

作为一名测试员如果连常见的系统问题都不知道如何分析,频繁将前端人员的问题指派给后端人员,后端人员的问题指派给前端人员,那你在开发眼中的地位显而易见,口碑、升职、加薪应该是你遥不可及的梦。

作为测试员来说,尽管你不能深入的去分析问题,但是你能发现系统存在的问题,这点也是值得肯定的,所以继续加油!

一、必备知识

1、熟透系统业务、团队成员情况。

2、熟悉使用浏览器F12(即 开发者工具)或抓包工具(如fiddler)。

3、了解HTTP/HTTPS协议,能够区分请求URL、请求头、请求体、入参、响应数据、响应码。

4、能操作常见Linux命令,能登入服务器查看Log日志,例如Tomcat等;不排除一些公司有对应的查看日志平台,例如K8S、Xlog,总之会查看对应服务打印的日志就行。

5、了解系统的架构,数据走向。

6、思维敏捷,懂得检索百度。

二、定位技巧

首先当系统出现bug时,一定要将bug现象进行截图(或录制)保留,保留现象是为了证明这个bug出现过,如果bug是必现的还好说,如果该bug无法必现,那么保存的截图就是你的直接证据,所以要养成保存现场的良好习惯。

提BUG,要体现出测试的专业性:标题简洁、问题环境清楚、问题详细描述清楚、系统错误表象贴图、接口传参返参贴图、必要时贴服务器日志,不该少的bug要素一个都不要少。

小型产品,前后端一人统筹

一些小型程序,例如前后端都用node、php语言开发的,整个系统前后端是同一个人开发的时候,那么可以自信的给你说:当系统出现问题时,bug大胆的提,往猝死的提,责任人错不了!

常规系统,多人开发协同

前置:测试之前,测试员要对系统、业务、环境部署、开发人员等较为熟悉。

在测试之前打开对应浏览器的F12(开发者工具)直接开个新页签,或者使用抓包工具等,系统呈现出问题时,查看对应的请求、日志信息等,我们才能准确的定位是前端还是后端的问题。
 

三、常用小技巧方法
 

1、分析问题场景进行预判

先查看页面表象,根据问题表象判断问题可能出现的原因,然后缩小范围,并准备好录制工具,录制问题。

系统页面无法正常访问的提示“5开头(如 500错误)”的找后端,“4开头(如 404错误)”的先检查请求地址或者对应的权限,进入系统页面正常打开,提示异常代码错误的直接找后端。

进入系统页面展示异常图片(视频)提示,如“Flash未安装”等信息,如果安装Flash后还不行则找前端,UI展示兼容性错误找前端。

如若系统访问正常,进入操作页面,出现功能性报错信息,就进入下面环节——抓包查看对应请求体、后台日志等。
 

2、关注请求体的状态码

4**开头的状态码一般都是客户端(前端)的问题;例如常见的404错误,确认下是否是请求地址有错,403确认是否有权限访问。

5**开头的状态码一般都是服务端(后端)问题,例如常见的500错误,则表示是服务器内部错误,503网络过载导致服务端延时,502服务器崩溃等。

3、关注请求的入参与响应数据

通过访问报错的页面,加载错误请求时我们通过F12分析请求包,查看对应的入参以及响应数据。

例如:请求入参错误,那么该bug属于前端的错误;入参标准可以根据前端页面的输入内容或者选择的内容进行核验,入参格式以及是否必填等可以根据接口文档进行分析或与开发确认。

例如:请求未响应或者响应数据错误,那该bug就属于后端的错误,一般是数据库查看报错,例如删了某个表查询报空指针错误。

如果请求的入参或者响应数据都没问题,看看是不是浏览器解析的问题,可以换个浏览器测试。

4、查看日志

针对服务端的报错,我们可以登录日志平台或者服务器对应Log目录下查看打印出的日志。

常用查看日志命令tail , 通过tail -n [最近行数] |grep [关键字] 进行快速检索关键词、接口名等相关内容。

拿到对应的日志,将日志文件贴进bug单,指派给后端,提高专业性,测试人员也要养成看日志的习惯,看着看着就懂了。

5、经验法则

在系统前端页面碰见服务器配置相关报错的信息,例如Nginx***、代码以及SQL相关的提示报错后,直接找后端处理。

前端字符校验、格式校验等,浏览器界面UI兼容性以及插件问题直接找前端。

记住以上的几个技能和技巧将减少提bug出错的概率,长此以往,体现出你的专业性,相信开发会对你竖起大拇指。

做一个既能发现问题还能协助开发解决问题的测试员,那也是你从初级跨入中级测试的一个标准。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/59501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Babel自动生成Attribute文档实现详解

这篇文章主要为大家介绍了Babel自动生成Attribute文档实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助! 1. 前言 利用Babel自动解析源码属性上的注释生成对应Markdown文档,这个场景的应用主要包括在组件库文档对组件…

SpringBoot单元测试

文章目录1、什么是单元测试2、单元测试有哪些好处?3、SpringBoot 单元测试使用3.1 生成单元测试的类3.2 配置单元测试的类并添加SpringBootTest注解3.3 添加单元测试的业务代码3.4 进行测试并查看结果3.5 使用断言3.6 在不修改数据库的前提下,执行单元测…

室内温度控制仿真模型(Simulink+PLC)

本篇博客将会和大家一起一步步解读Simulink自带的仿真模型(Thermal Model of a House),之后再讨论PLC控制系统控制环境温度的一些经验方法。温度控制的大部分控制方法都是采用PID控制,有关PLC的PID控制相关内容可以参看专栏的其它文章,链接如下: 博途PLC 1200/1500PID P…

【LeetCode每日一题:1774. 最接近目标价格的甜点成本~~~递归+深度优先遍历】

题目描述 你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则: 必须选择 一种 冰激凌基料。 可以添加 一种或多种 配料,也可以不添加任何配料。 每种类型的配料 最多两份 。 给你…

java计算机毕业设计ssm人事考勤管理系统1u133(附源码、数据库)

java计算机毕业设计ssm人事考勤管理系统1u133(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

Spread 16.X FOR WPF 中文版 我就喜欢 Spread.NET

Spread 16.X FOR WPF 中文版您可以将 Microsoft Excel 的强大功能嵌入到 WPF 和 Silverlight 应用中,使用丰富的内嵌数据可视化功能展现核心数据和分析结果,按需自定制富有创意的表格模版以及发挥更多便捷高效的功能。Spread WPF-Silverlight 源自备受好…

RIoTBoard开发板系列笔记(十三)—— yocto SDK安装与使用

yocto是一个很强大的嵌入式image 构建工具,借助yocto可以轻松的构建出一个开发板镜像。如果我们想借助yocto开发一些应用层的程序,有以下两种方法可供选择: (1)按照yocto的构建规则添加自己的程序和编译脚步&#xff0…

通话蓝牙耳机什么牌子好?通话工作蓝牙耳机推荐

在一般人的印象中,蓝牙耳机主要是用于听听歌、打打游戏还有煲剧,,而对经常经常外出的商务差旅人士和音乐发烧友来说,蓝牙耳机的通话和续航也是重点关注的,因此,笔者专门整理了一些通话效果好的蓝牙耳机&…

微服务框架 SpringCloud微服务架构 9 初识 Docker 9.3 Docker 架构

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构9 初识 Docker9.3 Docker 架构9.3.1 镜像和容器9.3.2 Docker 和DockerHub9…

【C/C++】C语言runtime调用技术

概述 C语言编译后,在可执行文件中会有 函数名信息。如果想要动态调用一个C函数,首先需要 根据函数名找到这个函数地址 ,然后根据函数地址进行调用。 动态链接器已经提供一个 API:dlsym(),可以通过函数名字拿到函数地…

k8s中service资源与pod详解

文章目录一、Service1、创建集群内部可访问的Service2、创建集群外部也可访问的Service3、配置方式编写二、pod详解1、pod配置文件的资源列表2、pod配置3、启动命令4、port端口配置三、资源配额一、Service 通过上节课的学习,已经能够利用Deployment来创建一组Pod来…

vue.js生命周期函数

Vue生命周期 beforecreate : 举个例子:可以在这加个loading事件created :在这结束loading,还做一些初始化,实现函数自执行mounted : 在这发起后端请求,拿回数据,配合路由钩子做一些事情beforeD…

QT系列第1节 QT中窗口使用简介

QT中窗口按照使用场景分类,可以分成两大类,一类是独立显示的窗口,主要是 QWidget ,QDialog ,QMainWindow,一类是嵌套在别的窗口的子窗口,包含各种控件以及子窗口,窗口类图如下&#…

CV攻城狮入门VIT(vision transformer)之旅——VIT代码实战篇

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…

超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网络

点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【目标检测】技术交流群后台回复【PPYOLO】获取论文、代码等更多资料!超越所有Anchor-free方法!PP-YOLOE-R:一种高效的目标检测网…

基于粒子群优化算法的微型燃气轮机冷热电联供系统优化调度(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅主要研究方向是电力系统和智能算法、机器学…

APISIX安装与灰度、蓝绿发布

文章目录1、安装1.1、基于docker安装1.2、基于RPM安装2、灰度发布与蓝绿发布测试2.1、compose安装nginx2.1.1、创建目录2.1.2、编辑nginx.conf配置文件2.1.3、编辑docker-compose.yml文件2.1.4、启动nginx2.2、部署apisix和apisix-dashboard2.3、traffic-split插件实现灰度和蓝…

【能效管理】安科瑞远程预付费系统在江西某沃尔玛收费管理的应用

摘要:文章根据用电远程管控原理,设计了用电预付费远程管理终端及管理系统,该系统以智能远程预付费电表、智能网关以及预付费管理软件实现了商业综合体的用电管理,实现了欠费自动分闸,充值后自动合闸,并辅助…

我用diffusion把姐妹cos成了灭霸的模样

卷友们好,我是rumor。关注早的朋友们应该知道,我有个姐妹,她去年回深圳老家了,本来我觉得还ok,还能再约着一起旅游。谁知道一年多了,我还没出过北京(微笑。以前有个快乐源泉,就是照她…

谈谈Vue项目打包的方式

目录 一、相关配置 情况一(使用的工具是 vue-cil) 情况二(使用的工具是 webpack) 二、打包 📚 参考资料 这篇文章主要为大家介绍了Vue项目的打包方式,具有一定的参考价值,感兴趣的小伙伴…