【测试分析】基于状态的测试——实战

  最近一直在学习测试理论的一些东西,主要是以下内容:

    等价类划分、边界值
    测试业务流程 
    从用例到测试用例
    基于状态的测试
    决策表和决策树 
    初步比较 
    组合测试 
    数据周期测试 
    语法测试

  学习了这些建模方法后,决定在其中一个模块中进行应用一下。这里选择的是**项目:

  首先介绍一下此App的业务的吧:

  调研显示,几乎人人都有闲置物品,而超过一半的用户倾向于让闲置物品放在一边不作处理。导致这种局面的原因,是因为大部分用户没有闲余时间及精力再去倒卖闲置物品,而小部分用户则是不知道倒卖二手商品的渠道。闲贝推出二手交易APP,迎合了很多买家变“闲”为“现”的想法,也响应了社会低碳生活的号召。

  因此这款App就孕育而生。

  那么做为一个测试我们需要关注这个App的哪些内容呢?

  当然是它的买卖系统,可以说这是这款App的核心了。

初探

  使用过淘宝的用户应该都知道,在买卖的过程中,存在这很多状态转化,这些状态的转化相对于买家和卖家来说是不一样的,因此针对 “状态变化” 这样的情况,我选择了基于状态的测试的方法,而买家和卖家的异同,我决定将买家和卖家分开。因此首先我对买家和卖家生成了两个状态图。

  1、完成状态图

  卖家:

【测试分析】基于状态的测试——实战

  

  买家:

【测试分析】基于状态的测试——实战

  

  从图中不难看出,买家相对来说没有卖家那么复杂,因此这里就以买家为例。

  2、两两生成最简转化对:

  有了状态图之后,我们从状态V1开始,生成转化对,每一个转化对只关联两个状态,如下图所示:

  

【测试分析】基于状态的测试——实战

  当然我们也可以生成这样的表,生成如下这样的表到下一步会更方便一点:

【测试分析】基于状态的测试——实战

  3、生成转化对:

  根据上面的一一对应的转化表,我们可以生成转化对:

【测试分析】基于状态的测试——实战

  注意这里面转化对没有包含V1、v5、v7,因为V1是起始态,V5和V7是终止态,对于转化对来说,他们要求是有输入,并且有输出的,而起始和终止状态是不完全的,因此这里没有列入进来。

  4、生成最终的转化表

  生成的方法是从上面的表中的following开始,然后每个终点的字母可以看它是否还是其他following的起点,如果是那么就继续往下,直到把所有的following中的条件走完。这里举一个例子:

【测试分析】基于状态的测试——实战

  生成的 a->c->e->f ,我们可以去状态图中查阅,走的流程是如下的流程:

【测试分析】基于状态的测试——实战

  因此就可以得出:V1->V2->V3->V4->V5

  整理所有的线路,最终得出的转化表就是:

【测试分析】基于状态的测试——实战

  由于是首次学习,首次应用,因此难免会有些问题,我们在小组讨论的时候发现了一些可能被忽略的点:比如买家从V2(待付款)到V3(代收货)这个过程中,如果卖家关闭了订单,会发生什么呢?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzswx.html