测试场景设计
又叫做场景法。其实对于场景法是测试用例中面临最多的,但是这种模式不是很容易总结,有时候是基于经验,有时候是我们对系统的了解。所以在这种情况下,我们强硬的用场景法对其进行规范。
场景法原理
- 现在的软件几乎都是用时间触发来控制流程的。事件触发时的情景形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流
- 这种在软件设计方面的思想可以引入到软件测试中,可以生动的描述出时间触发时的情景,有利于测试用例设计,同时使测试用例更容易理解和执行
场景法基础设计
- 经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径
- 备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3)如基本流就是注册的过程。备选流1:邮箱未注册,跳转到邮箱注册界面,加入了一个注册的流程。而备选流3是提示用户忘记密码,将密码重置后返回,又进行了一次重复的登录。备选流2和备选流4,比如用户不想注册了就直接关闭了,这个时候就结束用例。没有在回到基本流上。当然也有用户密码一直错误,他就不登录了,类似于4
- 也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)
- 每个经过用例的可能路径,可以确定不同的用例场景
- 从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景
- 基本流
- 基本流 备选流1
- 基本流 备选流1 备选流2
- 基本流 备选流3
- 基本流 备选流3 备选流1
- 基本流 备选流3 备选流1 备选流2
- 基本流 备选流4
- 基本流 备选流3 备选流4
这有点类似于小游戏一笔画,只要我能够一笔画下来的,所有的线路都是我们可选的
场景法设计步骤
- 根据说明,描绘出程序的基本流及各项备选流
- 根据基本流和各项备选流生成不同的场景
- 对每一个场景生成相应的测试用例
- 対生成的所有测试用例重新复审,去掉多于的测试用例。测试用例确定后,对每一个测试用例确定测试数据值
场景法设计例子
- 以淘宝网为例,我们都在淘宝上买过东西,整个购买过程为
- 用户登录到网站后,进行商品的选举,当选好自己心仪的商品后进行购买,这时把所需商品放进购物车,等进行结账的时候,用户需要登录自己注册的账号,登录成功后,进行结账并生成订单,整个购物过程结束
- 通过以上描述,确定哪些是基本流,那些是备选流
基本流 | 用户登录到网站,商品的选择,把所需商品放进购物车,,等进行结账的时候,登录自己的账号,登陆成功后,生成订单 |
---|---|
备选流1 | 账号不存在 |
备选流2 | 账号错误 |
备选流3 | 密码错误 |
备选流4 | 无选购商品 |
备选流x | 退出系统 |
- 根据基本流合备选流来确定场景
场景1-购物成功 | 基本流 | |
---|---|---|
场景2-账号不存在 | 基本流 | 备选流1 |
场景3-账号错误 | 基本流 | 备选流2 |
场景4-密码错误 | 基本流 | 备选流3 |
场景5-无选购商品 | 基本流 | 备选流4 |
场景法是最基本的模式,所以我们一定要了解场景法。其实场景法在这样讲述的过程中就能迅速学会的,需要大家实际操作。ok,那么讲到这里,测试用例设计方法基本完整,为大家介绍了一共六种设计方法。在我们真实运用到项目中,我们需要根据这六种方法来决定应该有哪些测试用例,需要综合起来。
当然,这是我们还不太熟练的时候,当大家运用熟练,融汇贯通的时候,可能就不在居于这些方法。在武侠里,这就是人剑合一的模式。最终设计一个完整的测试用例。