# LoRa核心网测试
author: 游仙
createTime: 2022-02-16
# LoRaWAN协议
根据目前应用节点(采集器、传感器等)协议版本及测试要求熟悉对应版本的协议。
LoRaWAN主要包含2份协议。
- LoRaWAN协议规范,协议内容主要包括Classes类型,PHY帧和MAC帧格式,MAC指令,终端激活等
LoRaWAN协议规范如下:(按时间排序)
- LoRaWAN区域参数,协议内容主要包含各个区域的频段,通道频点,DataRate,TXPower,最大帧载荷,接收窗口,默认配置(如rx1和rx2接收窗口延时,最大fcnt间隔等)
LoRaWAN区域参数协议如下:(按时间排序)
- LoRaWAN1.0.2协议规范配套文件
- LoRaWAN1.0.2协议规范配套文件
- LoRaWAN1.1协议规范配套文件
rp_1.0.3reva (opens new window)
- LoRaWAN 1.0.3协议规范配套文件
- LoRaWAN所有协议规范配套文件
- LoRaWAN所有协议规范配套文件
- LoRaWAN所有协议规范配套文件
- LoRaWAN所有协议规范配套文件
# 服务架构
# 功能测试
# 编写测试用例
# bridge
主要测试点:
服务启动检查:配置文件、服务版本号是否正确
与gwmgr通信:验证gw_stats网关状态包、heart心跳包、gwmgr_rx上行、gwmgr_tx下行、gwmgr_req网关列表请求、gwmgr_resp网关列表响应是否正常
与ns通信:验证gw_rx上行、gw_tx下行是否正常
过滤器:验证NetID、JoinEUI、NetID+JoinEUI、网关过滤是否正常
udp透传:验证网关配置和网关升级是否正常
bridge配置项:日志配置
异常处理:kafka服务异常,bridge异常重启,通信是否正常
# ns
根据LoRaWAN标准协议、LoRaWAN区域参数协议以及其他测试要求编写测试用例。
1.0.2协议版本、CN470-510频段主要测试点:
服务启动检查:配置文件、服务版本号、数据库建表是否正确
join:不同的SF、频点、带宽组合是否join成功
uplink:不同的Fport、SF、频点、带宽组合是否发送成功,确认帧、非确认帧处理是否正常,不同的SF对于不同的帧长度限制是否正确,fcnt计数是否正常,异常发送时是否能正常处理(相同的确认帧,相同的非确认帧,丢包数大于最大fcnt间隔)
downlink:不同的Fport是否发送成功,确认帧、非确认帧处理是否正常,不同的SF对于不同的帧长度限制是否正确,fcnt计数是否正常
接收窗口:rx1和rx2窗口的freq、dr是否正确
mac指令:主要验证LinkCheck、LinkADR、TxParamSetup、RXTimingSetup等指令是否能正常处理
内部新增功能:自动ADR策略、下行网关选择策略、谐波处理策略等
ns配置项:修改ns配置文件中的配置项,验证服务是否正确处理,例如日志配置等
异常处理:kafka、redis服务异常,ns多实例部署时单个实例异常时,服务处理是否正常
# 节点管理模块接口
根据rap2 LW-P007-核心网系统 节点管理模块编写测试用例
主要4个接口:创建设备、查找设备、删除设备、批量创建设备
主要测试点:
接口连通性测试:按照完整报文格式,调用接口,返回报文与规范一致且对应数据库及redis数据改变
报文结构及参数类型测试:报文结构缺失调用接口,确认接口是否按照规范提示缺少必填节点、不校验非必填节点
枚举值及边界值测试:报文节点取值验证枚举、边界值后调用接口,确认接口是否按照规范提示节点不正确
异常情况测试:完整报文,验证重复提交接口是否出现异常
# 部署测试环境
- k8s自动部署
# 测试执行
# 测试辅助工具
1. 测试节点
(1) AT指令
(2)使用方法
windows电脑下载sscom工具
使用usb线连接节点与电脑
sscom工具中选择连接的串口,打开串口
在扩展中输入at指令,at+xxx,点击发送
常用at指令如下
at+id=deveui,"xxxxxxxxxxxxxxxx" 设置deveui
at+id=appeui,"xxxxxxxxxxxxxxxx" 设置appeui
at+key=appkey,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 设置appkey
at+class=a 设置class类型
at+join join请求
at+ch 查询channel频点和dr
at+ch=0,470.3,DR0,DR5 设置channel频点和dr
at+dr 查询dr
at+dr=dr0 设置dr
AT+RXWIN1 查询rx1接收窗口channel和频点
AT+RXWIN2 查询rx1接收窗口频点和dr
at+cmsghex=xxxxx 发送确认帧
at+msghex=xxxxx 发送非确认帧
2. 测试网关
使用方法
网关录入系统
网关接网线或物联网卡,上电
配置网关的服务ip和端口(bridge服务的ip地址和端口)
配置网关的频点(与测试节点一致)
# 通信链路验证
测试节点录入系统(确保测试节点已在其他环境删除)
测试网关录入系统(确保网关已在线)
节点入网验证
(1)通过at指令设置导入测试节点的deveui、appeui、appkey、class
(2)通过at指令发送join请求
(3)通过at指令发送上行帧
(4)通过系统页面发送下行非确认帧
- 在系统页面查看join、上下行数据
# bridge、ns、节点管理接口测试
根据测试用例执行
在禅道提交bug
测试通过后编写测试报告
# 性能测试
# 编写测试方案
测试目标:终端接入量,每秒处理能力
测试设备:虚拟终端
系统模快:数据库、消息中间件、服务、辅助测试工具
硬件环境:服务器硬件配置、操作系统
服务架构:终端节点<---->网关<--->bridge<--->ns
测试方案:明确终端接入量、发包类型、发包频率、数据包长度、测试时长
# 部署测试环境
- 多服务器NS多实例部署
# 测试执行
# 测试辅助工具
LoRa虚拟节点
使用方法
./ltt --help
# 通信链路验证
同功能测试
# 性能测试
根据测试方案执行
性能调优
在禅道提交bug
测试通过后编写测试报告