ICA AT指令集测试规范 - Shaofa/AITC-Manual GitHub Wiki
- 1. 适用范围
-
2. MQTT AT指令测试规范
- 2.1 IMQTTMODE 指令测试
- 2.2 IMQTTAUTH 指令测试
- 2.3 IMQTTPARA 指令测试
- 2.4 IMQTTCONN 指令测试
- 2.5 IMQTTPUB 指令测试
- 2.6 IMQTTSUB 指令测试
- 2.7 IMQTTUNSUB 指令测试
- 2.8 IMQTTRCVPUB 指令测试
- 2.9 IMQTTSTATE/IMQTTDISCONN 指令测试
- 2.10 支持TLS/非TLS通信(可选)
- 2.11 支持QoS0/QoS1
- 2.12 支持心跳
- 2.13 支持session配置
- 2.14 取消订阅
- 2.15 断开连接
- 2.16 大数据包支持
- 2.17 反复建立连接
- 2.18 反复认证、连接
- 3. CoAP AT指令测试规范
本测试规范遵循《ICA AT指令集规范 v0.4》,以下测试用例只适用于遵循并实现了ICA AT指令集的模组。
用例编号:WL-AT-MQTT-101
用例名称:IMQTTMODE指令测试
测试目的:验证模组IMQTTMODE指令
测试步骤:
1.模组处于开放环境,模组上电
2.串口输入如下指令:
AT+IMQTTMODE=0
AT+IMQTTMODE?
3.串口输入如下指令:
AT+IMQTTMODE=2
AT+IMQTTMODE?
4.串口输入如下指令:
AT+IMQTTMODE=3
AT+IMQTTMODE?
5.串口输入如下指令:
AT+IMQTTMODE=1
AT+IMQTTMODE?
6.串口输入如下指令:
AT+IMQTTMODE=a
AT+IMQTTMODE?
预期结果:
1.步骤2,设置成功,读取到为mode0
2.步骤3,设置失败,读取到为mode0
3.步骤4,设置失败,读取到为mode0
4.步骤5,设置成功,读取到为mode1
5.步骤6,设置失败,读取到为mode1
备注:
用例编号:WL-AT-MQTT-102
用例名称:IMQTTAUTH 指令测试
测试目的:验证模组IMQTTAUTH指令
测试步骤:
1.模组处于开放环境,模组上电
2.串口输入如下指令
AT+IMQTTAUTH=”productkey”,”devicename”,”devicesecret”
AT+IMQTTAUTH?
3.串口输入如下指令:
AT+IMQTTAUTH=”abc”,”def”,”xyz”
AT+IMQTTAUTH?
4.串口输入如下指令:
AT+IMQTTAUTH= “productkey”,“devicename”
AT+IMQTTAUTH?
5.串口输入如下指令:
AT+IMQTTAUTH=“productkey”
AT+IMQTTAUTH?
6.串口输入如下指令:
AT+IMQTTAUTH=“productkey”,“devicename”,“devicesecret”,“abc”
AT+IMQTTAUTH?
预期结果:
1.步骤2,执行成功,认证成功;读取到的key为productkey
2.步骤3,执行成功,认证失败;读取到的key为abc
3.步骤4,设置失败,读取到的key为abc
4.步骤5,设置失败,读取到的key为abc
5.步骤6,设置失败,读取到的key为abc
备注:
用例编号:WL-AT-MQTT-103
用例名称:IMQTTPARA 指令测试
测试目的:验证模组IMQTTPARA指令
测试步骤:
1.模组处于开放环境,模组上电
2.分别通过串口输入x等于0,0.5, 1,5, 10,a,空
AT+IMQTTPARA=“TIMEOUT”,x
2.分别通过串口输入x等于0,1,10,a,空
AT+IMQTTPARA=“CLEAN”,x
3.分别通过串口输入x等于0,1,60,100,180,200,a,空
AT+IMQTTPARA= “KEEPALIVE”,x
4.分别通过串口输入x等于3.1,3.1.1,1.0,空
AT+IMQTTVERSION=“VERSION”,x
预期结果:
1.步骤2,0.1、1、5执行返回成功,0、10、a、空 执行失败
2.步骤3,0、1执行返回成功,10、a、空 执行失败
3.步骤4,60、100、180执行返回成功,0、1、200、a、空执行失败
4.步骤5,3.1、3.1.1执行成功,1.0、空 执行失败
备注:
用例编号:WL-AT-MQTT-104
用例名称:IMQTTCONN 指令测试
测试目的:验证模组IMQTTCONN指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数
3.通过串口输入:AT+IMQTTCONN
4.模组清空参数,不做IMQTTAUTH,直接:AT+IMQTTCONN
5.模组清空参数,做了AT+IMQTTAUTH,但是不设置IMQTTPARA,进行AT+IMQTTCONN
预期结果:
1.步骤3,返回成功
2.步骤4,返回执行失败
3.步骤5,返回执行失败
备注:
用例编号:WL-AT-MQTT-105
用例名称:IMQTTPUB 指令测试
测试目的:验证模组IMQTTPUB指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数,执行了AT+IMQTTCONN连接成功
3.通过串口输入如下指令:
AT+IMQTTPUB=”/productkey/devicename/update”,0,”hello world”
4.串口输入如下指令:
AT+IMQTTPUB=”abc”,1,”hello world”
5.串口输入如下指令:
AT+IMQTTPUB=”abc”,4,”hello world”
6.串口分别输入参数个数1,2,4个:
如1个参数,则串口输入: AT+IMQTTPUB=“abc”
预期结果:
1.步骤3,返回成功
2.步骤4,返回执行成功
3.步骤5,返回执行失败
4.步骤6,参数非3个的,都返回执行失败
备注:
用例编号:WL-AT-MQTT-106
用例名称:IMQTTSUB 指令测试
测试目的:验证模组IMQTTSUB指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数,执行了AT+IMQTTCONN连接成功
3.串口输入如下指令:
AT+IMQTTSUB=”/productkey/devicename/get”,0
4.串口输入如下指令:
AT+IMQTTSUB=”abc”,1
5.串口输入如下指令:
AT+IMQTTPSUB=”abc”
预期结果:
1.步骤3,返回成功
2.步骤4,返回执行失败
3.步骤5,返回执行失败
备注:
用例编号:WL-AT-MQTT-107
用例名称:IMQTTUNSUB 指令测试
测试目的:验证模组IMQTTUNSUB指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数,执行了AT+IMQTTCONN连接成功
3.串口输入如下指令:
AT+IMQTTSUB=”/productkey/devicename/get”,0
4.串口输入如下指令:
AT+IMQTTUNSUB=”/productkey/devicename/get”
5.串口输入如下指令:
AT+IMQTTPUNSUB=”abc”
预期结果:
1.步骤3,返回成功
2.步骤4,返回成功
3.步骤5,返回执行失败
备注:
用例编号:WL-AT-MQTT-108
用例名称:IMQTTRCVPUB指令测试
测试目的:验证模组IMQTTRCVPUB指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数,执行了AT+IMQTTCONN连接成功
3.串口输入如下指令:
AT+IMQTTSUB=”/productkey/devicename/get”,0
4.从云端控制台,向/productkey/devicename/get publish消息
预期结果:
1.步骤3,返回成功
2.步骤4,云端下发消息后,设备串口打印收到此消息内容
备注:
用例编号:WL-AT-MQTT-109
用例名称:IMQTTSTATE/IMQTTDISCONN指令测试
测试目的:验证模组IMQTTSTATE/IMQTTDISCONN指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入IMQTTAUTH相应参数,并配置了IMQTTPARA参数,执行了AT+IMQTTCONN连接成功
3.串口输入如下指令:
AT+IMQTTSTATE?
4.串口输入如下指令
AT+IMQTTDISCONN
5.串口输入如下指令:
AT+IMQTTSTATE?
预期结果:
1.步骤3,返回状态1
2.步骤4,返回成功
3.步骤5,返回状态0
备注:
用例编号:WL-AT-MQTT-110
用例名称:支持TLS/非TLS通信(可选)
测试目的:验证模组可以通过TLS认证连接至阿里云
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,建立连接,pub消息
4.设备订阅 /productkey/devicename/get
5.服务端web控制台向/productkey/devicename/get发布消息
6.串口发送AT+IMQTTMODE=0(如不支持TLS,则此处为默认值)
7.重复步骤3~5
预期结果:
1.步骤2、3,每一步都设置成功,且模组pub消息,服务端收到此消息
2.步骤5,服务端发布消息后,设备端收到
3.步骤7,mode为0后,设备发布订阅可正常通信
备注:
用例编号:WL-AT-MQTT-111
用例名称:支持QoS0/QoS1
测试目的:验证模组可以支持发布QoS0和QoS1消息
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,建立连接,pub QoS为1的消息
4.再pub QoS为0的消息
预期结果:
1.步骤3,设备端可以发布qos=1的消息
2.步骤4,设备端可以发布qos=0的消息
备注:
用例编号:WL-AT-MQTT-112
用例名称:支持心跳
测试目的:验证模组心跳机制生效
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,其中,keepalive字段,设置为90
4.建立连接
5.keepalive字段再设置为180,建立连接
预期结果:
1.步骤4,模组每隔90s发送ping request
2.步骤5,模组每隔180s发送ping request
备注:
用例编号:WL-AT-MQTT-113
用例名称:支持session配置
测试目的:验证模组session配置生效
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,其中,clean session字段,设置为0,
4.建立连接,设备订阅/productkey/devicename/get
5.断开连接(使用AT+IMQTTDISCONN断开连接),服务端web控制台向/productkey/devicename/get发布消息
6.建立连接,设备端可以收到服务端下发的缓存信息
7.clean session字段再设置为1,重复步骤4、5、6
预期结果:
1.步骤4、6,可成功建立连接
2.步骤6,clean=0时,设备端可以收到云端的缓存信息
3.步骤7,clean=1时,设备端不可以收到云端的缓存信息
备注:
用例编号:WL-AT-MQTT-114
用例名称:取消订阅
测试目的:验证模组取消订阅生效
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,建立连接
4.模组sub /productkey/devicename/get
5.服务端通过控制台向/productkey/devicename/get 发布消息
6.模组AT+IMQTTUNSUB=”/productkey/devicename/get”
7.服务端通过控制台向/productkey/devicename/get 发布消息
预期结果:
1.步骤5,模组收到服务端下发的消息
2.步骤7,模组无法收到服务端下发的消息
备注:
用例编号:WL-AT-MQTT-115
用例名称:断开连接
测试目的:验证模组断开连接生效
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,建立连接
4.模组sub /productkey/devicename/get
5.服务端通过控制台向/productkey/devicename/get 发布消息
6.模组AT+IMQTTDISCONN
7.服务端通过控制台向/productkey/devicename/get 发布消息
8.模组pub消息
预期结果:
1.步骤5,模组收到服务端下发的消息
2.步骤7,模组无法收到服务端下发的消息
3.步骤8,模组无法pub出去消息
备注:
用例编号:WL-AT-MQTT-116
用例名称:大数据包支持
测试目的:验证模组支持大数据包通信
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,建立连接
4.模组sub /productkey/devicename/get
5.服务端通过控制台向/productkey/devicename/get 发布消息,payload为512B~2KB大小
6.模组pub /productkey/devicename/update,payload为512B大小
预期结果:
1.步骤5,模组收到服务端下发的消息,payload与从服务端下发的消息完全一致
2.步骤6,服务端收到模组上报的消息,payload与从设备端上报的消息完全一致
备注:
用例编号:WL-AT-MQTT-117
用例名称:反复建立连接
测试目的:验证模组反复建立连接不出现异常
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数,其中clean session为0
4.AT+IMQTTCONN
5.AT+IMQTTDISCONN
6.不断重复步骤4、5,重复100次,每秒循环一次
预期结果:
1.步骤5,100次不断建立连接时,设备不会出现死机、重启等异常,且无连接失败的情况
备注:
用例编号:WL-AT-MQTT-118
用例名称:反复认证、连接
测试目的:验证模组反复认证、连接不出现异常
测试步骤:
1.模组处于开放环境,模组上电
2.通过串口工具发送指令AT+IMQTTMODE=1(如不支持TLS,则此处为默认值)
3.配置认证、连接参数、建立连接
4.不断重复步骤3,重复100次,每秒循环一次
预期结果:
1.步骤4,100次不断建立连接时,设备不会出现死机、重启等异常,且无认证、连接失败的情况
备注:
用例编号:WL-AT-CoAP-201
用例名称:ICOAPARA指令
测试目的:验证模组ICOAPARA指令
测试步骤:
1.模组处于开放环境,模组上电
2.分别通过串口输入如下内容:
AT+ICOAPARA=“TIMEOUT”,1
3.串口输入如下:
AT+ICOAPARA=“TIMEOUT”,10
4.串口输入如下:
AT+ICOAPARA=“TIMEOUT”
5.串口输入如下:
AT+ICOAPARA=“ABC”,1
预期结果:
1.步骤2,设置成功,读取到timeout为1
2.步骤3,设置失败
3.步骤4,设置失败
4.步骤5,设置失败
备注:
用例编号:WL-AT-CoAP-202
用例名称:ICOAPAUTH指令测试
测试目的:验证模组ICOAPAUTH指令
测试步骤:
1.模组处于开放环境,模组上电
2.分别通过串口输入如下内容
AT+ICOAPAUTH=“productkey”,“devicename”,“devicesecret”
AT+ICOAPAUTH?
3.串口输入如下:
AT+ICOAPAUTH=“abc”,“def”,“xyz”
AT+ICOAPAUTH?
4.串口输入如下:
AT+ICOAPAUTH= “productkey”,“devicename”
AT+ICOAPAUTH?
5.串口输入如下:
AT+ICOAPAUTH=“productkey”
AT+ICOAPAUTH?
6.串口输入如下:
AT+ICOAPAUTH=“productkey”,“devicename”,“devicesecret”,“abc”
AT+IMQTTAUTH?
预期结果:
1.步骤2,执行成功,认证成功;读取到的key为productkey
2.步骤3,执行成功,认证失败;读取到的key为abc
3.步骤4,设置失败,读取到的key为abc
4.步骤5,设置失败,读取到的key为abc
5.步骤6,设置失败,读取到的key为abc
备注:
用例编号:WL-AT-CoAP-203
用例名称ICOAPSENDREQ 指令测试
测试目的:验证模组 ICOAPSENDREQ 指令
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入ICOAPAUTH相应参数
3.通过串口输入
AT+ICOAPSENDREQ=2,“/${productKey}.iot-as-coap.cn-shanghai.aliyuncs.com:5684/topic/${productkey}/${devicename}/update”,“hello world”
4.串口输入
AT+ICOAPSENDREQ=2,“abc”,“hello world”
5.串口输入
AT+ICOAPSENDREQ=2,“abc”
预期结果:
1.步骤3,返回成功
2.步骤4,返回执行失败
3.步骤5,返回执行失败
备注:
用例编号:WL-AT-CoAP-204
用例名称:大数据包支持
测试目的:验证模组支持大数据包
测试步骤:
1.模组处于开放环境,模组上电
2.模组已通过AT输入ICOAPAUTH相应参数
3.串口输入:
AT+ICOAPSENDREQ=2,“/${productKey}.iot-as-coap.cn-shanghai.aliyuncs.com:5684/topic/${productkey}/${devicename}/update”,“$payload”(其中payload为256B大小)
预期结果:
1.步骤5,模组收到服务端下发的消息,payload与从服务端下发的消息完全一致
2.步骤6,服务端收到模组上报的消息,payload与从设备端上报的消息完全一致
备注:
用例编号:WL-AT-CoAP-205
用例名称:反复认证、数据通信
测试目的:验证模组反复认证、数据通信不出现异常
测试步骤:
1.模组处于开放环境,模组上电
2.串口输入:
AT+ICOAPAUTH=“productkey”,“devicename”,“devicesecret”
3.串口输入:
AT+ICOAPSENDREQ=2,”/${productKey}.iot-as-coap.cn-shanghai.aliyuncs.com:5684/topic/${productkey}/${devicename}/update”,“hello world”
4.不断重复步骤2,重复100次,每秒循环一次
预期结果:
1.步骤4,100次不断建立连接时,设备不会出现死机、重启等异常,且无认证、连接失败的情况
备注: