【软件测试】全网火爆,实战Web项目前后台的bug定位(超详细)

news2024/10/7 9:19:26

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

系统整体架构

Server端:jsp+Servlet+json…
数据库:MySQL、oracle、SqlServer…
前台: jstl,jsp,js,css,html…
后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis…
Jsp:分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同。

用户发出请求后,服务器解析用户请求,转至对应的jsp,这个时候可以说是整个jsp都是后台程序。

而Jsp做出响应后,把响应的内容返回给浏览器,这个时候浏览器就只看见html,css,javascript,这个时候所有的程序又都是前台程序。

Python自动化测试:https://www.bilibili.com/video/BV16G411x76E/

前后台bug定位

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

前台bug定位:按F12在控制台中查看报错信息,对于出错的js可以在Sources下查看对应报错的资源文件,写入缺陷管理工具提交给开发即可(或者使用一些抓包工具,

抓取请求相应过程中的资源文件)

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

1)网站前台权限控制:没有权限的用户不能直接输入url的方式来进行访问,必须进行登录。以后涉及到权限的测试,一定不能漏掉url的方式也需要验证一下。

而在单个页面进行W3C测试时则需要去掉该权限控制。

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

3)http和https的注意点:

https是一种安全链接,需要证书,所以在系统中客户会要求某些关键的地方希望加上这种安全连接,那么此时你需要注意的是:对于不需要的安全链接的地方千万也要去

重点测试,有些开发会很容易忽略这一点。

要打开HTTPS开头的网站,前提是该网站安装了SSL证书,只有安装了SSL证书的网站,并且开启了443端口,你才可以通过HTTPS加密协议无访问;如果没有则不能访问。

比如在某个网站http协议后面加个s去访问,看能否访问成功,能成功,会显示绿色安全小锁,否则就不能访问。

2、后台bug定位:根据后台日志文件

系统使用secureCRT进行日志获取,或者服务器控制方面的操作(关闭和重启)

重启的一般情况:
热部署 (新增部分功能,或者修改部分bug);
发布新版本 (整个系统);
内存溢出,此时重启服务器即可;

由于项目中有线程程序,./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、如何查看日志?

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

cd usr/local/测试服务器名称/logs     //查看先进入到服务器的logs目录下
tail -f catalina.out                //监视catalina.out 文件的尾部内容(默认10行)

4、日志中常见问题

获取日志文件中常遇到的问题:
1)编码问题:tomcat是新的,需要改编码 修改tomcat的server.xml文件
特别是windows下的项目重新部署到linux系统下,

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

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

4)非法数据

5)内存溢出:重启

5、一般的问题原因

程序:为空判断,增删改查,不同公众号调用的接口也不一样
数据初始化:数据库表结构和数据初始化,权限配置,

特别注意生产环境上的用户数据修改,此时用户在使用,很重要!!!

故障无法重现时:

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

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

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

6、辅助工具:linux和SQL

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

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每个人的时间都是有限的,珍惜时间才能将梦想变成现实。面对困难,不要气馁,坚持奋斗才能看到希望。脚踏实地,不断努力,成功属于你!

人生就像一场马拉松比赛,不是速度快的人就能得到胜利,而是最后坚持到终点的人。用汗水浇灌梦想,用行动铸就未来,你我共同为新的奋斗目标努力!

生活中总会有挫折和失败,但不要气馁,因为每一次的努力都是积累。坚持奋斗,相信自己,成功就在不远处。让我们一起勇敢迎接未来,创造美好!

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

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

相关文章

【Java入门合集】第二章Java语言基础(三)

【Java入门合集】第二章Java语言基础(三) 博主:命运之光 专栏:JAVA入门 学习目标 掌握变量、常量、表达式的概念,数据类型及变量的定义方法; 掌握常用运算符的使用; 掌握程序的顺序结构、选择结…

【微信小程序开发】微信小程序集成腾讯位置项目配置

第一步 进入官网 按照Hello World流程走 腾讯位置服务官网 1、申请密钥 当然没账号的要先注册一个账号 在我的应用里创建一个新的应用,印象中需要小程序ID,去微信开发者工具里面找到自己的小程序ID填入即可 添加key中勾选勾选WebServiceAPI 2、下载S…

锐龙7000PBO温度墙设置

AMD的锐龙7000处理器首发评测大家也都看过了,很多人关心的都是它的性能是否可以超越12代酷睿甚至即将发布的13代酷睿,这方面的测试结果差不多了,但是很多人不知道的是散热问题更需要关注。 在评测中,锐龙9 7950X在拷机时温度达到…

【PCIE体系结构七】数据链路层介绍

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考书籍:PCI_Express体系结构导读 目录 前言 数据链路层概述 数据链路层…

命名ACL配置

命名ACL配置 【实验目的】 掌握命名ACL的配置。验证配置。 【实验拓扑】 实验拓扑如图1所示。 图1 实验拓扑 设备参数如表所示。 表1 设备参数表 设备 接口 IP地址 子网掩码 默认网关 R1 S0/3/0 192.168.1.1 255.255.255.252 N/A Fa0/0 192.168.2.1 255.255.…

05_Uboot源码目录分析

目录 Uboot 源码目录分析 arch 文件夹 board 文件夹 configs 文件夹 .u-boot.xxx_cmd 文件 Makefile 文件 u-boot.xxx文件 .config文件 README Uboot 源码目录分析 学会uboot使用以后就可以尝试移uboot到自己的开发板上了,但是在移植之前需要我们得先分析一遍uboot的…

什么是Spring FactoryBean?有什么作用?

1、什么是Spring Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC和AOP为内核。含有七大核心模块 2、Spring的七大模块 (1)Spring Core:核心容器提供了Spring的基本功能。核心容器的核心功能是用IOC 容器来管理类的依赖关系&#xff…

卷积神经网络详解

(一)网络结构 一个卷积神经网络里包括5部分——输入层、若干个卷积操作和池化层结合的部分、全局平均池化层、输出层: ● 输入层:将每个像素代表一个特征节点输入进来。 ● 卷积操作部分:由多个滤波器组合的卷积层。 …

788. 逆序对的数量(C++和Python3)——2023.5.2打卡

文章目录 QuestionIdeasCode Question 给定一个长度为 n 的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j 个元素&#xff0c;如果满足 i<j 且 a[i]>a[j] &#xff0c;则其为一个逆序对&#xff1b;否则不…

14-6-进程间通信-信号量

前面学习了pipe,fifo,共享内存&#xff0c;信号。 本章将讲述信号量。 一、什么是信号量/信号量集&#xff1f; 1.什么是信号量 信号量是一个计数器。信号量用于实现进程间的同步和互斥。而可以取多个正整数的信号量被称为通用信号量。 对信号量的使用场景的解读 房间&#…

MyBatis学习记录

文章目录 MyBatis介绍JDBC缺点MyBatis简化MyBatis快速入门之查询user表中的所有数据1、创建user表&#xff0c;添加数据2、创建模块&#xff0c;导入坐标3、编写MyBatis核心配置文件 --> 替换连接信息&#xff0c;解决硬编码问题4、编写SQL映射文件 --> 同一管理sql语句&…

计算机网络:DNS域名解析过程

基本概念 DNS是域名系统&#xff08;Domain Name System&#xff09;的缩写&#xff0c;也是TCP/IP网络中的一个协议。在Internet上域名与IP地址之间是一一对应的&#xff0c;域名虽然便于人们记忆&#xff0c;但计算机之间只能互相认识IP地址&#xff0c;域名和IP地址之间的转…

实例解读nn.AdaptiveAvgPool2d((1, 1))

nn.AdaptiveAvgPool2d((1, 1))在PyTorch中创建一个AdaptiveAvgPool2d类的实例。该类在输入张量上执行2D自适应平均池化。 自适应平均池化是一种池化操作&#xff0c;它计算每个输入子区域的平均值并产生一个指定大小的输出张量。子区域的大小是根据输入张量的大小和输出张量的…

5年测试点工?老鸟总结功能到接口自动化测试进阶,自动化核心竞争力...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 我们来说说 功能测…

权限提升:信息收集 .(Linux系统)

权限提升&#xff1a;信息收集. 权限提升简称提权&#xff0c;由于操作系统都是多用户操作系统&#xff0c;用户之间都有权限控制&#xff0c;比如通过 Web 漏洞拿到的是 Web 进程的权限&#xff0c;往往 Web 服务都是以一个权限很低的账号启动的&#xff0c;因此通过 Webshel…

unity 性能优化之GPU和资源优化

Shader相关优化 众所周知&#xff0c;我们在unity里编写Shader使用的HLSL/CG都是高级语言&#xff0c;这是为了可以书写一套Shader兼容多个平台&#xff0c;在unity打包的时候&#xff0c;它会编译成对应平台可以运行的指令&#xff0c;而变体则是&#xff0c;根据宏生成的&am…

【英语】大学英语CET考试,翻译部分(修饰后置,定语从句,插入语,多动句,无主句)

文章目录 3大知识点与出题形式1、修饰后置&#xff08;使用介词&#xff09;2、修饰后置&#xff08;定语从句&#xff08;被逼无奈&#xff09;/which&#xff08;非限制性&#xff0c;加高级&#xff09;&#xff09;3、修饰后置&#xff08;插入语或同位语&#xff08;只有1…

【力扣-20】有效的括号

&#x1f58a;作者 : D. Star. &#x1f4d8;专栏 : 数据结构 &#x1f606;今日分享 : 夏虫不可以语冰 : 出自「庄子秋水」。原句是“井蛙不可以语于海者&#xff0c;拘于虚也&#xff1b;夏虫不可以语于冰者&#xff0c;笃于时也&#xff1b;曲士不可以语于道者&#xff0c;束…

自动驾驶——离散LQR的黎卡提方程Riccati公式推导与LQR工程化

1.LQR Question Background 之前写过连续系统的黎卡提方程Riccati推导&#xff0c;但是考虑到实际工程落地使用的是离散系统&#xff0c;于是又进行了离散黎卡提方程Riccati的公式推导。 2.Proof of Riccati Equation Formula for Discrete Systems 工程化落地&#xff0c;就…

NECCS|全国大学生英语竞赛C类|听力|长对话|15:40~16:33

目录 一、长对话 1.场景词汇&#xff08;接上篇&#xff09; &#xff08;5&#xff09;医院用语 &#xff08;6&#xff09;酒店用语 &#xff08;7&#xff09;机场用语 &#xff08;8&#xff09;办公室用语 二、题目类型 1. 细节题 2. 推理判断题 3. 主旨大意题 …