今年端午节,在2019全球软件大会(NJSD)上做了本分享,系统地阐述了工业App质量诉求和测试策略。
工业App不同于移动应用App,其特点体现在:
- 工业技术软件化:工业技术中的经验与知识的显性化、模型化、数字化、系统化和智能化的过程
- 知识自动化:不仅包含传统的规则、推理和显性表达式,而且包含对隐含知识、模式识别、群体经验等模型化、软件化。
(从上图左边可以更清楚了解工业App的构成)
(知识自动化在未来十大技术趋势中排在第二位)
工业App让我们进入工业4.0——智能时代,未来世界因此会发生重大变化,绝不能小看,因为我们知道:
- 工业1.0时代 – 机器制造时代,十八世纪70年代,以蒸汽机诞生为标志,由此产生工业,社会以农耕为主的封建社会过渡到资本主义;
- 工业2.0时代 – 电气化与自动化时代,十九世纪化学工业、石油工业等发展,彻底改变人类的能源结构,汽车也开始出现。
- 工业3.0时代 – 电子信息化时代,二十世纪,以计算机应用于工业,包括可编程逻辑控制器、计算机控制系统等,从而生产自动化水平大大提高,生产效率显著提升,物质极大丰富。
了解工业App质量要求,还是从两个质量模型(产品质量模型、使用质量模型)出发,只是更关注用黄颜色所标注的质量属性。
概括起来,工业App质量新诉求主要有:
- 行业标准 ,如MQTT、OPC UA、ModBus-TCP等标准工业协议
- 实时性:时间敏感或实时同步、实时采集数据
- 兼容性,如各种通讯协议、数据采集方式等
- 高可靠性,涉及人身安全等
- 性能:大数据处理能力、物联网
- 全流程质量检验与跟踪、回溯
- 协同感知、可扩展性、分布性等
其中:
- MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)
- Modbus是开放的主站/从站应用协议,应用层消息协议;
- Modbus-TCP就是Modbus协议使用于以太网-TCP/IP顶层,是开放的工业以太网网络
- OPC (OLE process control) UA: 独立于平台、面向服务的架构规范,安全模型、地址空间模型服务模型、信息模型、映射模型、配置文件、数据访问等
工业App测试遇到的挑战
- 工业领域知识
- 异构互联互通,测试环境复杂性
- 硬件关联性强,甚至无法操作,需要仿真实验
- 实时性:时间敏感性或实时同步
- 兼容性与性能:数据、物联网、协议接口
- 网络安全策略的测试、配置组合测试
- 可伸缩性、协同、智能特性等的验证
其中时间敏感性是工业App最突出的特点:
- Time Sensitive Network(TSN)是一项从视频音频数据领域延伸到汽车领域,并进一步推广至工业领域的通讯技术
- TSN 的核心任务:解决时钟同步(基于 IEEE1588 的时钟,并制定新的标准 IEEE802.1AS-Rev )、数据调度(实现高带宽与低延时)与系统配置( IEEE802.1Qcc )三个问题
针对TSN测试策略:
工业App测试环境和过去应用的测试环境差别也比较大:
工业App的可靠性测试则是重头戏:
主要测试策略有:
- 逐层分解
- Mock技术
- 业务流程图建模
- 状态图建模
- 形式化方法
- 仿真测试
详见后面演讲材料。
获取演讲材料很简单,关注本公众号: 软件质量报道,输入“工业App”
(不止本演讲PPT,而是一大批,价值连城)
但改善工业App的质量,测试驱动设计(TDD)、领域建模是更彻底的方法(策略)。最后,总结如下:
- 业务驱动测试,需求澄清依旧很重要
- 领域驱动设计、测试融入设计
- 优先关注TSN、安全性和可靠性
- 基于API的仿真测试、契约驱动的测试
- MBT+AI 高度智能的自动化测试
- 高度的可视化、集成化的过程监控