写给测试人员的远程debug和异常断点设置

本文介绍如何通过远程Debug和异常断点技术,解决测试过程中遇到的问题,特别是在缺乏日志和异常信息的情况下,帮助测试人员快速定位问题原因。

概述


我曾经在优秀互联网高级测试工程师应该具备的能力一文中提过:

测试人员能发现问题,还能定位问题,而且能给研发解释得清楚

定位问题并不是那么简单,尤其是在没有日志和异常的信息的情况下。对于不具备开发能力的部分测试人员来说,就更加难。这个时候,我们可以借助一些小技巧,来帮忙查找问题的原因。一种是远程debug,另外一种是异常断点。


远程debug


远程debug提供这样一种能力:

可以让我们在本地了解远程服务器的代码执行情况。

如果你是使用Intellij IDEA的话,进行远程debug是非常简单的,只需要做几步操作即可。


设置debug端口

可以在JAVA进程启动的脚步中,追加如下配置:

-agentlib:jdwp=transport=dt_socket,server=y,address=9798,suspend=n

address是debug端口。完整命令如下:

nohup java -agentlib:jdwp=transport=dt_socket,server=y,address=9798,suspend=n -jar xxxxxxx.jar

在IDEA中配置Remote

具体如下:
1、
在这里插入图片描述

2、选中Application,然后选中+
在这里插入图片描述

3、点击+号后,选中Remote
在这里插入图片描述

4、填写远程hostport
在这里插入图片描述

名字可以自己根据实际情况填写,比如叫【测试环境购物车】。点解ok按钮。如果操作成功,会在IDEA的主界面上出现如下的菜单。
在这里插入图片描述

这个时候,如果远程的服务器进程是启动的,我们只需要点击如下的小虫按钮即可启动远程debug了。
在这里插入图片描述

正常情况下,点击后IDEA的控制台会输出如下信息:

Connected to the target VM, address: '10.10.10.5:9798', transport: 'socket'

如果是应用是基于http的,那么直接使用postman发送一个http请求,我们就可以在本地的IDEAdebug远程代码了。


设置异常断点


程序的bug都是特定的业务数据触发的,如果测试人员想更加快速的知道,为啥这份数据会导致bug,那么除了结合上面提到的远程debug之外,还需要借助异常断点。

举个例子,在电商中的结算页面或者购物车页面中,都会针对用户购买的商品,提供一份优惠券列表,列出哪些优惠券可用,哪些优惠券不可用。这个时候,测试人员认为某张优惠券应该是可用的,但是界面上却显示不可用,为了快速的知道为啥这张优惠券不可用,就需要异常断点的帮忙了。

IDEA里设置异常断点非常简单。
在这里插入图片描述

像上面的第25行,如果你只是想当优惠券的id是2的时候,才打印信息的话,可以直接用鼠标在行号的右边点击一下。
在这里插入图片描述

就会出现一个断点了。然后鼠标移动到断点上面,用鼠标右键点击一下,就会弹出如下界面:

在这里插入图片描述

然后再Condition那里加上

coupon.getCouponId().equals(2)

的条件即可。运行代码,你会发现,当优惠券id的值为2的时候,断点才会起作用,才会打印信息出来。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值