需求工程系列(七)- 如何编写用例的前置条件

在最近的咨询过程中,经常遇到客户提出这样的问题:应该为用例编写什么样的前置条件呢?Wikipedia里面是这样定义的:

A preconditions section defines all the conditions that must be true (i.e., describes the state of the system) for the trigger (see below) to meaningfully cause the initiation of the use case.

但是,这样的定义并不能解决我们的困扰,因为好像可以写的前置条件有很多,比如对于《柜面取款》这样的用例而言,用不用写象《系统正常运行》这样的前置条件呢?或者是《地球还存在》?用不用写《用户有一张ATM卡》这样的前置条件呢?

 

为了回答这个问题,首先要想清楚编写前置条件的目的,弄清楚它在整个软件开发过程中所起的作用,然后看一个前置条件是否达到了某一种目的。到目前为止,我总结出了两条写前置条件的目的,也可能在未来会想到更多吧:

1.可以让用例的读者更清楚系统所处的状态,有利于读者对用例的理解;比如对于《柜面取款》这样的用例而言,可能需要说明柜员已经验证登陆过了,所以可以把《柜员已经验证登陆》作为一个前置条件;

2.可以让用例的作者不必将一些实现相关的错误处理细节写入用例当中,而是以前置条件的形式将它们记录在用例当中,未来测试人员可以编写前置条件不满足时的测试用例。如对于《柜面取款》这样的用例而言,可以将《柜面系统与后台主机通讯畅通》作为前置条件。

你可能感兴趣的:(用例)