一、什么是交互关联分析
在工作中经常会被分配一个单独功能的测试工作,或者一些不同的功能在不同的时间点交付给测试,这时很可能会遗漏一些测试场景,即多个有关联的单功能之间的交互测试。即需要考虑其他功能A的执行对当前待测试的功能B会产生什么影响。
二、最佳实践
现以云管平台中新增的admin分享私有镜像功能为例,简述交互场景分析方法。
用户场景:有一些镜像amdin管理员只希望部分租户可见,此时admin可以将镜像上传为admin的私有镜像,然后分享给指定租户使用。
无分享镜像功能时 | 新增分享镜像功能后 |
---|---|
对于私有镜像而言,租户间是互不可见的,也就是租户无法使用admin的私有镜像创建云主机 | Admin将私有镜像分享给指定租户后,指定的租户可以使用admin的私有镜像创建云主机 |
针对这一个功能点进行测试分析,首先根据镜像的属性很容易考虑到以下限制条件:
私有镜像已下发的资源池与租户已关联的资源池必须存在交集(否则会因为资源池不一致创建云主机失败)。
对于基本功能场景进行测试设计,我们很容易得到类似如下测试点:
1、私有镜像已下发的资源池与租户已关联的资源池存在交集,可分享成功
2、私有镜像已下发的资源池与租户已关联的资源池无交集,应不能分享
……
上述测试点是可以很容易得到的,那么如何考虑交互关联场景,进行测试点补充呢?
为了直观展示,将上述测试点,用如下图表示,只有镜像、租户关联有相同的资源池时,它们之间才能建立联系,才可以建立分享关系。
很显然,与分享镜像有关联的功能为:
1、镜像变更资源池
2、租户变更资源池
此时,便可补充如下测试点:
1、分享镜像成功后,镜像移除资源池B,分享关系应自动删除
2、分享镜像成功后,租户移除资源池B,分享关系应自动删除
(备注:如果不自动清除分享记录,用户就会仍然可见该镜像,但使用的时候必定会失败)
当然,分享镜像的交互关联点远不止这些,这里仅仅是以资源池为发散点进行阐述,希望给读者以启发。
三、总结
在考虑关联交互测试点时,可以先把被测试对象的属性罗列出来,然后逐个分析哪些属性的变更会对待测功能产生影响。还是以上述将私有镜像分析给租户为例。例如:
镜像的属性有:名称、状态、类型、资源池 等等;
租户的属性有:名称、状态、资源池、配额 等等;
对上述属性逐一分析,看哪些属性对分享镜像存在影响,对于可能存在影响的属性,还要考虑交互操作的执行时间点,比如存在操作A、操作B,那么需要考虑如下:
1、在执行操作A后,再执行操作B
2、在执行操作A的过程中,执行操作B
3、在执行操作A之前,执行操作B
……
以上为个人思路总结,仅供参考,如有不足之处,希望能不吝指出,大家共同进步。