【软件测试】定位前后端bug总结+Web/APP测试分析
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、Web测试中简单定位Bug
定位bug之前要确定自己对用例的理解是否有问题。(在工作中,很多测试结果错误都是因为自己对用例的理解没有到位,以致于操作错误导致结果不符合预期)
一般来说bug分为前端bug和后端bug,前端bug为请求数据错误,后端bug为响应数据错误。
前端bug
根据运行结果与预期不符的步骤进行定位,然后抓包,一般来说主流浏览器(Chrome,firefox等)自带抓包插件。
其他常用抓包软件:fiddler,burpsuite,wireshake等。
1)抓包
在网页先打开f12开发者工具,NetWork中查看发送的请求是否正确,包括状态码,URL,请求参数等。如果错误,需对其错误进行进一步分析。
常见状态码错误:
400:语义有误,当前请求无法被服务器理解;
403:(禁止)服务器拒绝请求。
404:(未找到)服务器找不到请求的网页。
412:(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。
500:(服务器内部错误)服务器遇到错误,无法完成请求。
502:(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。
ps:抓包时需要关闭浏览器其他插件,排除工具的干扰。
2)兼容性相关bug
浏览器本身不兼容的问题,会导致无法加载页面的情况,报错信息一般也可以通过抓包和通过控制台查看错误行号和附近代码。
浏览器的版本更新,导致产品原本的功能无法使用,这时就需要确定多个浏览器是否都是这个情况。
后端bug
若前端请求数据没问题,那就需要定位是否为后端bug。
接口查看:在网页先打开f12开发者工具,查看响应数据,对比通过后端接口拿到的数据和前端显示的数据,来确认问题出在哪里。
查看报错日志,通过日志分析发生问题的位置。
查看缓存是否正确。
查看数据库确认数据的是否正确。
ps:确定为bug后。对比软件的上一个版本测试一下bug是否能够重现,如果上个版本也会出现bug,说明可能是软件本身的代码问题。若不能重现,可能是这个版本的某些功能改动导致的bug。
自动化测试定位bug:根据报错的代码位置进行定位检查
检查方法用法是否正确
检查传参是否正确
单步调试错误代码(这是个很重要也是很有效的方法,边调试和边查看控制台能够准确定位错误原因)
写自动化测试用例之前先看一下手动测试结果有没有问题!!!
若手动测试用例没有问题,而自动化测试的结果有问题或者不稳定,先检查自动化代码逻辑是否正确。若正确,则可判断出用例不适合做自动化。
ps:如何证明自动化代码逻辑正确?在代码中添加可以覆盖到所有情况的代码,进行测试是否全部通过。若不通过,则为代码逻辑问题。
关于调试代码的时候会出现的问题:如果有些代码的方法使用发生了错误,有可能是产品其他部门的功能更新了,这个时候就需要跟其他部门的人沟通确定一下。
2、Web 端测试和 App 端测试有何不同
Web 端测试和 App 端测试是针对不同平台的上的应用进行测试,Web应用和App端的应用实现方式不同,测试时的侧重点也不一样。
Web 端应用和 App 端应用的区别:
平台兼容性
Web 端应用可以在任何具备浏览器的设备上运行,而 App 端应用需要在特定的操作系统上安装和运行。
安装方式
Web 端应用可以通过访问特定的网址来直接使用,而 App 端应用需要从应用商店或者其他渠道下载和安装。
功能和性能
App 端应用通常能够提供更加丰富的功能和更好的性能,因为它们可以直接与设备的硬件和操作系统进行交互,而 Web 端应用则受限于浏览器的能力。
用户体验
App 端应用通常提供更加优化和个性化的用户界面,可以更好地适应不同设备的屏幕尺寸和操作习惯,而 Web 端应用则需要考虑兼容性和响应式设计。
更新和维护
Web 端应用的更新和维护相对容易,只需在服务器端进行修改即可生效,而 App 端应用需要通过应用商店进行更新和发布。
测试侧重点有何不同
平台和浏览器兼容性测试
Web 端应用需要在不同的浏览器和操作系统上进行测试,以确保在各种环境下的正常运行;
App 端应用需要在不同的设备和操作系统版本上进行测试,以确保兼容性和稳定性。
用户界面和用户体验测试
App 端应用的用户界面需要在不同的设备上进行测试,以确保界面布局、尺寸和交互方式的适配性;
而 Web 端应用需要在不同的浏览器和屏幕尺寸上进行测试,以确保响应式设计和用户体验。
功能和性能测试
App 端应用需要进行更加细致和全面的功能测试,以确保各项功能的正常运行和交互的稳定性。
而 Web 端应用则需要关注网页加载速度、响应时间和性能优化。
安全性和权限控制测试
App 端应用通常需要进行权限控制和数据保护方面的测试,以确保用户数据的安全性;
而 Web 端应用则需要关注跨站脚本攻击、SQL 注入等常见的 Web 安全问题。
两者都需要进行身份验证和授权机制测试,以确保只有授权用户能够访问敏感数据和功能。
还需要进行数据传输的加密测试,确保数据在传输过程中的机密性和完整性。
更新和发布测试
App 端应用在更新和发布时需要进行版本兼容性测试和升级测试,以确保用户的平滑升级和数据迁移;
而 Web 端应用的更新和发布则需要关注缓存管理、CDN 加速等方面的测试。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
只有脚踏实地,敢于追求,勇于拼搏,才能在人生的道路上越走越远,创造出让人瞩目的成就,让人们铭记你的名字。
坚持不懈,永不放弃,每一次的努力都是成长的印记,只有持之以恒,才能超越自我,创造出闪耀人生的辉煌。
只要心怀梦想,坚持不懈,勇往直前,每一次努力都是向成功迈出的关键一步,终将收获属于自己的辉煌与荣耀。
相关文章:

【软件测试】定位前后端bug总结+Web/APP测试分析
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Web测试中简单…...

Github 2024-02-21 开源项目日报 Top10
根据Github Trendings的统计,今日(2024-02-21统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8非开发语言项目1TypeScript项目1 gpt4free 语言模型集合改进计划 创建周期:300 天开…...

机器学习模型的过拟合与欠拟合
机器学习模型的训练过程中,可能会出现3种情况:模型欠拟合、模型正常拟合与模型过拟合。其中模型欠拟合与模型过拟合都是不好的情况。下面将会从不同的角度介绍如何判断模型属于哪种拟合情况。 (1)欠拟合与过拟合表现方式 欠拟合…...

华为OD机试真题-虚拟游戏理财-2023年OD统一考试(C卷)---Python3--开源
题目: 考察内容: for if max 代码: """ 题目分析:投资额*回报率投资回报 要在可接受范围内选择最优的投资方式获得最大回报最多投资2个理财产品输入: 产品数int; 总投资额int; 总风险int 产品投资…...

新手搭建服装小程序全攻略
随着互联网的快速发展,线上购物已经成为了人们日常生活中不可或缺的一部分。服装作为人们日常消费的重要品类,线上化趋势也日益明显。本文将详细介绍如何从零开始搭建一个服装小程序商城,从入门到精通的捷径,帮助你快速掌握小程序…...
设计模式学习笔记 - 面向对象 - 3.面向对象比面向过程有哪些优势?面向过程真的过时了吗?
简述 在过往的工作中,我发现很多人搞不清面向对象和面向过程的区别,总认为使用面向对象编程语言来开发,就是在面向面向对象编程了。而实际上,他们只是在用面向对象编程语言,编写面向过程风格的代码而已,并…...

联想开天昭阳N4620Z笔记本如何恢复出厂麒麟操作系统(图解)
联想开天昭阳N4620Z笔记本简单参数: 中央处理器:KX-6640MA G2 内存:8GB 固态硬盘:512GB SSD 显示器:14.0”FHD 电池:4Cell 操作系统:麒麟KOS中文RTM(试用版) 此款笔…...
Qt经典面试之理论总结(自己整理总结)
目录 1、QT信号和槽的原理和理解 2、connect函数的参数,第五个参数是什么 1、QT信号和槽的原理和理解 信号和槽机制底层是通过函数间的相互调用实现的。 信号函数和槽函数通常位于某个类中,和普通的成员函数相比,它们的特别之处在于&#…...

【YOLO系列算法人员摔倒检测】
YOLO系列算法人员摔倒检测 模型和数据集下载YOLO系列算法的人员摔倒检测数据集可视化数据集图像示例: 模型和数据集下载 yolo行人跌倒检测一: 1、训练好的行人跌倒检测权重以及PR曲线,loss曲线等等,map达90%多,在行人跌…...
获取淘宝商品详情API、商品主图、图片搜索api
获取淘宝详情API的方式有以下几种: 使用淘宝开放平台提供的接口:淘宝开放平台提供了多个API接口,让开发者可以通过接口获取商品详情信息。你可以到淘宝开放平台官网申请开发者账号,并查看相关接口文档,了解如何使用接…...

HarmonyOS创建一个ArkTS卡片
创建一个ArkTS卡片 在已有的应用工程中,创建ArkTS卡片,具体操作方式如下。 创建卡片。 根据实际业务场景,选择一个卡片模板。 在选择卡片的开发语言类型(Language)时,选择ArkTS选项,然后单…...

ChatGPT Plus遇到订阅被拒原因与解决方案
ChatGPT Plus被广泛认为相比普通版本更快、更强,并且能最先体验新功能。 很多小伙伴再订阅时遇到图片中的问题 错误提示包括这些: Your credit card was declined.Try paying with a debit card instead.您的信用卡被拒绝了。请尝试用借记卡支付。你的…...

UE蓝图 函数调用(CallFunction)节点和源码
系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 UE蓝图 返回结果(FunctionResult)节点和源码 UE蓝图 函数调用(CallFunction)节点和源码 文章目录 系列文章目录一、Call…...

Vue单文件学习项目综合案例Demo,黑马vue教程
文章目录 前言一、小黑记事本二、购物车三、小黑记账清单 前言 bilibili视频地址 一、小黑记事本 效果图 主代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible&…...

机器视觉【3】非线性求解相机几何参数
线性求解相机几何参数的缺点 上一章节介绍学习了(DLT)线性求解相机几何参数,了解到线性求解法当中比较明显的缺点: 没有考虑到镜头畸变的影响不能引入更多的约束条件融入到DLT算法当中优化最关键的是,代数距离并不是…...

Qt编译报错:The slot requires more arguments than the signal provides.
编译时代码没有提示错误的地方,报错的地方在qt的文件,还以为什么莫名其妙的错误呢,原来就是连接的信号和槽函数参数不匹配,有个信号是没有参数的,但我的槽函数有个参数,然后就报错了。 改下槽函数的参数就…...

【Unity】提示No valid Unity Editor liscense found.Please active your liscense.
有两个软件,如果只有一个,点黑的不会有效果、、、、(楼主是这个原因,可以对号入座一下) 简而言之,就是去下载Unity Hub,再里面激活管理通行证 问题情境: 点击unity出现以下弹窗&a…...

如何在 Tomcat 中为 Web 应用程序启用和配置缓存?
在Tomcat中为Web应用程序启用和配置缓存通常涉及到对Tomcat的连接器(Connector)进行配置,以及可能的话,配置Web应用程序本身以支持缓存。 1. 配置Tomcat连接器以启用缓存 Tomcat的连接器可以通过其配置来启用各种…...

QEMU开发入门
1. 简介 QEMU(Quick EMUlator)是一个开源的虚拟化软件,它能够模拟多种硬件平台,并在这些平台上运行各种操作系统。QEMU可以在不同的主机架构之间进行虚拟化,例如x86、ARM、PowerPC、Risc-V等。QEMU是一个功能强大且灵…...

10-pytorch-完整模型训练
b站小土堆pytorch教程学习笔记 一、从零开始构建自己的神经网络 1.模型构建 #准备数据集 import torch import torchvision from torch.utils.tensorboard import SummaryWriterfrom model import * from torch.utils.data import DataLoadertrain_datatorchvision.datasets.…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...