最近一直在学习测试理论的一些东西,主要是以下内容:
等价类划分、边界值
测试业务流程
从用例到测试用例
基于状态的测试
决策表和决策树
初步比较
组合测试
数据周期测试
语法测试
学习了这些建模方法后,决定在其中一个模块中进行应用一下。这里选择的是**项目:
首先介绍一下此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(代收货)这个过程中,如果卖家关闭了订单,会发生什么呢?