物联网的物联网产出现,给测试带来了很多有意思的品测挑战,使得众多QA开始重新思考传统的试框测试过程。 例如,架物我最近测试了一个产品,联网在这个产品中的测试移动APP会跟连接的机器产生会话。这两个设备各种各样的地图状态给测试场景的设计带来了特别大的挑战。下面给大家介绍一个很有用的物联网产物联网产品测试框架——物联网测试地图,它可以帮助我们管理物联网设备多种排列的品测复杂状态。 物联网测试因素 当我们测试简单的试框web应用时,通常要考虑的架物状态有: 测试任何互联网应用的时候,需要警惕这四种状态。联网对于移动应用,测试操作的地图是移动环境,需要关注额外的物联网产几种情况: 我们再看“连接的机器”所带来的状态多样性,通常还有: 这意味着即使只有上述给定的亿华云状态集,整个系统在任何时间点上可能会有96(4x6x4)种状态。 由于系统中状态转换会引入附加的约束,这些状态都不能当做独立的实体。例如,状态从“离线”变成“在线”很可能触发一系列的事件。 上述因素还仅仅是冰山一角。随着对规范的深入了解,把不同的状态跟逻辑场景结合起来将会更加的复杂。 对于静态系统的可变数据集,已有的web测试技术可以很好的用来抽取测试场景,比如all pairs(开源的配对测试工具)、等价类划分、边界值分析法等。这些技术通过淘汰的逻辑来优化测试数据集。 例如,all pairs技术会淘汰重复的数据配对组合。但是,对系统的站群服务器可变状态设计测试场景时,这些技术是不可靠的,废弃的系统状态会使得系统通讯不畅。当然,这些技术对于物联网系统中的单个单元还是很适用的。 因此,非常有必要搞一个物联网测试地图。 可视化地图 大家肯定都在地理课上看过地图。但我这里所说的地图是针对测试场景的,它列出所有潜在的系统因素,在测试某个特性时可以从中抽取必要的测试场景。 产品的每个系统的n种状态在同一个可转动的圆环中列出,逻辑上相邻的状态在环中相互挨着。非功能需求(NFR)在测试复杂集成的时候很容易被忽略掉,于是把它们在一个环中单独列出。 下图就是云服务器提供商我所说的物联网测试地图: 下面以一个例子介绍地图的使用场景,该例子仅涉及移动设备和机器交互部分,需要关注的环是设备、机器和网络。 把移动设备和机器固定在WiFi连接的状态,转动网络环,可以得到下面这些场景: 继续保持移动设备的WiFi为连接状态,转动机器环: 切换机器环为WiFi连接,转动移动设备环: 就这样,多次旋转地图可以扩展产生多个场景。尽管有些场景可能不适合当前的特性,有些甚至跟业务需求无关,这个测试地图还是非常详尽的。 在实践层面,对于有多个QA在测试同一个物联网产品的团队,地图可以作为大家共同参考的手册。这个地图把工具、设备、场景和协议的排列以易于理解的方式呈现出来,覆盖了测试场景设计这个独特的需求,是一种非常高效的合作方式。 【本文是专栏作者“ThoughtWorks”的原创稿件,微信公众号:思特沃克,转载请联系原作者】 戳这里,看该作者更多好文