物联网应用测试实验报告


### 一、实验目的
本次实验旨在对自主研发的物联网应用系统(以下简称“系统”)进行全面测试,验证其**功能完整性**、**性能稳定性**、**兼容性**及**安全性**,发现潜在缺陷并优化,确保系统上线后能稳定、高效地支持物联网设备的连接、数据采集与远程控制,满足用户对智能家居/工业监控等场景的需求。

### 二、实验环境
#### 1. 硬件环境
– 物联网终端设备:温湿度传感器(DHT11)、智能开关、工业级网关(支持MQTT/CoAP协议)、边缘服务器(配置:CPU i5-12400、内存16GB、存储512GB SSD)。
– 测试终端:智能手机(Android 12、iOS 16)、PC(Windows 11、Ubuntu 22.04)。

#### 2. 软件环境
– 物联网平台:自研云平台(基于Kubernetes部署,支持设备管理、数据存储与分析)。
– 测试工具:Postman(接口测试)、JMeter(性能测试)、Appium(移动应用兼容性测试)、Nessus(漏洞扫描)。
– 开发环境:Python 3.9(用于传感器数据模拟)、Node.js(后端服务开发)、MySQL 8.0(数据存储)。

#### 3. 网络环境
– 局域网测试:通过WiFi(带宽100Mbps)模拟家庭/车间网络;
– 广域网测试:借助阿里云服务器搭建公网环境,模拟远程设备接入。

### 三、实验内容与步骤
#### 1. 功能测试
**测试目标**:验证系统核心功能(设备管理、数据采集、远程控制、告警通知)是否符合需求设计。

– **设备连接测试**:
步骤1:将温湿度传感器、智能开关通过串口/蓝牙接入网关,配置设备ID、通信协议(MQTT)。
步骤2:在物联网平台添加设备,输入网关IP、设备认证信息(密钥),启动“设备连接”功能。
步骤3:观察平台“设备列表”,验证设备是否在线(状态显示为“已连接”)。

– **数据采集测试**:
步骤1:模拟传感器数据上报(通过Python脚本向网关发送温湿度数据,频率:1次/10秒)。
步骤2:在平台“数据看板”查看实时数据曲线,检查数据精度(误差≤±2%)、更新频率是否符合设计(10秒/次)。

– **远程控制测试**:
步骤1:在平台“设备控制”模块,向智能开关下发“开/关”指令。
步骤2:观察物理开关状态(或通过串口工具读取设备反馈),验证指令执行成功率(要求≥99%)。

– **告警功能测试**:
步骤1:设置温湿度阈值(如温度>30℃、湿度>80%),模拟传感器数据超过阈值。
步骤2:检查平台“告警中心”是否生成告警(类型、时间、设备ID正确),并触发邮件/APP推送通知。

#### 2. 性能测试
**测试目标**:评估系统在高并发、大数据量下的响应能力与稳定性。

– **并发连接测试**:
步骤1:使用JMeter模拟1000台设备同时向网关发起MQTT连接请求(QoS=1)。
步骤2:统计“连接成功数”“连接耗时”,要求成功率≥99.5%,平均连接耗时≤500ms。

– **数据吞吐量测试**:
步骤1:通过Python脚本模拟100台设备以10条/秒的频率上报数据(每条数据100字节)。
步骤2:监控边缘服务器CPU、内存使用率,平台数据接收成功率(要求≥99%),服务器负载≤80%。

– **响应时间测试**:
步骤1:向平台发送“设备状态查询”“控制指令下发”等API请求(并发数100)。
步骤2:统计平均响应时间,要求≤300ms(设备状态查询)、≤500ms(控制指令)。

#### 3. 兼容性测试
**测试目标**:验证系统在不同终端、浏览器、操作系统下的兼容性。

– **设备兼容性**:
步骤1:在Android(Android 10/12/13)、iOS(iOS 14/15/16)设备安装APP,测试设备管理、数据查看、控制功能。
步骤2:在Windows(10/11)、Ubuntu(20.04/22.04)系统通过浏览器(Chrome、Firefox、Edge)访问Web端,测试功能完整性。

– **协议兼容性**:
步骤1:将支持CoAP协议的传感器接入网关,配置平台支持CoAP协议解析。
步骤2:验证数据采集、控制指令下发功能是否正常,要求与MQTT设备表现一致。

#### 4. 安全性测试
**测试目标**:检测系统在数据传输、设备认证、权限管理等方面的安全漏洞。

– **数据加密测试**:
步骤1:抓包分析设备与网关、网关与平台之间的通信数据(使用Wireshark)。
步骤2:验证数据是否通过TLS/SSL加密(MQTT over TLS),敏感数据(如设备密钥)是否脱敏存储。

– **权限漏洞测试**:
步骤1:使用Postman构造未授权的API请求(如无token访问设备控制接口)。
步骤2:检查系统是否返回“401未授权”,并记录未授权访问的漏洞点。

– **漏洞扫描**:
步骤1:使用Nessus扫描物联网平台服务器、网关的开放端口与服务。
步骤2:修复高危漏洞(如弱密码、未授权访问、SQL注入),重新扫描验证。

### 四、实验结果
#### 1. 功能测试结果
– 设备连接:100台测试设备连接成功率100%,平均耗时320ms。
– 数据采集:精度误差≤±1.5%,更新频率稳定(10秒/次)。
– 远程控制:指令执行成功率99.8%(仅2次因网关网络波动失败)。
– 告警功能:阈值触发后,告警生成时间≤5秒,通知推送成功率100%。

#### 2. 性能测试结果
– 并发连接:1000台设备连接成功率99.6%(4台因网关资源限制失败),平均耗时480ms。
– 数据吞吐量:100台设备上报时,服务器负载75%,数据接收成功率99.2%(8条数据因网络丢包未接收)。
– 响应时间:设备状态查询平均280ms,控制指令下发平均450ms,均满足设计要求。

#### 3. 兼容性测试结果
– 设备兼容性:Android 10/12/13、iOS 14/15/16的APP功能正常;Windows、Ubuntu的Web端在Chrome、Firefox下无兼容性问题,Edge浏览器偶现“数据图表渲染卡顿”(已优化前端代码)。
– 协议兼容性:CoAP设备数据采集、控制功能与MQTT设备一致,协议转换成功率100%。

#### 4. 安全性测试结果
– 数据加密:通信数据均通过TLSv1.3加密,敏感数据存储采用AES-256加密,未发现明文传输。
– 权限漏洞:未授权API请求返回401,权限控制逻辑无漏洞;Nessus扫描发现“网关弱密码”漏洞(默认密码未修改),修复后重新扫描无高危漏洞。

### 五、问题与解决
1. **问题1**:1000台设备并发连接时,网关出现“连接超时”(4台失败)。
**解决**:优化网关连接池配置(增大最大连接数、调整超时时间),重新测试后成功率提升至99.9%。

2. **问题2**:Edge浏览器Web端图表渲染卡顿。
**解决**:优化前端ECharts配置(减少动画效果、分批次渲染数据),卡顿现象消失。

3. **问题3**:网关默认密码未修改,存在安全隐患。
**解决**:在设备出厂配置中强制要求修改默认密码,并在平台添加“密码强度检测”功能。

### 六、实验总结
本次实验全面验证了物联网应用系统的功能、性能、兼容性与安全性,**核心功能满足设计要求**,但在高并发连接、浏览器兼容性、安全配置等方面发现优化点。通过修复漏洞、优化配置,系统稳定性与安全性显著提升。

未来改进方向:
– 引入**自动化测试工具**(如Selenium、Robot Framework),提升回归测试效率;
– 扩展性能测试场景(如百万级设备连接、实时数据分析压力);
– 加强**边缘计算节点**的容错与自愈能力,应对硬件故障。

**附录**:测试用例文档、性能测试报告、漏洞修复记录(略)

本文由AI大模型(Doubao-Seed-1.6)结合行业知识与创新视角深度思考后创作。