记录造数据测试接口

一、前言

在java开发中经常需要造数据进行测试接口,这里记录一下常用的通过造数据测试接口的方法。

二、一般的接口传参方式

1、接口的方式最好是使用JSON或者map的方式,这样的好处是传参可以灵活伸缩,返回的结果也最好是JSON或者map的方式

    /**
     * 获取授权访问令牌accessToken
     * @param params
     * @return
     */
    @PostMapping("token")
    JSONObject getAccessToken(@RequestBody Map<String, Object> params);

2、组装参数方法

	/**
	 * 组装获取Access Token参数
	 */
	public Map<String, Object> getACTokenParam() {
		Map<String, Object> map = new HashMap<>();
		String timestamp = DateTimeUtils.getDateStr();
	client_secret+timestamp+client_id+username+password+grant_type+scope+client_secret
		String clientSecM = MD5Util.getMd5(clientSecret).toUpperCase();
		String passwordM = MD5Util.getMd5(password).toUpperCase();
		String subString = (clientSecM + timestamp + clientId + userName + passwordM + grantType + scope + clientSecM);
		String sign = MD5Util.getMd5(subString).toUpperCase();
		map.put("grant_type", grantType);
		map.put("client_id", clientId);
		map.put("timestamp", timestamp);
		map.put("username", userName);
		map.put("password", passwordM);
		map.put("scope", scope);
		map.put("sign", sign);
		return map;
	}

3.常见的造数据

随机生成4位数

    Random rand = new Random();
    int randomNum = rand.nextInt(9000) + 1000;

休眠

//休眠3秒
 Thread.sleep(3000);

获取guid

    /**
     * 获取guid
     * 
     * @return
     */
    public static String getGuid() {
        return UUID.randomUUID().toString().replaceAll("\\-", "");
    }
 

。。

	/**
	 * 获取guid
	 * 
	 * @return
	 */
	public static String getGuid() {
		return UUID.randomUUID().toString().replaceAll("\\-", "");
	}

三、示例

	/**
	 * 测试用户
	 * @throws Exception
	 */
	public void testUser() throws Exception {
		// 创建一个ObjectMapper对象
		ObjectMapper mapper = new ObjectMapper();
		// 创建一个Json对象
		ObjectNode json = mapper.createObjectNode();

		URL url = new URL("http://127.0.0.1/tourist-contract/register");
		for (int i = 0; i < 500; i++) {
			Random rand = new Random();
			int randomNum = rand.nextInt(9000) + 1000;
			json.put("Phone", "1308111"+randomNum);
			json.put("openID", "user_20000" + i);
			json.put("UserName", "test_" + i);
			json.put("unifyID", "test_" + i);
			json.put("userID", "test_" + i);
			json.put("reservedField", "reservedField");
			
			ObjectNode json1 = mapper.createObjectNode();
			json1.put("sender", json);
			json1.put("mark", "travel");
			log.info("注册用户上链参数json:"+json1);
			
			//休眠3秒
			Thread.sleep(3000);
			// 接口调用
			ltApi(json1, url, "1308111"+randomNum, "用户注册", "新增");

		}
	}

白盒测试

白盒测试是软件开发过程中的一种测试方法,它主要关注软件内部的结构和逻辑。这种测试方法可以帮助开发人员发现并纠正软件中的错误,提高软件的可靠性和稳定性。以下是一些常见的Java白盒测试方法:

  1. 代码审查:代码审查是一种常用的白盒测试方法。在代码审查过程中,开发人员和其他团队成员一起对代码进行审查,查找潜在的错误或问题。这种方法可以有效地发现代码中存在的缺陷和漏洞。
  2. 单元测试:单元测试是对单个类、方法和函数的测试。通过编写测试用例来验证这些元素是否按照预期工作,从而确保代码的质量和可靠性。使用JUnit和NUnit等工具可以方便地进行单元测试。
  3. 集成测试:集成测试是在将各个模块组合在一起时进行的测试。这包括检查不同模块之间的交互和数据流,以确保它们能够正确地协同工作。可以使用桩(插入到被测代码中的代码)和替身(模拟外部行为的对象)等技术来进行集成测试。
  4. 系统测试:系统测试是在整个系统中进行的测试,包括用户界面、功能、性能等方面。系统测试可以帮助识别系统在不同运行条件下的行为,以及系统的整体稳定性。可以使用自动化工具如loadrunner等进行系统测试。
  5. 异常处理测试:在进行白盒测试时,一个重要的方面是处理异常情况。异常处理应该确保在不同的异常情况下,系统能够正确地做出响应和决策。因此,在进行白盒测试时需要特别注意异常处理部分的测试。
  6. 边界值测试:边界值分析是一种有效的白盒测试方法,它可以检查程序在处理输入时的行为是否符合预期。通过对输入数据进行统计分析,可以找出可能引起问题的最小输入值或最大输入值。
  7. 文档测试:文档测试是一种辅助的白盒测试方法,用于确保文档与代码的一致性。通过检查文档中的描述与代码实现是否一致,可以及时发现不一致的情况,避免出现误解或误操作等问题。

总之,白盒测试是一种非常重要的软件开发过程,有助于确保代码的质量和可靠性。通过合理的白盒测试策略和方法,可以提高软件的可维护性、可扩展性和安全性等方面的质量水平。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋力向前123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值