JSON 数据验证和测试注意项
介绍
在接口调用中,JSON 是主流的数据传输交换格式。 JSON 官方对其的介绍内容是:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
JSON数据测试
JSON 的数据类型包括以下6类:
- 对象(Object):用花括号
{}
表示,表示一组键值对的集合。 - 数组(Array):用方括号
[]
表示,表示一组值的有序集合。 - 字符串(String):用双引号
""
或单引号''
包裹的字符序列。 - 数值(Number):表示数字,可以是整数或浮点数。
- 布尔值(Boolean):表示真或假,只有两个可能的取值:
true
或false
。 - 空值(null):表示空值,只有一个取值:
null
。
所以,在对 JSON 数据测试时,可以依据 等价类分析 和 边界值分析 设计测试数据和用例。
例如,等价类测试数据:
1 |
|
边界值,以 Java 的数据边界值为例:
1 |
|
注意:Java 基本数据类型不存在越界,只会溢出。它们取值范围的最大值+1的结果都是它们取值范围的最小值,反之相同。
总结
在对 JSON 数据类型进行分析设计后,还可以针对业务场景进行测试数据设计。比如需求和技术文档中明确了 foo 字段是 Object 类型,但如果传了 String 类型,会有什么异常或兜底逻辑,反之相同。在测试过程中需不断分析使用场景,以便提高系统的 鲁棒性 和用户的 体验性。
鲁棒是Robust的音译,也就是健壮和强壮的意思。 它也是在异常和危险情况下系统生存的能力。
(本文完)
JSON 数据验证和测试注意项
https://maojun.xyz/blog/2023/08/json数据验证和测试注意项.html